Краткая история программирования: от двоичного кода до Питона

history4

Умные машины — роботы, компьютеры — помогают человеку во всех сферах жизни. Но чтобы договориться с ними, поставить задачу, нужно знать язык программирования.

Сегодня стать переводчиком с «человеческого» на «машинный» (то есть программистом) может почти каждый. Но так было не всегда. Коммуникацию налаживали медленно, шаг за шагом. Вот как это было.

Предыстория и Ада Лавлейс

История развития языков программирования началась ещё до появления компьютера: с программы, написанной Адой Лавлейс — дочерью знаменитого поэта Джорджа Байрона.

Друг Ады Чарльз Бэббидж в 1822 году задумал устройство, которое смогло бы вместо людей вычислять навигационные, астрономические, математические таблицы, и не ошибаться. Ада увидела в этой машине гораздо больше: она назвала её аналитической и предугадала, что подобные устройства в будущем смогут обрабатывать любую информацию, даже писать музыку и картины.

Краткая история программирования: от двоичного кода до Питона картинка 6
Разностная машина Чарльза Бэббиджа

Именно Лавлейс придумала ячейки и циклы, и написала алгоритм, по которому прообраз компьютера Бэббиджа смог бы вычислить последовательность чисел Бернулли. Но машину закончили уже после смерти Ады, так что протестировать свою программу она не смогла.

Двоичный код и ассемблер

Первые языки программирования представляли собой комбинации нулей и единиц. Двоичный код был понятен машине, но человеку было легко запутаться в нём.

У системы были и другие недостатки:

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

Поэтому следующим этапом в развитии программирования должна была стать система, которая позволила бы давать команды машине с помощью букв, сокращённых слов и других более разнообразных и понятных человеку символов.

Так появились языки ассемблера. Первый из них — автокод — разработала в 1947 году Кэтлин Бут. 

Языки низкого и высокого уровня

Ассемблеры были прорывом в истории программирования, но они по-прежнему разрабатывались отдельно под каждый тип ЭВМ. Сегодня их относят к языкам низкого уровня.

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

Одним из первых стал Plankalkül, разработанный в 1946 году Конрадом Цузе. Немцу после Второй мировой войны было трудно доносить свои труды до международного научного сообщества. Полностью они были опубликованы только в 70-е годы.

Краткая история программирования: от двоичного кода до Питона картинка 7
Первые программируемые компьютеры выглядели примерно так

Зато в 1957 году в IBM был разработан Фортран — первый из языков, которым пользуются до сих пор.

Си и все, что после

Дальнейшая хронология языков программирования (естественно, неполная) выглядит приблизительно так:

  • 1969 год. Кен Томпсон разрабатывает операционку UNIX и язык программирования B.
  • 1972 год. Деннис Ритчи создаёт C.
  • 1985 год. Бьёрн Страуструп — C++.
  • 1989 год. Тим Бернерс-Ли знакомит нас с World Wide Web, а затем разрабатывает и технологии HTML, URL, HTTP.
  • 1994 год. Расмус Лердорф — PHP.
  • 1995 год. Брендан Эйч — JavaScript.
  • 2001 год. Андерс Хейлсберг — C#.
  • 2008 год. Гвидо ван Россум — Python.

История развития языков программирования привела к тому, что они стали ближе и понятнее людям. Самый популярный на сегодня в мире Python осваивают даже подростки. Поэтому компьютерные программы можно создавать не только в научных целях, но и для самых разных повседневных нужд.

4-5 секунд вам потребуется, чтобы прочитать этот абзац текста и 1 секунда, чтобы нажать на стрелку и получить проект мечты
Заказать проект Заказать проект Заказать проект Заказать проект Заказать проект Заказать проект Заказать проект Заказать проект Заказать проект