Исходный и объектный код.
В чем разница?

Термины «исходный код» и «объектный код» довольно часто встречаются в мире программирования и веб-дизайна. В этой статье мы постараемся разобраться в этих терминах, а также объясним контекст, в котором они используются.

Что такое исходный код

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

После создания исходного кода он сохраняется в файле в соответствии с его расширением. Например, файл JavaScript сохраняется с расширением «.js», а файл C++ — с расширением «.cpp». Переводчик языка получает исходный код, а затем преобразует его в машинный код, который по другому называется объектным кодом.

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

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

Как используется исходный код

Исходный код написан простым текстом, который хорошо понятен людям. Исходный код любого веб-сайта найти несложно — достаточно щелкнуть правой кнопкой мыши на любой веб-странице и перейти к пункту «Просмотреть исходный код страницы». 

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

Что такое объектный код

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

Объектный код обычно используется на этапе сборки программы. Это вывод исходного кода после компиляции. Объектный код остается в объектном файле — COM, COFF (общий формат объектных файлов). Объектный код, машинный код и двоичный код могут использоваться взаимозаменяемо. 

Как используется объектный код  

Объектный код обычно включает интерпретированную или скомпилированную программируемую логику, встроенное ПО и различные библиотеки. 

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

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

Компиляция исходного код в объектный 

Компилятор преобразует удобочитаемый код в объектный (или машинный) код. У каждого высокоуровневого языка программирования есть свой собственный компилятор, который преобразует код в язык, понятный машине. Визуально процесс разработки ПО может выглядеть примерно так:

Исходный код и объектный код можно рассматривать как версии до и после компьютерного программирования. Рассмотрим этапы: 

  1. Программист, который использует типы языка Java в нужной последовательности, сохраняет их, изменяя наименование так, чтобы оно содержало исходный код. 
  2. После этого файл готов к компиляции и проходит через компилятор Java.
  3. Полученный результат (скомпилированный файл) называется объектным кодом. 
  4. Объектный код содержит последовательность инструкций, которые понятны процессору, но трудны для понимания человеком.

Разница между исходным и объектным кодом

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

Если коротко, то исходный код — это набор инструкций, который написан с использованием языка программирования, а объектный код — это результат исходного кода после обработки компилятором.

Исходный код против объектного кода  

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

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


Источник: hubspot.com

Условия передачи информации

Я даю согласие OOO «ЭсБилдер» (далее «BINN») на обработку моих персональных данных в соответствии со статьями 6, 9, 10, 18 Федерального закона от 27 июля 2006 года № 152-ФЗ «О персональных данных», указанных в онлайн-форме и/или предоставленных мною с целью:

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

Настоящее согласие применяется в отношении обработки следующих данных: имя, номер телефона, адрес электронной почты (E-mail).

Настоящее согласие предоставляется сроком на пять лет. По истечении указанного срока действие согласия считается продленным на каждые следующие пять лет при отсутствии сведений о его отзыве.

Согласие может быть отозвано мною в любой момент путем направления в BINN подписанного мною письменного заявления.