• PDF
  • Печать
  • E-mail

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


Размышляя над проблемой механизации вычислений, английский естествоиспытатель Чарльз Беббидж (1792 – 1871) в 20-х гг. XIX века предложил структуру автоматического вычислителя, названного им «аналитической машиной». Впервые в этом устройстве был реализован принцип разделения информации на команды и данные. «Аналитическая машина» состояла из двух отдельных устройств: устройство хранения, где находятся команды и данные, введенные в машину, и перерабатывающего устройства (процессора), которое выполняет операции, пользуясь находящимися в памяти командами и данными. Программа записывалась на перфокарты.

Использованная Беббиджем запись программы на перфокартах была придумана для управления ткацкими станками французским изобретателем Жозефом Мари Жакаром. Самому автору реализовать идею этой «аналитической машины» не удалось. Аналитическая машина была воспроизведена в наши дни по чертежам Ч.Беббиджа.

Ада Лавлейс (дочь Байрона, 1815 - 1852) – одна из немногих современников Беббиджа, кто сумел по достоинству оценить аналитическую машину. Ее называют первым в мире программистом. Она теоретически разработала некоторые приемы управления последовательностью вычислений, которые используются в программировании и по сей день. Описала одну из важнейших конструкций практически любого современного языка программирования – цикл. С этого момента начинается история программирования.

Революционным моментом в истории языков программирования стало появление  в конце 40-х гг. системы XX века системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета. Эта система называлась Short Code.

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

Одна из сотрудниц Дж.Моучли Грейс Мюррей Хоппер, которая посвятила всю свою жизнь компьютерами программированию, развила идею  Моучли.

При работе на компьютере «Марк –I» Хоппер и ее команда столкнулись со многими проблемами, и все, что ими придумано, было впервые. В частности, они придумали подпрограммы. Еще одно фундаментальное понятие техники ввели Хоппер и ее группа – «отладка». Однажды жарки летним днем 1945 г. неожиданно произошла остановка компьютера «Марк – I». Обнаружилось неисправность одного реле, контакты которого были заблокированы мотыльком, залетевшим неизвестно каким образом в помещение вычислительного центра. Вспоминает Г.Хоппер: «Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых (debugging)». С тех пор термин «debugging» (отладка) используется пи тестировании неисправностей в компьютере, в системе программирования.

Уже  в 1951 г. Хоппер создала первый в мире компилятор, и ею же был введен сам этот термин. Компилятор Хоппер осуществлял функцию объединения команд и входе трансляции производил организацию подпрограмм, выделение памяти компьютера. Преобразование команд высокого уровня (в то время псевдокодов) в машинные команды.

В 1954 г. группа под руководством Г.Хоппер разработала систему язык программирования + компилятор. Затем они принялись за разработку нового языка и компилятора, второй был близок к обычному английскому. Работы в этом направлении привели к созданию языка Кобол (COBOL – Common Busness Oriented Language) –  язык для задач обработки коммерческих данных.

Середина 50-х гг. характеризуется стремительным прогрессом в области программирования. Роль программирования в машинных кодах стала уменьшаться, стали появляться языки программировании нового типа, выступающие в роли посредника между машинами и программистами. Наступило время третьего поколения языков программирования