В императивном программировании компьютерная программа представляет собой последовательность инструкций на языке программирования , которую компьютер может выполнять или интерпретировать. [1] В декларативном программировании компьютерная программа представляет собой набор инструкций.
Компьютерная программа в удобочитаемой форме называется исходным кодом . Исходному коду для выполнения требуется другая компьютерная программа, потому что компьютеры могут выполнять только свои собственные машинные инструкции . Следовательно, исходный код может быть преобразован в машинные инструкции с помощью компилятора языка . ( Программы на машинном языке переводятся с помощью ассемблера .) Полученный файл называется исполняемым файлом . В качестве альтернативы исходный код может выполняться в интерпретаторе языка . Язык программирования Java компилируется в промежуточную форму , которая затем выполняетсяИнтерпретатор Java . [2]
Если исполняемый файл запрашивается для исполнения, то операционная система загружает его в память и запускает процесс . [3] Центральный процессор вскоре переключится на этот процесс, чтобы он мог получать, декодировать и затем выполнять каждую машинную инструкцию. [4]
Если исходный код запрашивается для исполнения, то операционная система загружает в память соответствующий интерпретатор и запускает процесс. Затем интерпретатор загружает исходный код в память для перевода и выполнения каждого оператора. [2] Запуск исходного кода выполняется медленнее, чем запуск исполняемого файла. Кроме того, переводчик должен быть установлен на компьютере.
Усовершенствования в разработке программного обеспечения являются результатом усовершенствования компьютерного оборудования . На каждом этапе истории аппаратного обеспечения задачи компьютерного программирования резко менялись.
В 1837 году Чарльз Бэббидж вдохновился ткацким станком Жаккарда на попытку построить аналитическую машину . [5] Названия компонентов счетного устройства были заимствованы из текстильной промышленности. В текстильной промышленности пряжу привозили из магазина для перемалывания. В устройстве было «хранилище», которое представляло собой память для хранения 1000 чисел по 50 десятичных цифр в каждом. [6] Номера из «магазина» были переданы на «мельницу» для обработки. Он был запрограммирован с использованием двух наборов перфорированных карт. Один набор для управления операцией, а другой для входных переменных. [5] [7]Однако после того, как британское правительство выделило более 17 000 фунтов стерлингов, тысячи зубчатых колес и шестерен так и не заработали вместе. [8]