5.1.7. Исходная и объектная программы
Физические принципы работы компьютера таковы, что он воспринимает команды, состоящие только из единиц и нулей, т.е. машинный код. На начальной стадии развития компьютера человеку необходимо было составлять программы на языке, понятном компьютеру, в машинных кодах, Каждая команда состояла из кода операций и адресов операндов, выраженных в виде различных сочетаний единиц и нулей. Компьютеры создавались разными производителями и поэтому программы для компьютеров не могли быть взаимозаменяемыми. Необходимо было найти такое средство, которое бы позволяло упростить и ускорить данную процедуру. В это время и произошло разделение общей программы на программу исходную и программу объектную. Обе программы пишутся человеком, первая пишется на языке высокого уровня, более понятная обычному человеку, а вторая на машинном языке, понятном машине. Для перевода исходной программы в объектную стали использовать программы трансляторы.
5.1.8. Трансляция как процесс преобразования исходного кода в объектный
Транслятор – это программа, которая переводит исходную программу в эквивалентную ей объектную программу.
Если исходный язык является языком высокого уровня (например Фортран), а объектный язык – ассемблер, то транслятор называют компилятором. Машинный язык иногда называю кодом машины, поэтому объектная программа иногда называется объектным кодом. Трансляция исходной программы в объектную происходит во время компиляции, а фактическое выполнение объектной программы происходит во время выполнения готовой программы.
Компилятор – это программа, написанная на некотором языке, для которой входной информацией служит исходная программа, а результатом является эквивалентная ей объектная программа
5.2. Развитие персональных компьютеров
Персональный компьютер имеет свою историю. Её можно проследить, используя понятие «поколение». Один из способов классифицирования компьютеров – это их распределение по поколениям.
1-е поколение. Время появления 50 годы 20 века. Основной элемент компьютера – электронная лампа. Первая машина свободной продажи «ЮНИВАК» (США) была выпущена в 1951 году. Самой лучшей машиной в СССР была серийная машина М-20 со скоростью 20 тыс. операций в секунду.
2-е поколение. В середине 50-х годов появились компьютеры с элементной базой на полупроводниках, долговременная память на магнитных лентах. Скорость лучшего компьютера в СССР – БЭСМ-1 – 1 млн. операций в секунду.
3-е поколение. В середине 60-х годов были выпущены компьютеры серии IBM-360 (США). В СССР появились компьютеры ЕС и СМ. Скорость обработки у мощных машин достигла 10 млн. операций в секунду.
4-е поколение. Появились компьютеры фирмы Intel (США) – 1971 на базе больших интегральных схем. Созданы персональные компьютеры, которые стали основой компьютеризации общества. Скорость обработки данных достигла до 50 млн. операций в секунду.
5-е поколение. Элементной базой стали сверхбольшие интегральные схемы. Появились компьютеры на базе процессора Pentium. Скорость обработки данных возросла до 100 млн. операций в секунду.
В основу архитектуры IBM PC-компьютеров положен принцип шинной организации связей между процессором и остальными компонентами компьютера. За время развития компьютеров типы шин менялись, но сама архитектура осталась практически без изменений.
В настоящее время развитие вычислительной техники идет в направлении увеличения объема памяти, увеличения быстродействия, уменьшения размеров технических средств, создание более приспособленного к человеку программного обеспечения. Но до создания «искусственного интеллекта» хотя бы «среднего человека» на базе ЭВМ еще далеко!
Код объекта — Object code
В вычислениях , объектный код или объектный модуль является продуктом компилятора .
В общем смысле объектный код — это последовательность операторов или инструкций на компьютерном языке, обычно это язык машинного кода (т. Е. Двоичный ) или промежуточный язык, такой как язык передачи регистров (RTL). Этот термин указывает на то, что код является целью или результатом процесса компиляции, причем некоторые ранние источники ссылаются на исходный код как на «предметную программу».
Подробности
Объектные файлы, в свою очередь, могут быть связаны с образованием исполняемого файла или файла библиотеки . Для использования объектный код должен быть помещен в исполняемый файл, файл библиотеки или объектный файл.
Объектный код — это часть машинного кода, которая еще не была связана с полной программой. Это машинный код для одной конкретной библиотеки или модуля, из которых состоит законченный продукт. Он также может содержать заполнители или смещения, которых нет в машинном коде завершенной программы, которые компоновщик будет использовать для соединения всего вместе. В то время как машинный код — это двоичный код, который может выполняться непосредственно ЦП, объектный код имеет частично параметризованные переходы, чтобы компоновщик мог их заполнить.
Ассемблер используется для преобразования кода сборки в машинный код (код объекта). Компоновщик связывает несколько файлов объектов (и библиотек) для создания исполняемого файла. Ассемблеры также могут напрямую выполнять сборку в исполняемые файлы машинного кода без промежуточного этапа объекта.
Исходный, Машинный и Объектный коды — Разница?

