Pavel Nakonechnyy

Развитие программирования

Опубликовано by Pavel Nakonechnyy on (изменено: ) в Leadership and Soft Skills.

Я не стану переписывать статью из Википедии и абстрагируюсь от истории и дат, манипулируя лишь фактами.

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

Например программа Hello World для MS DOS выглядела вот так:

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Ужасно, правда? Читать машинный код практически невозможно, а писать еще сложнее, потому прогресс двигался вперед.

Вскоре после них были созданы “языки ассемблера” или языки второго поколения. Команды ассемблера представляют команды процессора. На самом деле, этих языков огромное количество, под каждое семейство процессоров свой.

В отличие от машинного кода, ассемблер стал более-менее читабелен, позволил использовать динамичные переменные, но это все еще не устраивало общество.

Потому были созданы языки третьего уровня (Фортран, Паскаль, Си), они же — высокоуровневые языки. Среди них и первый функциональный язык — Lisp.

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

Процедурное программирование развивалось и переросло в объектно-ориентированное. На данный момент большинство прикладных ЯП уже реализует ООП.

“American progress” a painting by John Gast

Source: Blog

271