История языков програмирования
ИСТОРИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
ОСНОВНЫЕ ТЕМЫ:
первые шаги автоматизации программирования;
первые языки высокого уровня: Кобол и Фортран;
языки процедурного программирования;
языки искусственного интеллекта;
современные языки объектно-ориентированного и визуального программирования.
Первые шаги автоматизации программирования
Программы для
первых ЭВМ программисты писали на
языках машинных команд. Это очень
трудоемкий и длительный процесс. Проходило
значительное время между началом
составления программы и
Первыми "инструментами", которые экономили труд программистов, стали подпрограммы. В августе 1944 года для релейной машины "Марк-I" под руководством Грейс Хоппер (женщина-программист, морской офицер ВМФ США) была написана первая подпрограмма для вычисления sinx.
Не одну Грейс Хоппер волновала проблема облегчения труда программистов. В 1949 году Джон Моучли (один из создателей ЭВМ ENIAC) разработал систему Short Code, которую можно считать предшественницей языков программирования высокого уровня. Программист записывал решаемую задачу в виде математических формул, преобразовывал формулы в двухбуквенные коды. В дальнейшем специальная программа переводила эти коды в двоичный машинный код. Таким образом, Дж. Моучли разработал один из первых примитивных интерпретаторов. А в 1951 году Г. Хоппер создала первый компилятор А-0. Ею же впервые был введен этот термин.
Первые языки высокого уровня: Кобол и Фортран
В 50-е годы прошлого века группа под руководством Г. Хоппер приступила к разработке нового языка и компилятора В-0. Новый язык позволил бы программировать на языке, близком к обычному английскому. Разработчики языка выбрали около 30 английских слов, для распознавания которых Г. Хоппер придумала способ, сохранившийся в операторах будущих языков программирования: каждое слово содержит неповторимую комбинацию из первой и третьей букв. Благодаря этому компилятор при создании машинного кода программы может игнорировать все остальные буквы в слове.
Необходимость появления такой системы, язык которой приближен к разговорному, Г. Хоппер связывала с тем, что область применения ЭВМ будут расширяться, в связи с чем будет расти и круг пользователей. По словам Г. Хоппер, следует оставить попытки "превратить их всех в математиков".
В 1958 году система В-0 получила название FLOW-MATIC и была ориентирована на обработку коммерческих данных. В 1959 году был разработан язык COBOL (Common Business Oriented Language) (Кобол)- машинно независимый язык программирования высокого уровня для решения задач бизнеса. Одна и та же программа, написанная на машинно независимом языке, может быть выполнена на ЭВМ разных типов, оснащенных соответствующим транслятором с этого языка. Консультантом при создании языка COBOL вновь выступила Г. Хоппер.
В 1954 году публикуется сообщение о создании языка FORTRAN (FORmula TRANslation) (Фортран). Местом рождения языка стала штаб-квартира фирмы IBM в Нью-Йорке. Одним из главных разработчиков является Джон Бэкус. Он же стал автором НФБ (нормальная форма Бэкуса), которая используется для описания синтаксиса многих языков программирования .
В тот же период в европейских странах и в СССР популярным становится язык ALGOL. Как и FORTRAN, он ориентировался на математические задачи. В нем была реализована передовая для того времени технология программирования - структурное программирование.
Большое количество новых языков стало появляться в 60-е, 70-е годы прошлого столетия, но не все из них выдержали испытание временем. К языкам-долгожителям следует отнести язык BASIC, разработанный в Дартмутском университете в 1964 году под руководством Джона Кемени и Томаса Курца. По замыслу авторов, это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач. Наибольшее распространение BASIC получил на микро-ЭВМ и персональных компьютерах. Однако первоначально этот язык был неструктурным и с этой точки зрения плохо подходил для обучения качественному программированию. В 1985 году была создана версия языка True BASIC, которая по мнению разработчиков была совершеннее, чем PASCAL. В 1991 году появилась первая версия языка VISUAL BASIC.
Языки процедурного программирования
Для первых языков
программирования характерной чертой
была предметная ориентация. Это значит,
что каждый язык предназначался для
решения какого-то определенного
класса задач. COBOL был ориентирован
на решение задач бизнеса, FORTRAN - на
проведение инженерных и научных
расчетов. В эпоху ЭВМ третьего
поколения большое
Значительным событием в истории языков программирования стало создание в 1971 году языка PASCAL. Его автором является Никлаус Вирт, профессор из Швейцарии. Вирт назвал этот язык в честь французского математика и физика Блэза Паскаля, который в 1642 году сконструировал вычислительный механизм. Первоначально PASCAL создавался как язык для обучения. В нем ярко выражена структурная линия программирования. Широкое практическое применение язык получил с появлением персональных компьютеров в версии Turbo PASCAL.
Язык программирования С ("Си") был задуман как инструментальный язык для разработки операционных систем. Он создавался одновременно с операционной системой UNIX. Авторами этого языка и ОС UNIX являются американские программисты Деннис Ричи и Кеннет Томпсон. Первоначально К. Томпсон начал писать ОС UNIX на языке FORTRAN. В дальнейшем был создан язык С, и в 1973 году ядро операционной системы вместе с программами-утилитами было переписано на С. Этот язык является структурным языком высокого уровня. В настоящее время он применяется для разработки не только операционных систем, но и трансляторов, системных и прикладных программ.
Языки искусственного интеллекта
В 90-х годах прошлого столетия планировалось появление компьютеров пятого поколения, называемых машинами "искусственного интеллекта". В качестве основных языков программирования в этом, пока неосуществленном, проекте предполагались языки искусственного интеллекта LISP и PROLOG.
Создателем языка LISP (1956-1959 гг.) является Джон Маккарти, которого называют отцом искусственного интеллекта. Именно он первым ввел термин "искусственный интеллект". Основным в языке LISP является понятие рекурсивно определенных функций. Доказано, что любой алгоритм может быть описан с помощью некоторого набора рекурсивных функций. Основные идеи этого языка были позже использованы в языке программирования для детей LOGO, разработанном в 70-е годы в Массачусетском технологическом институте под руководством Сэймура Пейперта. Подмножество языка LOGO, включающее команды для Черепашки, применяется при раннем обучении программированию.
Язык PROLOG разработан
во Франции в 1972 году также для
решения проблем искусственного
интеллекта. PROLOG позволяет в формальном
виде описывать различные
Современные
языки объектно-
В последнее время одним из основных направлений в развитии программного обеспечения компьютера стал объектно-ориентированный подход. Под словом "объект" понимается структура, объединяющая в единое целое данные н программы их обработки. Стали популярны объектно-ориентированные операционные системы (например, Windows), прикладные программы, а также системы объектно-ориентированного программирования (ООП).
Первым языком с элементами ООП был язык Симула-67. В Turbo PASCAL, начиная с версии 5.5, появились средства ООП. Итогом развития Turbo PASCAL в этом направлении стало создание фирмой Borland системы программирования DELPHI (Делфи). Использование этой системы, в частности, дает возможность легко и быстро программировать слож-ный графический интерфейс. В 1991 году появилась первая версия языка VISUAL BASIC. Начиная с пятой версии (1997 год) язык стал полностью объектно-ориентированным. По данным на конец 90-х годов прошлого столетия количество программистов, использующих для своих разработок VISUAL BASIC, не уступает числу сторонников VISUAL C++ и DELPHI.
В 1985 году лаборатория Bell Labs (США) сообщила о создании языка программирования C++ (СИ++). Этот язык является сегодня наиболее популярным среди языков объектно-ориентированного программирования. С его помощью возможно создание программных приложений, ориентированных на любые машины - от персональных до суперкомпьютеров. Создателем языка является Бьорн Страуструп.
Представителем
языков объектно-ориентированного про-граммирования
является и язык JAVA, созданный в 1995 году
под руководством Джеймса Гослинга группой
инженеров компании Sun Microsystems. При его
разработке была поставлена цель - создать
простой язык, не требующий специального
изучения. Язык JAVA был разработан так,
чтобы быть максимально похожим на C++.
JAVA является идеальным инструментом при
создании приложений для Интернета.
1. Первые универсальные языки
Итак, начнем. Обратимся к истокам развития вычислительной техники. Вспомним самые первые компьютеры и программы для них. Это была эра программирования непосредственно в машинных кодах, а основным носителем информации были перфокарты и перфоленты. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке. Вместе с тем такой способ разработки давал программисту просто невероятную власть над системой. Становилось возможным использование таких хитроумных алгоритмов и способов организации программ, какие и не снились современным разработчикам. Например, могла применяться (и применялась!) такая возможность, как самомодифицирующийся код. Знание двоичного представления команд позволяло иногда не хранить некоторые данные отдельно, а встраивать их в код как команды. И это далеко не полный список приемов, владение хотя бы одним из которых сейчас сразу же продвигает вас до уровня «гуру» экстра-класса.
2. Ассемблер
Первым значительным шагом представляется переход к языку ассемблера (позволим себе маленькое лирическое отступление: английское название assembly language, или assembler, на русский переводят именно тем термином, который был использован выше. При этом у новичка создается впечатление, что язык назван в честь некоего человека по имени ассемблер. Достаточно забавная ситуация, не правда ли?). Не очень заметный, казалось бы, шаг — переход к символическому кодированию машинных команд — имел на самом деле огромное значение. Программисту не надо было больше вникать в хитроумные способы кодирования команд на аппаратном уровне. Более того, зачастую одинаковые по сути команды кодировались совершенно различным образом в зависимости от своих параметров (широко известный пример из мира современных компьютеров — это кодирование инструкции mov в процессорах Intel: существует несколько совершенно по-разному кодируемых вариантов команды; выбор того или иного варианта зависит от операндов, хотя суть выполняемой операции неизменна: поместить содержимое (или значение) второго операнда в первый). Появилась также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ. Появилось даже некое подобие переносимости — существовала возможность разработки целого семейства машин со сходной системой команд и некоего общего ассемблера для них, при этом не было нужды обеспечивать двоичную совместимость.
Вместе с тем,
переход к новому языку таил в
себе и некоторые отрицательные
(по крайней мере, на первый взгляд)
стороны. Становилось почти невозможным
использование всяческих
3. Фортран
В 1954 году в недрах корпорации IBM группой разработчиков во главе с Джоном Бэкусом (John Backus) был создан язык программирования Fortran.
Значение этого события трудно переоценить. Это первый язык программирования высокого уровня. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм. Напомним, что это современные компьютеры поддерживают подпрограммы на аппаратном уровне, предоставляя соответствующие команды и структуры данных (стек) прямо на уровне ассемблера, в 1954 же году это было совершенно не так. Поэтому компиляция Fortran’а была процессом отнюдь не тривиальным. Кроме того, синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок, таких, например:
В Фортране следующая
конструкция описывает «цикл
for до метки 10 при изменении индекса от
1 до 100»:
DO 10 I=1,100
Если же здесь заменить запятую на точку,
то получится оператор присваивания:
DO10I = 1.100
Говорят, что такая ошибка заставила ракету
взорваться во время старта!
Язык Фортран использовался (и используется по сей день) для научных вычислений. Он страдает от отсутствия многих привычных языковых конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения семантической корректности (соответствие типов и проч.). В нем нет поддержки современных способов структурирования кода и данных. Это осознавали и сами разработчики. По признанию самого Бэкуса, перед ними стояла задача скорее разработки компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже.
Появление Фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Программистов пугало снижение эффективности программ за счет использования промежуточного звена в виде компилятора. И эти опасения имели под собой основания: действительно, хороший программист, скорее всего, при решении какой-либо небольшой задачи вручную напишет код, работающий быстрее, чем код, полученный как результат компиляции. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.
4. Cobol
В 1960 году был создан язык программирования Cobol.
Он задумывался как язык для создания коммерческих приложений, и он стал таковым. На Коболе написаны тысячи прикладных коммерческих систем. Отличительной особенностью языка является возможность эффективной работы с большими массивами данных, что характерно именно коммерческих приложений. Популярность Кобола столь высока, что даже сейчас, при всех его недостатках (по структуре и замыслу Кобол во многом напоминает Фортран) появляются новые его диалекты и реализации. Так недавно появилась реализация Кобола, совместимая с Microsoft .NET, что потребовало, вероятно, внесения в язык некоторых черт объектно-ориентированного языка.
5. PL/1
В 1964 году все та же корпорация IBM создала язык PL/1, который был призван заменить Cobol и Fortran в большинстве приложений. Язык обладал исключительным богатством синтаксических конструкций. В нем впервые появилась обработка исключительных ситуаций и поддержка параллелизма. Надо заметить, что синтаксическая структура языка была крайне сложной. Пробелы уже использовались как синтаксические разделители, но ключевые слова не были зарезервированы. В частности, следующая строка — это вполне нормальный оператор на PL/1:
IF ELSE=THEN THEN THEN; ELSE ELSE
В силу таких особенностей разработка компилятора для PL/1 была исключительно сложным делом. Язык так и не стал популярен вне мира IBM.
6. BASIC
В 1963 году в Дартмурском колледже (Dartmouth College) был создан язык программирования BASIC (Beginners’ All-Purpose Symbolic Instruction Code — многоцелевой язык символических инструкций для начинающих). Язык задумывался в первую очередь как средство обучения и как первый изучаемый язык программирования. Он предполагался легко интерпретируемым и компилируемым. Надо сказать, что BASIC действительно стал языком, на котором учатся программировать (по крайней мере, так было еще несколько лет назад; сейчас эта роль отходит к Pascal). Было создано несколько мощных реализаций BASIC, поддерживающих самые современные концепции программирования (ярчайший пример — Microsoft Visual Basic).
7. Algol
В 1960 году командой во главе с Петером Науром (Peter Naur) был создан язык программирования Algol. Этот язык дал начало целому семейству Алгол-подобных языков (важнейший представитель — Pascal). В 1968 году появилась новая версия языка. Она не нашла столь широкого практического применения, как первая версия, но была весьма популярна в кругах теоретиков. Язык был достаточно интересен, так как обладал многими уникальными на так момент характеристиками
История развития языков программирования началась в ХХ веках.
Программирование - это искусство создавать программные продукты, которые написаны на языке программирования. Язык программирования – это формальная знаковая система, которая предназначена для написания программ, понятных для исполнителя (в нашем рассмотрении – это компьютер).
Другими словами, программирование – это четкая заданная последовательность действий, которые пишет программист.
Языки программирования делятся на три вида:
- машинные языки.
Очень непонятно для человека,
но очень понятно для
- языки низкого уровня. Например, Ассемблер.
- языки программирования высокого уровня.
Например, Паскаль, Си, Java.
Программирование имеет разные ответвления в написании программного продукта. На сегодняшний день существует тысячи языков программирования. Из них популярность и известность получают некоторые. Они отличаются простотой, быстротой и гибкостью и другими свойствами.
В начале развития программирования программисты писали программы одним файлом целиком и полностью. На протяжении 60-х годов запросы на разработку программного обеспечения возросли и программы стали очень большими. Люди начали понимать, что создание программного обеспечения – гораздо более сложная задача, чем они себе представляли

- История языков программирования
- История языков программирования
- История язычества удмуртов
- История Яндекс
- История Японии
- История Японии
- История японского театра
- История юриспруденции
- История ядерной физики
- История языка
- История языка BASIC
- История языка Паскаль
- История языка программирования Fortran
- История языка программирования Сobol