Как и когда возникли первые языки программирования — краткая история
У первых компьютеров не было экранов и клавиатур — для работы с ними использовали перфокарты. Но уже тогда писали программы, используя машинные коды. Чтобы облегчить процесс, придумали языки программирования. Tutortop решил рассказать, как возникло и развивалось программирование, когда появился первый язык программирования и как его использовали.
История создания программирования
Возникновение программирования часто связывают с появлением электронно-вычислительных машин, которые запустили в работу в 1940 году. Но это не совсем так. Зародилось оно в далёком 1822 году, когда английский математик Чарльз Бэббидж начал работу над созданием разностной машины. Он придумал аппарат, который производил вычисления.
Потенциал машины открылся не сразу — этому помогла Ада Лавлейс — дочь известного поэта Джорджа Байрона. Её и считают первым программистом. Девушка придумала идею применения в работе с устройством двоичной системы счисления и ввела основные термины программирования, которые используются до сих пор. Первая в истории компьютерная программа — тоже на счету Ады. При помощи наработок удалось выяснить, что необходимо для создания более «продвинутой» вычислительной машины или будущего компьютера. Это устройство для кодирования или перфокарта, память, блок управления, приспособление для подсчета и просмотра результатов.
Хоть Ада Лавлейс и сделала многое для развития программирования, оно начало формироваться только спустя 100 лет — после создания ЭНИАКа или электронного цифрового вычислителя. Для этого устройства программы нужно было писать на понятном для него языке и использовать двоичный код. Как и электронно-вычислительная машина, оно переводило данные с перфокарт в понятный двоичный код, делало вычисления и показывало результат в десятичном коде. Выглядели цифровые вычислители громоздко, заполняли все свободное пространство в комнатах.
Когда появился первый язык программирования?
Практика работы с электронно-вычислительной машиной показала, что язык взаимодействия с ней сложный и громоздкий. Программы в то время выглядели как последовательность нулей и единиц — допустить ошибку было очень легко, просто поменяв цифры местами. Их создание было трудозатратным, требовало повышенного внимания. При этом для каждой ЭВМ нужно было создавать свою программу и углубляться в особенности работы каждого из блока устройства. Было принято решение автоматизировать набор машинного кода. В 1947 году Кэтлин Бут вместе с другими учёными разработала язык ассемблера. В нём для обозначения команд и объектов использовали сокращенный набор букв или укороченные слова. Так программистам было гораздо проще работать над кодом.
Следующий шаг — появление независимых от типа устройств языков программирования. Это можно считать настоящим прорывом в истории программирования, как и создание компиляторов. Первый компилятор или программу, автоматически переводившую данные на языке программирования в машинный код, создала Грейс Мюррей Хоппер в 1952 году. Со временем количество компиляторов росло в геометрической прогрессии, но тогда это была удивительная разработка, которая сделала работу с кодом ещё комфортнее.
Чуть позже — с 1954 года по 1957 год учёные под руководством Джона Бэкуса занимались разработкой Fortran. Его как раз и считают первым массовым языком программирования. Fortran активно начали использовать для технических расчётов, точных вычислений. Его используют до сих пор, хоть другие языки программирования и затмили его своей популярностью. После того как Fortran начал с высокой скоростью распространяться среди научного сообщества, конкуренты задумались над созданием ещё более удобного языка. Первыми в работу включились Германия и Америка. Соперничества не вышло, зато получилось сделать новый язык программирования — Algol. Его также ждала всемирная слава и признание. Algol начали использовать в СССР, Европе, Америке. Повсеместно с распространением языка создавались и новые компиляторы.
Современники Fortran и Algol — языки программирования Lisp и Cobol. Первый сделали для работы с длинными списками данных, а второй для экономических операций. И Lisp, и Cobol продолжают использовать, например, в банковской сфере.
Структурное и объектно-ориентированное программирование
Структурным программирование назвали потому, что в работе использовались процедуры и функции. Развиваться этот вид программирования начал ближе к концу 60-х годов 20 века. Появление структурного программирования позволило уменьшить код программ и сделать его более понятным. Ведь теперь, например, вместо выполнения одной и той же задачи можно было объявить функцию и не прописывать данные несколько раз. Структура помогла разбить программу на составляющие элементы и значительно облегчила работу с большим массивом данных. Хоть этот тип программирования и был удобным, но исчерпал себя, когда код достиг определённой длины. Поэтому учёные всерьез задумались над разработкой нового подхода.
В 1964 году Томас Курц и Джон Кемени разработали BASIC для того, чтобы делать несложные программы. В основе этого языка программирования находились Fortran и Algol. Название ему дали не просто так. Учёные решили, что без умения работать с компьютером в будущем будет довольно сложно. Они решили сделать язык простым и понятным, в первую очередь для преподавателей, которые будут передавать свои знания студентам.
Simula и Smalltalk — первые объектно-ориентированные языки. Благодаря их появлению возникли такие фишки, как редактирование кода в реальном времени, динамическая типизация. Они создавались на базе структурного программирования, но с такими концепциями, как полиморфизм и наследование. Использование структур стало ещё эффективнее, когда их объединили в классы, содержащие в себе не только переменные, но и функции для работы с ними. Появилась возможность тестировать не всю программу целиком, а разбить её на классы — так было удобнее и быстрее.
Когда создали Паскаль?
Одним из массовых структурных языков, который быстро обрёл популярность, стал Паскаль. Его придумали в конце 60-х годов 20 века в качестве языка для обучения студентов программированию. Но он стал распространяться не только в научной среде — Pascal активно стали использовать программисты для решения прикладных задач. После создания нового языка учёные решили и созданием транслятора для перевода в машинный код. Уже в 1975 году Паскаль был модернизирован и работать с ним стало в разы проще, чем на этапе создания и запуска.
В 1980-х годах, когда в школах начали вводить предмет «Информатика», именно Паскаль выступал в качестве учебного языка. Также его использовали и в высших учебных заведениях. На основе Pascal был разработан Object Pascal — язык программирования, который относят уже к объектно-ориентированным.
Возникновение языка программирования С
В одно время с Паскалем разработали известный многим язык программирования C. Позже на основе его синтаксиса сделали С++, Java, C#. До сих пор C используют для разработки операционных систем и приложений. Существует интересная история, связанная с созданием языка С.
Над языком программирования С трудился Деннис Ритчи и Кен Томпсон. Люди из их близкого окружения рассказывали, что известным программистам нравилась компьютерная игра, которую не получалось перенести на компьютер в их офисе. Но его операционная система была неподходящей, поэтому пришлось сделать новую. При переносе уже сделанной системы на другой ПК также возникли проблемы, поэтому Ритчи и Томпсон решили переписать её на язык нового уровня. Оказалось, что возможности уже разработанных языков не позволяют сделать этого — было принято решение работать над созданием нового.
В конце 1970-х Си стал использоваться даже чаще, чем BASIC. А в середине 1980-х его адаптировали под IBM-PC — так называется первый массовый персональный компьютер, выпущенный в 1981 году. Это и называют причиной скачка популярности этого языка, как и то, что на C была написана часть операционной системы UNIX — одной из самых часто используемых операционных систем в мире.
Онлайн-школы программирования на Си:
- C#-разработчик (оплата после трудоустройства) от Senergy Academy
- Разработчик на C++ от Нетологии
- Разработка игр в Unreal Engine на C++ от XYZ School
на покупку курсов в любой из школ-партнёров