Исходный код или исходный текст — текст на языке программирования, который пишет человек (как правило, человек). Это обычный текстовый файл (как правило).
Но процессоры в компьютера/смартфонах и пр. — довольно тупые устройства, способные понимать только чрезвычайно простой машинный код.
Поэтому любая программа прямо или косвенно превращается из исходного кода в машинный и только после этого исполняется компьютером/смартфоном и пр.
Объектный код — это промежуточное представление кода. Еще не машинный, но уже не исходный. Используется на этапе сборки программы из нескольких кусков (возможно, написанных в исходном коде разными людьми и в разное время).
Машинный код — уже готов для исполнения. То есть просто берете его, ничего не нужно более. Делаете двойной щелчок мыши, к примеру, и программа запускается.
Пример исходного кода — легко:
Пример объектного кода и машинного кода — бессмысленен. Что объектный, что машинный коды этой программы
не предназначены для чтения человеком.
Это для вас будет выглядеть как абракадабра.
И это еще не весь объектный код — там большой файл.
Машинный код — еще бОльшая абракадабра, я его сюда даже вставить не смог. Текстовый редактор не пропускает эту кучу спецсимволов и т.п.
Упомянутая вами цепочка (исходный — объектный — машинный) касается языков программирования, компилируемых в машинный код:
C/С++/Go/Rust/Pascal.
Некоторые языки предназначены для компиляции в байт-код. Его нельзя назвать ни машинный ни объектным. Это Java/Kotlin/C#. Если бы этот код выполнялся непосредственно процессором (CPU) его можно было бы назвать машинным. Но он выполняется только через специальную программу.
ОБЪЕКТНЫЙ КОД
объектный код — объектная программа Программа в машинных кодах, полученная в результате трансляции. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы объектная… … Справочник технического переводчика
объектный код — 3.31 объектный код: Представление компьютерной программы на низком уровне, обычно не в форме, непосредственно пригодной для объектного компьютера, а в форме, включающей в себя, помимо информации о процессорных командах, информацию о размещении… … Словарь-справочник терминов нормативно-технической документации
Объектный код программы — 94) объектный код подлежащая исполнению форма подходящего представления одного или более процессов (текст программы или язык программы), которая компилируется программирующей системой (категория 9);. Источник: Приказ ФТС России от 27.03.2012 N… … Официальная терминология
код — 01.01.14 код [ code]: Совокупность правил, с помощью которых устанавливается соответствие элементов одного набора элементам другого набора. [ИСО/МЭК 2382 4, 04.02.01] Источник … Словарь-справочник терминов нормативно-технической документации
Объектный модуль — (также объектный файл, англ. object file) файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто … Википедия
Объектный файл — Обьектный модуль (также объектный файл, англ. object file) файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом… … Википедия
Код (компьютер) — Исходный код, написанный на JavaScript Исходный код (также исходный текст) текст компьютерной программы на каком либо языке программирования. В обобщённом смысле любые входные данные для транслятора. Исходный код либо транслируется в… … Википедия
Объектный Си — Objective C Класс языка: объектно ориентированный, мультипарадигмальный: рефлексивно ориентированный Появился в: 1986 г. Автор(ы): Типизация данных: строгая полиморфная, статическая Основные реализации: Apple gcc Испытал … Википедия
Исходная программа (исходный код) — 48) исходная программа (исходный код) соответствующее представление одного или более процессов, которые могут быть преобразованы программирующей системой в форму, исполняемую оборудованием (объектный код или объектный язык) (категории 6, 7 и 9); … Официальная терминология
исходный код — 3.1.13 исходный код (source code): Компьютерная программа, выраженная в удобной для восприятия человеком форме (язык программирования), которая переводится в машиночитаемую форму (объектный код) перед тем, как она может быть испытана с… … Словарь-справочник терминов нормативно-технической документации