Компьютерная программа


В императивном программировании компьютерная программа представляет собой последовательность инструкций на языке программирования , которую компьютер может выполнять или интерпретировать. [1] В декларативном программировании компьютерная программа представляет собой набор инструкций.

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

Если исполняемый файл запрашивается для исполнения, то операционная система загружает его в память и запускает процесс . [3] Центральный процессор вскоре переключится на этот процесс, чтобы он мог получать, декодировать и затем выполнять каждую машинную инструкцию. [4]

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

Усовершенствования в разработке программного обеспечения являются результатом усовершенствования компьютерного оборудования . На каждом этапе истории аппаратного обеспечения задачи компьютерного программирования резко менялись.

В 1837 году Чарльз Бэббидж вдохновился ткацким станком Жаккарда на попытку построить аналитическую машину . [5] Названия компонентов счетного устройства были заимствованы из текстильной промышленности. В текстильной промышленности пряжу привозили из магазина для перемалывания. В устройстве было «хранилище», которое представляло собой память для хранения 1000 чисел по 50 десятичных цифр в каждом. [6] Номера из «магазина» были переданы на «мельницу» для обработки. Он был запрограммирован с использованием двух наборов перфорированных карт. Один набор для управления операцией, а другой для входных переменных. [5] [7]Однако после того, как британское правительство выделило более 17 000 фунтов стерлингов, тысячи зубчатых колес и шестерен так и не заработали вместе. [8]


Описание Лавлейс из Note G.
Реплика Zuse Z3 на выставке в Немецком музее в Мюнхене
Гленн А. Бек меняет лампу в ENIAC.
Переключатели для ручного ввода на Data General Nova 3 производства середины 1970-х гг.
Кристалл интегральной микросхемы СБИС .
Процессор IBM System/360 (1964) не был микропроцессором.
Художественное изображение микрокомпьютера Intel 8008 государственного университета Сакраменто (1972 г.).
Оригинальный персональный компьютер IBM (1981) использовал микропроцессор Intel 8088.
DEC VT100 ( 1978) был широко используемым компьютерным терминалом .
"Привет мир!" компьютерная программа Брайана Кернигана (1978)
Компьютерная программа, написанная на императивном языке
Карта памяти компьютера
Пример диаграммы потока данных на функциональном уровне.
Диаграмма, показывающая, как пользователь взаимодействует с прикладным программным обеспечением . Прикладное программное обеспечение взаимодействует с операционной системой , которая взаимодействует с оборудованием .
Ядро соединяет прикладное программное обеспечение с аппаратным обеспечением компьютера.
Физическая память разбросана по ОЗУ и жесткому диску. Виртуальная память представляет собой один непрерывный блок.
Микроконтроллер справа от этой флешки управляется встроенной прошивкой .
НЕ ворота.
Ворота И-НЕ.
ворота НО.
И ворота.
ИЛИ ворота.
Символическое представление ALU.