Исходный код: различия между версиями

29 байт добавлено ,  8 лет назад
стилевые правки, автовики
(стилевые правки, автовики)
{{Значения|Исходный код (фильм)}}
[[Файл:Html-source-code.png|thumb|Исходный код, написанный на [[HTML]], с использованием [[JavaScript]]]]
'''Исхо́дный код''' (также '''исхо́дный текст''')   текст [[компьютерная программа|компьютерной программы]] на каком-либо языке [[язык программирования|программирования]]/ или [[язык разметки|языке разметки]], который может быть прочтён человеком. В обобщённом смысле  — любые входные данные для [[Транслятор|транслятора]]. Исходный код [[Транслятор|транслируется]] в ''исполняемый код'' целиком до запуска программы при помощи [[Компилятор|компилятора]], или может исполняться сразу при помощи [[Интерпретатор|интерпретатора]].
 
== Назначение ==
 
Исходный код либо используется для получения объектного кода, либо выполняется интерпретатором. Изменения никогда не выполняются над объектным кодом, только над исходным, с последующим повторным преобразованием в объектный.
 
Другое важное назначение исходного кода  — в качестве описания программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются [[комментарии (программирование)|комментарии]]. Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду  — т.  н. [[генератор документации|генераторы документации]].
 
Кроме того, исходный код имеет много других применений. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения техники и методологии программирования. Он также используется как инструмент общения между опытными программистами, благодаря своей лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов.
Программисты часто переносят исходный код (в виде [[Модуль (программирование)|модулей]], в имеющемся виде или с адаптацией) из одного проекта в другой, что носит название [[повторное использование кода|повторного использования кода]].
 
Исходный код  — важнейший компонент для процесса [[портирование программ|портирования программного обеспечения]] на другие платформы. Без исходного кода какой-либо части ПО, портирование либо слишком сложно, либо вообще невозможно.
 
== Организация ==
 
Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких [[файл]]ов. Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на [[Си (язык программирования)|языке Си]], с целью оптимизации, содержат вставки кода на [[язык ассемблера|языке ассемблера]]. Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии, известной как [[компоновщик|компоновка]] библиотек (''library linking'').
 
* читаемость кода (в том числе наличие [[комментарии (программирование)|комментариев]] к коду);
* лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании;
* экономное использование ресурсов  — памяти, процессора, дискового пространства;
* отсутствие замечаний, выводимых компилятором;
* отсутствие «мусора»  — неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д;
* адекватная обработка ошибок;
* переносимость  — возможность использования обработчика (компилятора, интерпретатора, транслятора) разных версий, или даже различных [[Операционная система|ОС]];
* возможность интернационализации интерфейса.
 
== Неисполняемый исходный код ==
[[Копилефт]]ные лицензии для [[свободное программное обеспечение|свободного ПО]] требуют распространения исходного кода. Эти лицензии часто используются также для работ, не являющихся программами  — например, документации, изображений, файлов данных для компьютерных игр.
 
В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:
* для файла, сжатого с потерей данных  — версия без потерь;
* для [[рендеринг|рендера]] [[векторная графика|векторного]] изображения или [[трёхмерная модель|трёхмерной модели]]  — соответственно, векторная версия и модель;
* для изображения текста  — такой же текст в [[текстовый файл|текстовом формате]];
* для музыки  — файл во внутреннем формате [[музыкальный редактор|музыкального редактора]];
* и наконец, сам файл, если он удовлетворяет указанным условиям, либо если более удобной версии просто не существовало.