Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.

«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o" mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck - это заклинания, поэзия только названия… под катом - примеры кода на самых вырвиглазных языках программирования.

Кроличья нора глубока.

INTERCAL (тьюринг-полный)



Don Woods и Jim Lyon

Один из старейших эзотерических языков программирования. Как утверждают создатели, его название означает «Язык программирования с непроизносимой аббревиатурой» (англ. Compiler Language With No Pronounceable Acronym). Язык был создан в 1972 году студентами Доном Вудсом (Don Woods) и Джеймсом М. Лайоном (James M. Lyon) как пародия на существующие языки программирования и гимнастика ума.

Hello, world

Каждой команде программы можно задать вероятность, с которой она будет выполняться при запуске программы. Кроме того, существуют команды, которые блокируют выполнение последующих команд определенного типа или изменения переменных.

Hello, world!

// «Hello World» by Stephen McGreal.
// Note that the views expressed in this source code do not necessarily coincide with those of the

Gr34t l33tN3$$?
M3h…
iT 41n"t s0 7rIckY.

L33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!!
I"M teh fr4GM4stEr aN I"lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE*** wItH y0uR h1dE!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$

L33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$…
s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y"r3 ju$t n0rMal lEE7 5pEEk but th3y"re 5ecRetLy c0dE!!!
n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!
50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4!!! hE i5 teh u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jUs7 s4y «H3LL0 W0RLD!!!» u ju5t cAn"T gu3s5.
tH3r3"s n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s whAt th1s 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

ArnoldC

Язык программирования терминатора.

Hello, world!

Главная » Что такое программный код, приложений, ошибки

Любого программного обеспечения или онлайн-сервисов, например, Word, для Windows, whatsapp или браузера, которые ежедневно работают сотни миллионов людей, так или иначе, включают специальные инструкции. Или специальный программный код, который понятен машине, рассказывает ему, что делать или не делать. Или как правильно реагировать на действия пользователя. Какой код программы будет рассмотрен в этой статье.Описание

Программа программный код-это текст выполняется на специальном языке, понятном машине. Она может быть выполнена непосредственно в тексте переводчика или передача в специальную форму компилятором.

Исходный код может состоять из нескольких файлов. Все они должны быть одинакового формата. Текст программы, содержащиеся в них, должны быть написаны на одном языке. Однако, там могут быть некоторые исключения. Например, в веб-разработке файла страницы может содержать несколько различных языков программирования и стандартов. В зависимости от сложности проекта, можно представить, таких языков и технологий как PHP, HTML и javascript, Java и других.

Сложных программных систем в сборе может потребоваться большое количество файлов, которые могут быть как целые сотни. Для совместной работы над такими крупными проектами, программисты очень часто используют системы контроля версий. Они позволяют одновременно работать с несколькими экземплярами исходный код, который на определенном этапе развития могут быть объединены в один общий.

Качество кода

Компьютер не способен понять, как ваш код написан для него, хорошо или плохо. Если он здоров и не содержит ошибок, машина будет в любом случае запустить его. Плохой код может усложнить задачи сопровождения программного обеспечения. Это особенно актуально для крупных проектов. Как правило, качественный код характеризуется несколькими параметрами:Читаемость кода. Одного взгляда на него должно быть достаточно, чтобы вообще понять, что реализуется фрагмент кода.Присутствие четкие и емкие комментарии. Этот параметр значительно влияет на удобочитаемость, простота отладки, тестирования, поддержки и устранения неполадок программного кода.Низкая сложность.Оптимизация кода. Организовать это так, что использовать программу меньше системных ресурсов, таких как память, процессорное время и дисковое пространство.Отсутствие мусора. То есть, не используемых переменных или блоки кода, которые никогда не доходит до программы управления.Вредоносного кода

Помимо полезных программ, которые могут навредить системе или даже оборудования. Как правило, такой код пишется людьми, которые заинтересованы в каких-либо преимуществ от текущего процесса. Например, программы, которые могут похищать личную информацию от пользователей компьютера. Они могут быть номер карты, паспортные данные или любую другую конфиденциальную информацию. Другие же могут просто влиять на систему, тем самым вызывая сбои и предотвращая полную функциональность. Рекомендации по написанию хорошего кода

