мне одному показалось, что практически все советские языки, как под
кальку повторяли процедурные вроде Алгола (в упрощённом варианте, -
Паскаля) разница между ними - непринципиальная, ну в некоторых
возможностях специфических процедур и функций, а так-то те же яйца.
На самом деле направлений в программировании и языках не так много.
Мне видятся вот такие примерно вехи и ориентиры (очерёдность и
хронология возможно немного другие, но я старался соблюсти
временной ряд :))
1) МАШИННЫЕ КОДЫ/АССЕМБЛЕРЫ - ну тут всё понятно без комментариев, - самый низкий и наиболее близкий к железу уровень
2) МАКРОАССЕМБЛЕРЫ С ПРЕПРОЦЕССОРАМИ - по эффективности - ассемблер. но по простоте работы уже ЯВУ практически (ну почти :)) к тому же с полноценными инструментариями библиотекарей и линкёров (в чём-то перекликаются с продвинутыми ассемблерами из п.1)
3) АЛГОЛ - наверное первый серьёзный процедурный язык структурного программирования, прародитель "паскалеподобной" группы
4) ФОРТРАН - первый массовый, ориентированный на математику и вычисления (де-факто стандарт научный вычислений с несметным множеством готовых научных библиотек)
5) БЭЙСИК - самый массовый интерпретирующий язык со множеством достоинств и недостатков с ограничениями, в первых версиях и в последующем доросшим по возможностям до "взрослых" языков, но в силу интерпретирующего характера работы, обладающий непревзойдённой простотой осваивания и интерактивностью.
6) ПАСКАЛЬ - вершина процедурных языков по изяществу, красоте и простоте (клевещут, что упрощённая версия Алгола :))
7) ФОРТ - красивая ветка, "самомодифицируемого" языка не получившая должного развития, органичный симбиоз интерпретаторов и компиляторов, с огромными возможностями написания компактного простого в понимании и высокоэффективного кода, с ориентацией на системы управления, и даже реализованный в железе в виде ФОРТ-процессоров, но, требующий "абстракции мышления определённой, отличной кардинально общепринятой от процедурных языков для" :)) К сожалению незаслуженно забыт, но возможно получит "второе дыхание" с развитием робототехники и систем ИИ.
8) ПРОЛОГ - язык ориентированный на описание логических алгоритмов абстрактной обработки данных, и диалогового взаимодействия с пользователем
9) ЛИСП - язык оперирующий лексемами и ориентированный на обработку текстовых данных, списков и данных представленных списками. Не очень успешная попытка, реализации наряду с ПРОЛОГом, экспертных систем и систем ИИ (возможно не весь потенциал был раскрыт в те дремучие 80-е годы, когда язык начинал свой путь и аппаратура была хилее на много порядков :)
10) АДА - вершина классических процедурных языков (возможно где-то с ним поспорит МОДУЛА-2/3) по возможностям в написании сложных и надёжных программ - попытка создать единый максимально стандартизованный язык для всего (на самом деле богатый и сложный язык, имеющий хороший потенциал реализации и многопоточности, несмотря на почтенный возраст, заложивший основы ООП, возможно не утративший актуальности и потенциала и сейчас, но в силу сложности, наверное, и засилья фреймворков, практически мёртвый) На самом деле, может и не стоит выделять на фоне "Паскаля", который был мегапопулярен, но правда значительно уступал и в реальных возможностях и в потенциале, да и был немного в другой нише применения - в основном для обучения и некоторых коммерческих программ, в то время, как АДА позиционировался, как серьёзый язык с большими возможностями, для ответственных применений.
11) СИ - странное скрещение "ужа и ежа", т.е. возможностей языков низкого и высокого уровней, а так же препроцессор, позволяющие писать эффективный, и не очень запутанный код (расширения типа "плюсов", "шарпов" и прочего - не рассматриваем. Мегапопулярен, почему-то, вероятно ввиду эффективности получаемого кода и наличия огромного количества трансляторов под практически все платформы, включая микроконтроллеры :)) Довольно успешно реализовал парадигму юникса - одно действие - одна программа, т.е. всё в нём - функции (читай "программы") - де факто входной язык *nix - ОС и язык написания ОС и драйверов (правда то было раньше, сейчас превалирует скриптовый говнокодинг с использованием разных фреймворков, т.к. железо позволяет вообще не заморачиваться написанием эффективного кода :((
12) JAVA/JS - попытка создания универсального межплатформенного языка, а так же очередного симбиоза интерпретатора (скрипты) и компилятора
13) ДРАКОН - оригинальный графический язык описания алгоритмов
ну как-то так, - то, что видится мне более значимым, с индивидуальными особенностями. Тех же классических компиляторов процедурных языков - "как собак нерезаных", да и скриптовых - изрядно, но все - как близнецы-братья, за исключением мелких отличий. Отдельно не выделил прикладные диалекты вроде всяких матлабов, писпайсов, "куд", разных OpenGL/AL/AI и т.п., языков управления аппаратурой и вёрстки, к примеру HPGL, PostScript, языков описания аппаратуры VHDL/VERILOG, а так же пакетных скриптовых языков ОС, вроде "баша" и прочего такого, не являющихся самостоятельным языками, в общем-то. ООП так же практически не коснулся.
немного подумав исключил из общего списка и HTML/XML - язык разметки и вёрстки текстовых страниц и структурированных форм передачи и обработки текстовой информации и данных представленных в виде текста и тэгов, а так же всякие dBase/SQL и прочие языки СУБД - как понятно из названия - эффективное управление базами данных. Это всё прикладное больше. А в списке оставил более-менее универсальные и фундаментальные языки, оставившие определённый след в истории :))
P.S. Вообще не претендую на полноту, - "так вижу", хорошо, если кто-то структурирует и дополнит со знанием дела (ну чисто так, для пользы дела), и выложит здесь как тайные ценные знания :))