Как выглядит код на языке программирования. Исходный код

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

Вам понадобится

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

Инструкция

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

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

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

Обратите внимание

Полученный результат не может гарантировать 100%-ого качества. И автоматический определитель языка честно вам об этом скажет, указав вероятность правильного ответа.

Для того, чтобы при проверке текста получить грамотный ответ и быть уверенным в нем, пользуйтесь некоторыми правилами работы.
1) Минимальное количество слов для определения – не менее 20-и. Однако помните, чем больше вы напишите предложений, тем больше вероятность правильного определения языка.
2) Используйте несколько программ-определителей.
3) Если есть возможность, выберите ту часть текста, по которой определение будет самым эффективным.
4) Если есть возможность, проверьте текст и исправьте ошибки.

Источники:

  • http://mrtranslate.ru/guessers.php

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

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

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

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

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

Организация

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

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

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

Качество

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

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

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

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

В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например:

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

и наконец, сам файл, если он удовлетворяет указанным условиям, либо если более удобной версии просто не существовало.

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

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

Использование

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

Историческая перспектива

Первый ассемблерный язык был разработан в 1947 году Кэтлин Бут для ARC2 в Биркбекском процессе работы с Джоном фон Нейманом и Германом Голдстином в Институте перспективных исследований. SOAP (Symbolic Optimal Assembly Program) была языком ассемблера для 650, созданного Стэном Поули в 1955 году.

Исторически многие программные решения были написаны только на ассемблере. ОС писались исключительно на этом языке до введения Burroughs MCP (1961 г.), который был написан на языке Executive Systems Problem Oriented Language (ESPOL). Многие коммерческие приложения были написаны на машинно-ориентированном языке, в том числе большое количество программного обеспечения мэйнфреймов IBM, созданного ИТ-гигантами. COBOL и FORTRAN в конечном итоге вытеснили большую часть наработок, хотя многие крупные организации сохранили ассемблерные прикладные инфраструктуры в 1990-х годах.

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

Область применения

Языки сборки устраняют большую часть проблемного, утомительного и трудоемкого программирования на ассемблерах первого поколения, необходимого на самых ранних компьютерах. Это освобождает программистов от рутины в виде запоминания числовых кодов и вычисления адресов. На начальных этапах «сборщики» широко использовались для всех разновидностей программирования. Однако к концу 1980-х гг. их применение в значительной степени было вытеснено языками более высокого уровня в поисках повышения производительности программирования. Сегодня язык ассемблера по-прежнему используется для прямой аппаратной манипуляции, доступа к специализированным инструкциям процессора или для решения критических проблем с производительностью. Типичной областью применения являются драйверы устройств, низкоуровневые встроенные системы и параметры реального времени.

Образцы применения

Типичными примерами крупных программ на языке ассемблера являются операционные системы IBM PC DOS, компилятор Turbo Pascal и ранние приложения, такие как программа электронных таблиц Lotus 1-2-3.

Машинно-ориентированный язык — основной язык разработки для многих востребованных домашних ПК 1980-х и 1990-х годов (таких как MSX, Sinclair ZX Spectrum, Commodore 64, Commodore Amiga и Atari ST). Это обусловлено тем, что интерпретированные диалоги BASIC на этих системах обеспечивали низкую скорость выполнения, а также ограниченные возможности для полного использования имеющегося оборудования. Некоторые системы даже имеют интегрированную среду разработки (IDE) с высокоразвитыми средствами отладки и макрообъектов. Некоторые компиляторы, доступные для Radio Shack TRS-80 и его преемников, имели возможность комбинировать встроенный источник сборки с программами высокого уровня. После компиляции встроенный ассемблер создал встроенный двоичный код.

Машинный код для чайников. Терминология

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

Машинные коды также могут выполнять некоторые простые типы оптимизации, зависящей от набора команд. Одним из конкретных примеров этого могут быть популярные «сборщики» x86 от разных поставщиков. Большинство из них могут выполнять замены команд перехода в любом количестве проходов, по запросу. Также способны выполнять простую перегруппировку или вставку инструкций, таких как некоторые сборщики для архитектур RISC, которые могут помочь оптимизировать разумное планирование команд, чтобы максимально эффективно использовать конвейер CPU.

Подобно ранним языкам программирования, таким как Fortran, Algol, Cobol и Lisp, сборщики были доступны с 1950-х годов, как и первые поколения текстовых компьютерных интерфейсов. Однако сначала появились сборщики, поскольку их намного проще писать, чем компиляторы для высокоуровневых языков. Это связано с тем, что каждая мнемоника, а также режимы адресации и операнды инструкций транслируются в числовые представления каждой конкретной инструкции без большого контекста или анализа. Также был ряд классов переводчиков и полуавтоматических генераторов кода со свойствами, аналогичными как сборкам, так и языкам высокого уровня, причем скоростной код, возможно, является одним из наиболее известных примеров.

Количество проходов

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

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

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

Что такое двоичный код?

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

Например, приведенная ниже инструкция сообщает процессору x86/IA-32 переместить 8-битное значение в регистр. Двоичный код для этой команды — 10110, за которым следует 3-битный идентификатор, для которого используется регистр. Идентификатором AL является 000, поэтому следующий код загружает регистр AL с данными 01100001.

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

Пример машинного кода: 10110000 01100001.

Технические особенности

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

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

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

