В каком порядке производятся языки программирования?
Например, я знаю, что в основном все языки, которые являются объектно-ориентированными, в основном являются производными от C# или C++, верно? Кто-нибудь знает порядок, в который они пришли? Как C -> C++ -> C# -> PHP и т. Д.
3 ответа
Это может покрыть это: http://en.wikipedia.org/wiki/Timeline_of_programming_languages
Я знаю свою древнюю историю, а не мою недавнюю историю.
Процедурные языки основаны на FORTRAN, первом языке для компиляции произвольно сложных высокоуровневых формул в машинный код. ФОРМУЛА ТРАНСЛАТОР (Джон Бэкус, премия Тьюринга).
Процедурные языки, возможно, достигли своего апогея с Алголом-60 (комитет).
Важные производные Algol-60 включают Simula-67 и Pascal, а также через семейства Pascal, Ada, Modula и Oberon. Возможно, на CLU тоже повлияли.
Все объектно-ориентированные языки имеют корни в Simula-67, производном от Algol (Nygaard и Dahl, лауреаты премии Тьюринга).
Smalltalk-80 и C с классами (ставшими C++) находились под непосредственным влиянием Simula-67. Я не знаю, было ли влияние на Objective-C прямо из Simula или косвенно из Smalltalk. Аналогично Дельфи. Self и Ruby имеют сильное наследие Smalltalk. Java обладает сильным наследием Simula/C++; C# имеет сильное наследие Java.
Функциональные языки внедрены в LISP, для LISt Processor (Джон Маккарти, лауреат премии Тьюринга). На функциональные языки также сильно повлияла лекция Тьюринга Джона Бэкуса, в которой он спросил, может ли программирование избежать модели программирования фон Неймана с мутацией, по одному слову за раз. Произошло большое расцвет, в том числе APL, ISWIM, Hope, ML и Miranda. Затем, позже, Чисто, Haskell, Объектив Caml. Еще позже, Clojure, Scala и F#.
Тогда у нас есть нишевые игроки:
Языки обработки строк, такие как SNOBOL и Icon
Языки, основанные на замене, такие как TRAC, sh, TeX, Tcl и PHP
Динамические постфиксные языки, такие как FORTH и PostScript
Языки логики, такие как Пролог и Меркурий
Я не буду продолжать
Вот история в графическом формате: http://www.levenez.com/lang/