История языков программирования 1 Обучать компьютер понимать человеческие слова первыми стали американцы. Была необходима специальная программа в машинных кодах, исполняя которую компьютер произведет и распределение памяти, и перевод человеческих слов в последовательность машинных команд. Такая программа называется Ассемблер. 2 В 1953 г. Джон Бэкус (фирма IBM - International Business Mashin Company) предложил разработать язык, позволяющий резко упростить программирование модели IBM-704. Система, названная Фортран (FORTRAN — FORmula TRANslator — переводчик формул), в апреле 1957 г. была готова и позволяла не только переводить формулы в машинный язык, но и автоматизировала организацию циклов. Уже к 1958 г. более - половины всех машинных команд на компьютерах IBM-704 было получено не вручную, а с помощью транслятора с языка Фортран. Язык быстро стал нормой и его адаптировали для машин многих других марок. 3 Фортран несколько раз улучшался и дополнялся, дожив до конца восьмидесятых годов, когда его почти вытеснили более современные языки. До самого последнего времени он был языком создания программ для ЭВМ Национального управления по аэронавтике и космическим исследованиям США (NASA). Его варианты до сих пор используются для создания программного обеспечения вычислительного характера для самых мощных компьютеров. 4 Несмотря на девиз разработчиков «Лучшее — враг хорошего», разработка нового языка, названного Алгол (ALGOL — ALGOrithmic Language), заняла более двух лет, и он использовался в основном на Европейском континенте, для того, чтобы подтвердить существование в Европе специалистов по языкам программирования. Получился изящный язык, который Грейс Хоппер определила так: «Похож на большую поэму: простой и ясный с точки зрения математики, но отнюдь не практичный». 5 В 1964 г. фирма IBM, становившая мировым лидером в производстве компьютеров предложила язык PL/l (Programming Language One — Язык Программирования Номер). Этот язык очень многие сравнивали со складным ножом со 100 лезвиями и недоумевали, почему в него не встроена кухонная раковина. Фирма надеялась, что язык станет кульминацией всею того, что напридумывали разработчики языков программирования. На самом в языке деле было множество «изюминок». Тем не менее идея суперуниверсальных языков программирования оказалась неплодотворной, как и идея телевизора со встроенной стиральной машиной. 6 Грейс Мюррей Хоппер, доктор математики и резервист ВМФ США (в июне 1944 г. получившая офицерское звание) занималась разработкой программ для машины «МАРК-1». Хоппер заинтересовалась системами, позволяющими общаться с машиной на более человеческом языке. Ее целью стала возможность программировать на английском языке и создание такого языка, который бы облегчил в первую очередь экономические расчеты. 7 В итоге в 1959 г в военном ведомстве США был создан комитет по разработке нового языка. В апреле 1960 г. он опубликовал его описание, а в конце того же года несколько фирм уже предлагали трансляторы. Этот язык был назван Кобол (COBOL -- COmmon Business Oriented Language — универсальный язык, предназначенный для бизнеса), и его сразу же высоко оценил деловой мир Америки. 8 Даже сегодня язык еще широко используется. Стоимость программ, написанных на нем, оценивается в 50 миллиардов долларов. Он и до сих пор вполне эффективен, если речь идет об обработке деловой информации. На основе Кобола создан вполне современный язык работы с базами данных Кларион (Clarion). 9 Первые разработчики не различали такие вещи, как разработка языка и написание для него транслятора, то в дальнейшем эти два процесса были совершенно отделены друг от друга. Языки разрабатывали одни люди, а трансляторы писались совершенно другими. Пользователям компьютеров очень хотелось, чтобы программы были универсальны и хорошо работали на компьютерах других типов. Это привело к необходимости стандартизации описаний языков, по которым в дальнейшем различными фирмами и создавались трансляторы. 10 Определилось три направления работы: 1.Разработка языка. 2.Определение стандарта языка. 3.Написание транслятора с языка программирования Далее стало ясно, что для каждою вида человеческой деятельности, связанного с обработкой информации, желательно иметь свой собственный язык программирования: 11 •· язык для деловых применений (например, Кобол); язык научно-технических расчетов (Фортран); •· язык обработки таблиц (APL — A Programming Language, или язык программирования, — еще одно скромненькое название); •· язык программирования металлообрабатывающих станков (APT — Automatically Programmed Tools — автоматически программируемые инструменты); •· язык, моделирующий, по мнению специалистов, работу мозга и позволяющий быстро создавать системы искусственного интеллекта (IPL — Information Processing Language — язык обработки ин формации); •· язык для управления объектами в режиме реального времени и с некоторой претензией на универсальность (АДА, русский вариант аббревиатуры ADA); 12 язык «среднего» уровня для системных программистов, позволяющий получать максимально быстро работающие программы, занимающие минимум памяти (Си, от английского С); •· язык для «критичных» задач, работающий к режиме реального времени, и для бортовых компьютеров (FORTH); •· язык для обучения программированию (Паскаль, от Pascal); •· язык программирования для детей (LOGO); язык для тех, кто неспособен изучать программирование, но очень хочет программировать (Бейсик, или Basic); • и так далее и тому подобное... 13