Джефф Вогель — программист с большим опытом работы, поделился несколькими советами для того, чтобы научить начинающих правила хорошего кода.

В частности, он предлагает всегда комментировать свой код. Что такое обзор? Это четкое и краткое описание того, что происходит в этой строке кода или функции. Тот факт, что разработка конкретной программы может быть отложено на месяц или даже приостановили на некоторое время. Возвращаясь к работе над проектом пару месяцев, даже опытный программист будет трудно разобраться в программе. Но подробные комментарии смогут восстановить цепь событий и поведения.

Далее он рекомендует как можно чаще использовать глобальные переменные. Это происходит потому, что при изменении кода программы, необходимо скорректировать значение переменной только в одном месте. С использованием значения функции или процедуры сразу об этом узнают и будет работать с новыми данными.Имена переменных и выявления ошибок

Правильное название переменных также поможет значительно сократить время на изучение исходного кода программы, даже если код написан своими руками. То есть, хороший код-это текст, где переменные и функции имеют имена, можно понять, что они делают или хранят. При этом необходимо стараться не использовать длинные имена переменных.

Очень важно уделять большое внимание своевременному исправлению ошибок. Что такое программный код, который прекрасно выполнил? Этот код не имеет ошибки. То есть любая ветвь цикла или изменение переменной, или даже любых неожиданных действий пользователя, всегда приведет к ожидаемому результату. Это достигается путем тестирования программного продукта на нескольких случаев.

Обнаружения ошибок кода, а точнее, их прогноз возможен на этапе проектирования программы. Наличие в коде проверку различных условий и возможных исключений, поможет вести управление программой курса.

Оптимизация необходима для написания работоспособной программы, которые будут эффективно использовать компьютерные ресурсы и чтобы избежать ошибок выполнения кода программы. Какова оптимальная программа? Это продукт, который может выполнять все заявленные функции, ведет себя в этом «тихом» и экономичный.

Почти всегда оптимизация для стабильной работы программы может быть достигнута лишь путем проведения нескольких тестов на разных платформах и в разных условиях. Если программа начинает вести себя непредсказуемо, нужно определить, чем она вызвана и устранить или захватить процесс.Заключение

Что такое код? Простыми словами, это набор инструкций и понятий для компьютера. Он содержит текст, который компилятор или интерпретатор может превратить в понятный машине язык. То есть, по сути, кодекс является посредником между человеком и компьютером, что упрощает их отношения.

Исходные коды программ и игр

Исходники Лучшая книга программиста — рабочий исходный код. Раздел включает исходные коды самого разнообразного направления: исходники игр, сетевых программ и небольшие исходные коды для ознакомления. Исходники сайта написаны на языках программирования C++ и C#. Чтобы сделать небольшой, но алгоритмически важный шаг в разработке приложения, необходимо просмотреть очень много специализированной литературы, протестировать множество вариантов программных кодов. В таких случаях очень помогает рабочий исходник с готовым решением. Чаще всего нет необходимости полностью разбирать коды программ, достаточно выбрать только необходимые строки. Исходники настоящего сайта дополняют коллекцию исходных кодов размещенных на сайтах программисткой тематики. К каждой важной строчке кода прилагаются подробные комментарии.

Программы Раздел включает прикладные программы, помогающие в расчетах, инструменты для вебмастеров, полезные утилиты для пользователей компьютеров. Здесь же можно найти компьютерные мини игры, головоломки, карточные игры и другие. Большинство программ и игр сайта имеют исходники в разделе исходных кодов. После небольших доработок исходники можно применять в различных собственных проектах. Исходники подробно комментируются на страницах сайта или в самих файлах исходников.

Статьи Подбор статей о программировании — рассуждения профессиональных и начинающих программистов о программировании, языках программирования и о выборе инструментов программирования. Рассказывается о возникновении науки программирования, о создании языков программирования, их различиях. В статьях можно найти интересные рассуждения студентов технических вузов и начинающих программистов.