Язык дизайна

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

  • мнемоника опкода;
  • определения данных;
  • директивы сборщика.

Мнемоника опкода и расширенная мнемоника

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

Расширенная мнемоника зачастую применяется для специализированной эксплуатации инструкций — для целей, не очевидных из названия мануала. Например, многие процессоры не имеют явной инструкции NOP, но имеют встроенные алгоритмы, которые используются для этой цели.

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

Директивы данных

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

Директивы сборки

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

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

Самодокументирующийся код

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

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

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

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

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

Первый машинный язык был придуман в 1941 году Конрадом Цузе, который является изобретателем аналитической машины. Чуть позже, в 1943 г., Говард Эйкен создал машину "Марк-1", способную считывать инструкцию на уровне машинного кода.

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

Классификация языков программирования

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

  • Аспектно-ориентированные (основная идея - разделение функциональности для увеличения эффективности программных модулей).
  • Структурные (в основе лежит идея создания иерархической структуры отдельных блоков программы).
  • Логические (в основе лежит теория аппарата математической логики и правил резолюции).
  • Объектно-ориентированные (в таком программировании используются уже не алгоритмы, а объекты, которые принадлежат определенному классу).
  • Мультипарадигмальные (сочетают в себе несколько парадигм, и программист сам решает, каким языком воспользоваться в том или ином случае).
  • Функциональные (в качестве основных элементов выступают функции, которые меняют значение в зависимости от результатов вычислений исходных данных).

Программирование для начинающих

Многие задаются вопросом, что же такое программирование? По сути, это способ общения с компьютером. Благодаря языкам программирования мы можем ставить перед различными устройствами определенные задачи, создавая специальные приложения или программы. При изучении данной науки на начальном этапе самое главное - это выбрать подходящие (интересные для вас) языки программирования. Список для начинающих приведен ниже:

  • Basic придуман в 1964 году, относится к семейству высокоуровневых языков и используется для написания прикладных программ.
  • Python ("Питон") довольно легко выучить благодаря простому читаемому синтаксису, преимущество же в том, что на нем можно создавать как обычные десктопные программы, так и веб-приложения.
  • Pascal ("Паскаль") - один из древнейших языков (1969 г.), созданных для обучения студентов. Его современная модификация имеет строгую типизацию и структурированность, однако "Паскаль" - вполне логичный язык, который понятен на интуитивном уровне.

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

Новички имеют возможность ускорить изучение программирования и его основ благодаря специальным инструментам. Основной помощник - это интегрированная среда разработки программ и приложений Visual Basic («Визуал Бейсик» одновременно является и языком программирования, который унаследовал стиль языка Basic 1970-х годов).

Уровни языков программирования

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

Низкоуровневые языки предназначены для создания машинных команд для процессоров. Главное их преимущество в том, что они используют мнемонические обозначения, т. е. вместо последовательности нулей и единиц (из двоичной системы счисления) компьютер запоминает осмысленное сокращенное слово из английского языка. Самые известные языки низкого уровня - это "Ассемблер" (существует несколько подвидов этого языка, каждый из которых имеет много общего, а отличается лишь набором дополнительных директив и макросов), CIL (доступен в платформе.Net) и Байт-код JAVA.

Языки программирования высокого уровня: список

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

Следующий список языков программирования: C ("Си"), C# ("Си-шарп"), "Фортран", "Паскаль", Java ("Ява") - входит в число самых используемых высокоуровневых синтаксисов. Он обладает следующими свойствами: эти языки работают с комплексными структурами, поддерживают строковые типы данных и операции с файлами ввода-вывода информации, а также имеют преимущество - с ними гораздо проще работать благодаря читабельности и понятному синтаксису.

Самые используемые языки программирования

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

  • языки ООП: Java, C++, Python, PHP, VisualBasic и JavaScript;
  • группа структурных языков: Basic, Fortran и Pascal;
  • мультипарадигмальные: C#, Delphi, Curry и Scala.

Область применения программ и приложений

Выбор языка, на котором написана та или иная программа, во многом зависит от области ее применения. Так, например, для работы с самим "железом" компьютера (написания драйверов и поддерживающих программ) лучшим вариантом станет C ("Си") или С++, которые входят в основные языки программирования (список смотрите выше). А для разработки мобильных приложений, в том числе игр, следует выбрать Java или С# ("Си-шарп").

Если вы еще не определились, в каком направлении работать, то рекомендуем начать изучение с языков C или C++. Они имеют весьма понятный синтаксис, четкое структурное разделение на классы и функции. К тому же, зная C или С++, можно с легкостью выучить любой другой язык программирования.

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

Назначение

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

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

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

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

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

Организация

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

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

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

Качество

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

  • читаемость кода (в том числе наличие

Последние материалы раздела:

Мозаика император юстиниан со свитой
Мозаика император юстиниан со свитой

Равенна. Италия. Императрица Феодора со свитой. Мозаика. Середина VI в. Церковь Сан-Витале. Равенна. Италия. тинопольской черни, в то время...

Конкурсы для детей по биологии
Конкурсы для детей по биологии

Конкурс эрудитов (интеллектуальные и занимательные задания к циклу занятий по темам: «Царство Прокариоты», «Грибы», «Растения») для 6-7 классов....

Что ли Что ли знаки препинания
Что ли Что ли знаки препинания

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