Ранняя история программирования

Главная > Информатика > Языки программирования > Предыстория программирования

Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует. (Bjarne Stroustrup)

Языки передачи, хранения, обработки и представления информации

Разделы страницы о ранней истории программирования:


Предыстория компьютерных языков

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

Значимым считают «язык», на котором леди Ада Августа графиня Лавлейс написала программу для вычисления чисел Бернулли для паровой Аналитической машины Чарльза Бэббиджа, которая могла бы стать первым компьютером в мире.

В  1930—1940 годах А. Чёрч, А. Тьюринг, А. Марков в СССР разработали математические абстракции (лямбда-исчисление, машину Тьюринга, нормальные алгорифмы) для формализации алгоритмов. [Т.о., информатика является дочерью математики.] Чуть позже, в 1940-е годы, появились электрические цифровые компьютеры и даже был разработан язык, который можно считать первым высокоуровневым языком программирования для ЭВМ — Plankalkül [минуя стадию ассемблера?!], созданный немецким инженером К. Цузе во время войны (с 1943 по 1945 годы).

Языки программирования низкого уровня (машинные языки, языки 1-го поколения - 1GL)

Программисты начала 1950-х годов, в особенности таких ЭВМ, как UNIVAC и IBM 701, при создании программ пользовались непосредственно машинным кодом, запись программы на котором состояла из единиц и нулей и который принято считать языком программирования первого поколения (1GL). При этом разные машины разных производителей использовали различные коды, что требовало переписывать программу при переходе на другую ЭВМ.

Языки программирования среднего уровня (полумашинные языки, языки 2-го поколения - 2GL)

На смену машинным [бинарным] языкам пришло применение языков второго поколения (2GL), также ограниченных спецификациями конкретных машин, но более простых для использования человеком за счет использования мнемоник (символьных обозначений машинных команд) и возможности сопоставления имен адресам в машинной памяти. Они традиционно известны под наименованием языков ассемблера и автокодов. Однако, при использовании ассемблера становился необходимым процесс перевода программы на язык машинных кодов перед ее выполнением, для чего были разработаны специальные программы, также получившие название ассемблеров. Сохранялись и проблемы с переносимостью программы с ЭВМ одной архитектуры на другую, и необходимость для программиста при решении задачи мыслить терминами «низкого уровня» — ячейка, адрес, команда.

Макроассемблеры (MASS)

Позднее языки второго поколения были усовершенствованы: в них появилась поддержка макрокоманд - так появились макроассемблеры.


Главная

Языки программирования: 1GL и 2GL | 3GL (Яву) | Пионеры ООП | 4GL и RAD | Визуально-объектные | Сценарные (скриптовые) | Ява-подобные Парадигмы информатики

Алгоритмы | Бизнес-анализ | Жизненный цикл программ | Интернет | IT-стандарты | ОС | СУБД | Искусственный интеллект и 5GL

ИТ-менеджмент | Электроника | Математика | Эвристика | Компьютерные игры

На правах рекламы (см. условия):    


© «Сайт Игоря Гаршина», 2002, 2005. Пишите письма (Письмо И.Гаршину).
Страница обновлена 20.02.2016
Я.Метрика: просмотры, визиты и хиты сегодня