Сегодня мало кого удивит, если по телевизору вы увидите новость о том, что какой-то школьных написал программу, к примеру, для защиты личных данных. А вот ещё совсем недавно это было просто фантастикой. Просто поражает сила человеческой мысли, которая не только смогла придумать первый ЭВМ, так раньше называли компьютер, но и создать для общения с ним новые языки.
А вот как вы думаете, когда появился первый язык программирования? Я вот лично раньше думал, что где-то в 40-х – 50-х годах 20 века, но узнав истинную дату, испытал настоящий шок.
У истоков программирования
А началось всё в далеком 1804 году, когда Жозеф Мари Жаккард сам того не ведая стал первым программистом. Он создал необычный ткацкий станок, который использовал для своей работы двоичный код. В нем картонная перфокатка несла информацию о положении каждой нити, а реализовано это было посредством наличия специальных отверстий.
Первым же официальным программистом принято считать Аду Лавлейс, английского математика, которая написала первую программу для вычислительной машины, математически созданную другим выдающимся ученым Чарльзом Бэббиджом. Он предположил, что аналитическую машину можно запрограммировать с помощь определенных алгоритмов и взял за основу изобретение созданное Жаккардом, об этом, кстати, в своей статье про Аду Левайс написал Стивен Вольфрам, британский физик, математик, и программист:
“Сперва он представлял себе машину, которая вычисляет какие-то определенные формулы, однако в дальнейшем он добавлял новые возможности, как, к примеру, условия, и объяснял, зачастую предлагая весьма изящные пути, как с помощью механизмов реализовать тот или иной функционал. Но, что самое главное, он понял, как контролировать шаги вычислений с помощью перфокарт, подобных тем, что были изобретены в 1804 году Жакардом для задания шаблонов шитья на ткацких станках.”
Но здесь нужно понимать, что аналитическая машина Бэббиджом так и не была создана, даже симулирующая её модель. То есть, все изыскания Ады Лавлейс и Чарльза Бэббиджа были выполнены на бумаге.
Всё новое это хорошо забытое старое
Имена этих выдающихся людей были почти забыты до того момента, пока эту тему в 1936 году не затронул в своей работе Алан Тьюринг, придумав абстрактную вычислительную машину. Если интересно, что это за машина, то можете прочитать о ней в Департаменте компьютерных наук и технологий.
Тьюринг использовал в своей машине первый язык программирования, основанный всё на том же жаккардовом принципе нулей и единиц, то есть так называемый машинный язык или язык первого уровня, но данный подход был крайне неудобен. Дело в том, что при записи программисту нужно быть очень внимательным, ведь так просто допустить ошибку, написав, к примеру, вместо (0001000 0000101 0000001), что-то вроде (0100100 0000101 0000001). Я думаю, суть вы уловили. Ещё этот язык накладывает определённые компетенции на человека в виде знания структуры самой ЭВМ, а код в итоге становится просто огромным и должен быть написан отдельно под каждую машину с нуля.
И вот эту назревшую проблему задумал решить Конрад Цузе, создатель Планкалкюль. Этот язык, созданный в 1943-1945 годах в нацистской Германии, мог бы стать новым витком в программировании, но так как его работа была полностью опубликована лишь в 1972 году, программирование пошло по другому пути. В итоге в 1949 году появляется ещё один язык, так сказать второго уровня - Ассемблер, но в отличие от предыдущего - общедоступный.
Честно говоря, насколько я понимаю, ассемблер - это не совсем язык, а скорее группа языков или даже программ, которые собирают другую программу на языке всё того же простого машинного кода.
Семимильными шагами
Ассемблеры позволили писать программы небольшого размера, но сложность его использования в больших программных комплексах практически вынудила человечество сделать ещё один шаг, создав языки третьего уровня, такие как Фортран, Алгол, Лисп и Кобол.
Кстати в СССР большую популярность получил язык под названием Алгол, вышедший в 1958. А фортран, хоть и появился раньше, впервые использовали в СССР лишь в 1967 году на компьютере Минск-2.
Человечество вступило в эру цифровых технологий и стало появляется всё больше других языков программирования, каждый для своей специфической задачи в частности:
- 1964 год - BASIC;
- 1970 год - Паскаль;
- 1972 год - Си, Smalltalk,SQL;
- 1980 год - Ада;
- 1983 год - С++, Objective-C;
- 1987 год - Perl;
- 1990 год - Haskell;
- 1991 год - Python и Visual Basic;
- 1993 год - Ruby;
- 1995 год - Java и JavaScript, а так же PHP;
- 2000 год - C #;
- 2003 год - Scala и Groovy;
- 2009 год - Golang (Go);
- 2014 год - Swift.
Вот так вот один предприимчивый портной и пара математиков, создали для нас с вами абсолютно новую реальность. Мир, способный поражать и предвосхищать человеческое воображение, через машинные алгоритмы. Но, как и любой инструмент, программирование требует умения. Жаль, но уровень развития ещё не позволяет нам лишь по мановению руки создавать новые игры и программы, а ведь потребность в них сегодня крайне велика.
А о том, как все же нужно подходить к изучению современного программирования и его роли в нашей жизни вам расскажет Анжелика Тамерлановна, старший преподаватель кафедры "Медиатехнологии" ДГТУ.
Все статьи по теме: #woh_это интересно
Подписывайтесь на дзен-канал «Мир истории» и не забудьте поставить лайк))