Лицензионное программное обеспечение Занимаясь разработкой программ или увлекаясь программированием невозможно обойтись без специализированного программного обеспечения. На некотором уровне программистского стажа определяется свое специализированное направление, свой джентльменский набор программного обеспечения. Используя для своих разработок взломанные, пиратские программы рано или поздно осознаешь, что без лицензионного софта, гарантирующего безотказную полноценную функциональность и комфортность программирования, невозможно обойтись. В настоящее время для частных разработчиков и небольших программирующих организаций предлагается много профессионального программного обеспечения по приемлемым ценам. В данном разделе предлагается множество полезных программ. Ассортимент предложения лицензионного программного обеспечения включает огромное количество софта для разработчиков прикладных программ, сетевых программ, веб-программистов, графические программы для художников-дизайнеров и множество других. Раздел также содержит программы, созданные чтобы обеспечить безопасность вашей работы на персональной вычислительной технике: антивирусы, брандмауэры, фаерволы, сетевые экраны.

Книги Теоретическая подготовка должна обязательно сочетаться с практической работой и даже опережать ее. Занимаясь только одной практикой программирования, рано или поздно осознаешь, как низок потолок своих знаний. Именно здесь помогают книги от авторов с большим стажем программирования, от авторов которые из разряда обычных программистов перешли в разряд настоящих мастеров, просто и доступно объясняющих сложные алгоритмы программирования. Причем книгу на бумаге полноценно не может заменить электронная книга.

Понятие программного кода

Качество усвоения информации читаемой на бумаге гораздо выше, чем если ту же книгу читать на дисплее компьютера. Раздел включает большое количество книг полезных в компьютерном хозяйстве. Предлагаются самые последние издания с интересным и актуальным содержанием. Здесь вы можете найти литературу по программированию, интернет-программированию, созданию и обслуживанию компьютерных сетей, книги о создании и обработке компьютерного звука и музыки, оцифровке видео и созданию домашнего кино. Книги помогут вам обучиться и компьютерной графике.

Исходный код (обычно просто текст программы , англ. source code ) — любой набор инструкций или объявлений, написанных в компьютерном языке программирования и в форме, которую может прочитать человек. Исходный код позволяет программисту общаться с компьютером с помощью ограниченного набора инструкций.

Исходный код, написанный на HTML, с использованием JavaScript

Исходный код, представляющий собой программу, как правило, содержится в одном или более текстовых файлах, иногда сохраняется в базах данных, как хранимые процедуры, а также может появиться, как фрагменты кода, напечатанные в книгах или других средствах печати. Большая коллекция файлов исходноко кода может быть организована в дерево каталогов, и, в этом случае, оно может быть также известно как дерево исходных кодов (англ. source tree ) или дерево кода дерево исходного кода и т.д.

Исходный код программы — это набор файлов, необходимых для преобразования из формы, доступной для чтения человеку, на некоторые виды компьютерного исполняемого кода.

12.3.2. Пример программного кода

Возможны два направления выполнения кода: транслируется в машинный код с помощью компилятора, предназначенного для определенной компьютерной архитектуры , или выполняется непосредственно по тексту с помощью интерпретатора.

Цели

Исходный код в основном используется в качестве входных данных для процесса, который производит исполняемые программы (то есть, его компилируют или интерпретируют). Его также используют в качестве средства передачи алгоритмов между людьми (например, фрагменты кода в книжках). Портирование программы на другие компьютерные платформы без сырцового кода, как правило, является достаточно сложным. Хотя возможны варианты портирование и без исходных кодов, напр., двоичная трансляция илиэмуляция оригинальной платформы.

Лицензирование

