Я перечитал вопрос, и я думаю, что мой первоначальный ответ не касался этого. Вот еще одна попытка.
Нет, я не знал ни о каком серьезном исследовании лингвистики языка программирования. Были прослежены языковые линии для двух основных ветвей и подотрасли:
- Procedimental. Фон Нейман . Дейкстра . Фортран, Паскаль, C.
- Объектно-ориентированный. Симула. Болтовня.
- Функциональная. McArthy . LISP.
Для тех из нас, у кого десятилетия в этой области, очевидно, что языки программирования смешались, и, таким образом, можно найти большинство аспектов любой чистой парадигмы в большинстве современных языков программирования, теперь называемых многопарадигмальными языками программирования : C #, Python, Java, .. .. Даже ранее чисто функциональные языки, такие как OCaml и Haskell, включают достаточно процедурных (через монады ) и функций OO, чтобы позволить вам что-либо делать.
Я думаю, что произошло то, что стало очевидно, что переключение языков программирования стоило (если не глупо) просто для того, чтобы иметь возможность применить правильную парадигму к данной подзадаче.
Остается исключение из тенденции в области высокопараллельных и асинхронных систем. Там предпочтительные языки строго функциональны, как и Erlang , возможно потому, что о таких сложных системах проще думать функционально.
Непарадигматическая часть эволюции была на синтаксисе. Языки, которые поощряют или даже допускают загадочные программы, становятся все менее и менее используемыми ( APL , AWK и даже Perl и LISP). В настоящее время доминирующими являются синтаксисы более читаемых (в отличие от легко записываемых) языков, таких как C (C ++, C #, Java, Objective-C, Scala, Go, IML, CSS, JavaScript, а также Python), Pascal (Fortran 90+). x), Smalltalk (Ruby), ML / Miranda (OCaml, Haskell, Erlang) и SGML (HTML, XML).
Эта диаграмма не совсем точна, и она не является современной, но она дает хорошее представление о том, сколько языков программирования сошлось со времен эры языков на сайт 1970-х годов.