Программные средства, и исходный код, что их сопровождает, как правило, относятся к одной из двух парадигм лицензий: открытое программное обеспечение и несвободное программное обеспечение (или проприетарное). В целом, программное обеспечение является открытым , если исходный код может свободно использоваться, распространяться, модифицироваться и анализироваться, и проприетарным , если исходный код держится в секрете, или находится в частной собственности и доступ к нему ограничен. Для обеспечения закрытости используются преимущественно положения различных законов об авторском праве, но часто используются также коммерческая тайна и патенты. Кроме того, дистрибутив программы, как правило, приходит с лицензионным соглашением (EULA), которое, главным образом, запрещает декомпиляцию, реинжениринг, анализ, редактирование, или обход защиты от копирования. Виды защиты исходного кода (кроме традиционного компилирования в объектный код включают шифрование кода, запутывания кода (англ. code obfuscation ) или морфинг кода.

Качество

То, как написано программу, может иметь очень важные последствия для ее сопровождения. Многие учебники по стилю программирования настаивают на важности читабельности, и многие рекомендации направлены на поддержку исходного кода программы, которое включает в себя отладочную и обновления. Другие приоритеты, как например, скорость выполнения программы и возможности компилирования программы для нескольких архитектур, часто делают читабельность кода менее важным фактором, поскольку качество кода полностью зависит от его назначения.

Поскольку программирование уже десятки лет существует в промышленных масштабах, были разработаны соответствующие стандарт оформления кода. Некоторые стандарты оформлены официально, а некоторые являются негласными правилами. Например, Венгерская нотация регламентирует наименование идентификаторов в программе (часто это решается выпуском конвенции по именованию в масштабах предприятия), другие стандарты определяют правила расстановки элементов синтаксиса.

Исхо́дный код (также исхо́дный текст , либо просто исхо́дник , код , англ.Code ) - компьютерная программа в текстовом виде на каком-либо языке программирования. Исходный код либо транслируется в исполняемый код при помощи компилятора, предназначенного для определенной компьютерной архитектуры , либо исполняется непосредственно по тексту при помощи интерпретатора.

Назначение

Исходный код либо используется для получения объектного кода, либо выполняется интерпретатором. Изменения никогда не выполняются над объектным кодом, только над исходным, с последующим повторным преобразованием в объектный.

Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии. Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации.

Кроме того, исходный код имеет много других применений.

HTML Программный код

Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструмент общения между опытными программистами, благодаря своей (идеально) лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.

Программисты часто переносят исходный код из одного проекта в другой, что носит название повторного использования кода (Software reusability ).

Исходный код - важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО, портирование либо слишком сложно, либо вообще невозможно…

Организация

Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких файлов. Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на языке Си, с целью оптимизации, содержат вставки кода на языке ассемблера. Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии известной как линковка библиотек (library linking ).

Сложное программное обеспечение при сборке требует использования десятков, или даже сотен файлов с исходным кодом.

В таких случаях для упрощения сборки обычно используются файлы Makefile , содержащие описание зависимостей между файлами с исходным кодом и описывающие процесс сборки.

Для облегчения работы с исходным кодом, для совместной работы над кодом командой программистов, используются системы управления версиями.

Качество

В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то как написан код может сильно влиять на процесс сопровождения ПО. О качестве исходного кода можно говорить в контексте следующих параметров:

  • читаемость кода
  • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании
  • низкая сложность
  • низкое использование ресурсов - памяти, процессора, дискового пространства
  • отсутствие замечаний при компиляции программы

Не слишком волнуйтесь по поводу того, какой язык вам стоит выбрать для изучения. Многие начинающие программисты затрудняются выбрать язык, когда они только начинают изучать написание программных кодов. Непосредственно сам язык, который вы выберете, не имеет значения, когда речь заходит об изучении структур и логики построения информации. Эти навыки являются намного более важными, и их можно выучить с любым языком программирования.

  • Выбирая язык, сконцентрируйтесь на том, в каких целях вы хотите создавать программные коды, и уже потом выбирайте начальный язык. К примеру, если вы хотите заниматься разработкой веб-сайтов, то вам следует начать с изучения HTML, а затем дополнить его языками CSS, JavaScript и PHP. Если вы хотите создавать программы для компьютеров, то начните изучать C ++ или любой другой основной язык программирования.
  • Если вы станете профессиональным программистом, то вы быстро поймете, что вы никогда не будете использовать тот язык, который вы изначально выучили, для вашей работы. Вместо этого, вы будете все время продолжать учить новые языки через документацию и эксперименты.

Найдите бесплатные онлайн-ресурсы, посвященные вашему выбранному языку. Интернет - это сундук с сокровищами, который хранит в себе бесплатные пособия, курсы и видео, посвященные языку, который вы решили учить. Вы можете выучить основы почти любого вводного языка за день.

  • Вот только несколько популярных сайтов: Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools и многие другие.
  • На wikiHow тоже можно найти большое разнообразие начальных пособий для разных языков.
  • Вы можете найти обучающие видео практически для любого языка на YouTube.
  • Stack Exchange - это один из самых популярных форумов, на котором профессиональные программисты отвечают на любые вопросы пользователей.
  • Скачайте хороший текстовый редактор. Многие языки программирования позволяют использование внешних текстовых редакторов для написания программ. Найдите текстовый редактор, который будет отображать отступы и кодовую разметку.

    • Популярные программы включают Notepad++ (Windows), TextWrangler (OS X) и JEdit (любая система).
  • Скачайте любые необходимые компиляторы. Некоторые языки программирования требуют компилятор для отображения исходного кода, который вы написали. Компиляторы транслируют исходный код в эквивалентную программу на языке низкого уровня, которая затем обрабатывается компьютером. Многие компиляторы являются открытыми и бесплатными программами. Языки, которые требуют использование компиляторов, включают:

    • BASIC
    • Fortran
    • Pascal
  • Начните ваш первый проект. Выберите хороший вводный проект, который позволит вам испробовать ваши новые навыки. В интернете существует множество предложений и пособий по этой теме; например, вы можете начать с создания простых веб-сайтов с HTML, простых баз данных и функций с PHP или простых программ на любом из языков, требующих использование компиляторов.

    Назначение

    Исходный код либо используется для получения объектного кода, либо выполняется интерпретатором. Изменения никогда не выполняются над объектным кодом, только над исходным, с последующим повторным преобразованием в объектный.

    Другое важное назначение исходного кода - в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии . Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду - т. н. генераторы документации .

    Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструмент общения между опытными программистами, благодаря своей (идеально) лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.

    Программисты часто переносят исходный код из одного проекта в другой, что носит название повторного использования кода (Software reusability ).

    Исходный код - важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО, портирование либо слишком сложно, либо вообще невозможно.

    Организация

    Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких файлов . Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на языке Си , с целью оптимизации, содержат вставки кода на языке ассемблера . Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии известной как компоновка библиотек (library linking ).

    Сложное программное обеспечение при сборке требует использования десятков, или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом, и описывающие процесс сборки. Эти файлы так же могут содержать и другие параметры компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причем в некоторых средах эти файлы могут быть в текстовом формате, пригодном для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». В подавляющем большинстве современных языковых сред обязательно используются файлы проектов вне зависимости от сложности прочего исходного кода, входящего в данный проект. Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например, графические изображения, нужные для сборки программы.

    Для облегчения работы с исходным кодом, для совместной работы над кодом командой программистов, используются системы управления версиями .

    Качество

    В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО . О качестве исходного кода можно судить по следующим параметрам:

    • читаемость кода (в том числе наличие или отсутствие комментариев к коду;
    • лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
    • низкая сложность;
    • низкое использование ресурсов - памяти, процессора, дискового пространства;
    • отсутствие замечаний, выводимых компилятором;
    • отсутствие «мусора» - неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д.

    Неисполняемый исходный код

    См. также

    • Пример: Программа Hello world

    Ссылки

    Wikimedia Foundation . 2010 .

    Смотреть что такое "Программный код" в других словарях:

      программный пакет - 3.19 программный пакет: Архивный файл, содержащий программный код в бинарном или исходном виде, а также метаданные о программе, ее версии, зависимостях и другую информацию. Источник: ГОСТ Р 54593 2011: Информационные технологии. Свободное… …

      - (англ. Netscape Plugin Application Programming Interface, NPAPI кросс платформенная архитектура разработки плагинов, поддерживаемая многими браузерами. Интерфейс был разработан для семейства браузеров Netscape Navigator, начиная с Netscape… … Википедия

      В компьютерных науках программный агент это программа, которая вступает в отношение посредничества с пользователем или другой программой. Слово «агент» происходит от латинского agere (делать) и означает соглашение выполнять действия от… … Википедия

      Framework термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его… … Википедия

      Эта статья о системе команд в целом; об инструкциях см.: Код операции. Машинный код (платформенно ориентированный код), машинный язык система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется… … Википедия

      Официальная терминология

      Вирус (компьютерный, программный) - исполняемый программный код или интерпретируемый набор инструкций, обладающий свойствами несанкционированного распространения и самовоспроизведения. Созданные дубликаты компьютерного вируса не всегда совпадают с оригиналом, но сохраняют… … Словарь-справочник терминов нормативно-технической документации

      - (англ. managed code) термин, введённый Microsoft для обозначения кода программы, исполняемой под «управлением» виртуальной машины.NET Common Language Runtime. При этом обычный машинный код называется неуправляемым кодом… … Википедия

      Заплатка, или патч (англ. patch /pætʃ/ заплатка) автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча (… … Википедия

      Pyramid Тип Программный каркас веб приложений Разработчик … Википедия

    Книги

    • Объектно-ориентированное проектирование: концепции и программный код , Гаст Хольгер. Эта книга призвана помочь читателю глубоко усвоить понятие объектов, раскрыть их истинный потенциал, чтобы писать код, эффективно работающий в реальных условиях. Вней рассматриваются…
    Если вы спросите любого разработчика встроенного ПО, хочет ли он иметь доступ к исходному коду операционной системы реального времени, которую он использует, ответ почти наверняка будет - конечно. Точно так же обстоит дело с любым покупным ПО. Является ли такой ответ разумным для всех случаев и почему исходный код иногда необходим, а иногда его наличие менее полезно, чем ожидалось?

    Есть ряд ключевых критериев, которые инженеры применяют при выборе операционной системы реального времени (ОСРВ). Многие из них - стоимость, функциональность, лицензирование, поддержка - несомненно, весьма важны (особенно стоимость - таковы наши реалии). Тем не менее, еще один критерий - наличие исходного кода - может быть не столь важен, но всегда оценивается как сильный фактор.

    Доступность исходного код не означает, что он поставляется автоматически и бесплатно. Такой подход справедлив только для продуктов с открытым исходным кодом, а в других случаях производители могут взимать плату за исходный код или сделать его доступным по запросу.

    Разработка железа. Здесь тоже есть исходный код, что особенно верно для разработки с использованием VHDL и Verlog. Как дела обстоят здесь? Исторически сложилось так, что при выборе интегральной микросхемы и разработки ее применения инженер опирался на спецификации, в которых указана функциональность, расположение выводов, требования к питанию, и т.д. И при этом никто не ожидал увидеть полную схему внутреннего устройства ИС, хотя часто могли видеть структурную схему (в основном в качестве иллюстративного материала, который облегчал понимание принципов функционирования), а иногда даже и принципиальную схему (для аналоговых ИС типа ОУ), хотя и без номиналов.
    Инженер, которые сегодня разрабатывает ASIC или прошивку FPGA, скорее всего, будет использовать некоторые готовые IP блоки - предварительно упакованный блок, который обеспечивает определенный функционал. При этом, выбор будет основываться на спецификациях, и совершенно не очевидно, что оригинальный HDL для IP будет включен в комплект поставки. Этот подход с использованием «черных ящиков» хорошо известен в мире аппаратного обеспечения.

    Безопасность. Любая технология, которая включена в продукт должен быть выбрана, учитывая возможности будущей технической поддержки. Например, при выборе ИС следует избегать применения уникальных изделий от одного производителя, что может смягчить проблемы при сбоях поставок.
    При использовании IP, будь то аппаратные боки или поставляемое ПО, сбои поставок как таковые вряд ли могут иметь место (за исключением случаев разовых лицензий), но постоянная поддержка должна присутствовать. Поэтому вопрос о том, будет ли Ваш поставщик в бизнесе на протяжении всего срока жизни Вашего продукта, лучше задать до того, как выбрать конкретную реализацию.

    Если исходный код для IP доступен, это дает возможность решения любых (ну почти любых) проблем с программным обеспечением, даже если поставщик больше не в состоянии предложить поддержку. По этой причине, многие покупатели RTOS и т.д. хотели бы иметь исходный код на полке, даже если они никогда не будут смотреть на него, просто на всякий случай.

    Настройка программного обеспечения.Основным различием между встраиваемыми системами и десктопами является изменчивость первых. Большинство ПК похожи на многие другие и выбор только межу средой исполнения: Windows, Mac, или Linux. Встроенные системы, в свою очередь, невероятно изменчивы - различные процессоры, конфигурации памяти и периферийных устройств. В результате, программное обеспечение IP должен быть гибким, так чтобы он мог быть развернут на различных системах. Хотя многие продукты, такие как RTOS поставляются в двоичном виде - обычно библиотеке, которая настроена на конкретную архитектуру, требования к поставке исходного кода могут стимулировать поставщиков, исключая необходимость сохранения и поддержки многочисленных вариаций, поскольку предоставление IP в виде исходного решает многие из этих вопросов. Пользователь может построить код для конкретного процессора, адаптировать к карте памяти устройства, и добавить необходимые расширения устройств. В некоторых случаях, IP блок может быть конфигурирован с помощью условной компиляции - как правило, для определения конфигурации редактируется заголовочный файл.

    Сертификация. Для некоторых типов приложений, таких военные / авиационные и медицина, встроенное ПО должно быть сертифицировано на безопасность и соответствие различным стандартам. Этот процесс является сложным и дорогим и обычно влечет за собой проверку каждой строки кода. Поэтому обычно невозможно купить «предварительно сертифицированные» блоки ПО, так как все приложение является предметом рассмотрения. Таким образом, разработчик критически важных приложений, скорее всего, искать IP, который доступен вместе с исходным кодом, так чтобы полная проверка могла быть проведена.

    Что такое Исходный код?
    Вопрос может показаться странным, но без ответа на него обсуждение каких-либо аспектов его наличия (или отсутствия) превращается в несколько странное занятие. Ответ может показаться очевидным: исходный код некоторой программы представляет собой набор файлов, содержащих инструкции на языке высокого уровня или ассемблере, которые могут быть скомпилированы и собраны в функционирующие двоичные инструкции. Сразу вопрос - необходимые для процесса преобразования программы и среда исполнения для них являются частью исходного кода (в бинарном виде)? Тем не менее данному определению отвечают по меньшей мере 3 формы, в которых «исходный код» может быть поставлен (для примера поговорим о языке С) в порядке ухудшения качества:
    1) Действительно исходный код, с хорошей планировкой, четкими конвенциями именования переменных и хорошо откомментированный (при условии, что такой имеется у разработчика IP, что совершенно необязательно).
    2) Строки кода, которые будут компилировать успешно, НО без комментариев или особенно значимых имен идентификаторов.
    3) Строки кода после обфрускации, которая делает код нечитаемым человеком, но при этом приемлем для компилятора. Это делается с помощью замены имен идентификаторов на бессмысленные и удаления всех комментариев и синтаксически нетребуемых пробелов. Существует обратный процесс, но его результаты трудно назвать приемлемыми.
    Все эти формы используются поставщиков программного обеспечения для следующих целей:
    1) является тем, что большинство покупателей ожидают получить и то, что многие производители действительно обеспечивают. Тем не менее, при принятии решения о покупке, если вам требуется исходный код, важно убедиться что это именно такой вариант, если сомневаетесь, просто попросите образцы.
    2) обычно используется, когда продавец хочет доставить необходимый минимум, который может быть (только) достаточно хорошо для сертификации.
    3) используется для защиты содержимого IIP от посторонних глаз, что означает, что программное обеспечение получает преимущество конфигурируемости, но не более того.

    Недостатки исходного кода.
    Самый главный недостаток того, что исходный код доступен: это сильное искушение. Каждый разработчик хочет сделать свое программное обеспечение как можно лучше (ну есть такая точка зрения). Так, например, если API ОСРВ не работает в точности так, чтобы быть оптимальным для приложения, доступность исходного кода предоставляет возможность изменить его.
    Хотя может показаться, что сделать приложение оптимальным - это здорово, но есть проблема долгосрочной поддержки. Что, если существует проблема с функциональностью RTOS? Поставщик не будет поддерживать модифицированный продукт. Что делать, если выходит новая версия ОСРВ? Включение ее в редизайн может потребовать значительное время на проведение повторных модификаций, особенно если их автор у Вас уже не работает (ну или Вы делали эти модификации 3 года назад и естественно, или, как говорят, разумеется, не озаботились написанием соответствующей документации).

    Рассмотрев ситуации, в которых исходный код может быть желательным, полезным или необходимым, следует сделать вывод, что он не требуется безусловно и всегда. Если вы покупаете IP от большого, хорошо известного и стабильного поставщика, который может предложить долгосрочную поддержку, то наличие исходного кода не является актуальным и может даже быть занесено в недостатки.