4 ms·
> "Scheme belongs to a list of at least two dozen historical programming languages that have introduced very important innovations". What are they? Or, where c
by sourcepluck 3y ago
> "Scheme belongs to a list of at least two dozen historical programming languages that have introduced very important innovations".
What are they? Or, where can I go read something more about this? Any tip-offs greatly and sincerely appreciated.
I'm relatively new to programming, and have been focused mostly on Lispy ones (Emacs Lisp, GNU Guile, and most of all Common Lisp), so in browsing the propaganda around these languages, I'm constantly running into things that were allegedly pioneered in Common Lisp in particular.
Would love to read about the 20+ other languages with similar histories of innovation.
- adrian_b 3y agoI do not have time right now to search for the exhaustive list, but some of the most important old languages that introduced innovations are the following (most programming languages have introduced only one or two important innovations, so if you trace the history of each feature that is present in a modern programming language almost each of them leads to a different old programming language): Heinz Rutishauser (1951; the first form of the "for" loop); IBM Preliminary FORTRAN (1954-11-10); IBM FORTRAN (1956-10-15); IBM FORTRAN II (1958); John McCarthy, AIM-001 (1958-09); John McCarthy, AIM-003 (1958-10); John McCarthy, AIM-004 (1958-10); IAL (1958-12); John McCarthy, AIM-008 (1959-03-13); LISP I (1960-03-01); COBOL 60 (1960-04); ALGOL 60 (1960-05, 1960-06-28); Edsger Wybe Dijkstra, "Recursive Programming" (1960-05-11); JOVIAL; "A Programming Language" (Kenneth E. Iverson, 1962-05); IBM FORTRAN IV (1963); CPL (1963-08, 1965-10, 1965-11-29, 1965-12-20); SNOBOL (1964-01); BASIC (1964-10-01); "Definition of new data types in ALGOL x", John McCarthy (1964-10); IBM NPL (1964-12); "Record Handling", C. A. R. Hoare (1965-11); EULER (1966-01); SNOBOL3 (1966-03-04); Algol W (1966-06, 1968-03); IBM PL/I (1966-07); BCPL (1967-07-21); PL360 (1968-01); SIMULA 67 (1968-05); IBM APL\360 (1968-08); SNOBOL4 Version 2.0 (1968-10-07); ALGOL 68 (1968-12-20); BLISS (1970-01-15; 1971-12); MACLISP (1970-03-01); Pascal (1970-11); B (1972-01-07); C (1974-01-15); Alphard (William A. Wulf, 1974-04-30); SCHEME (1975-12); Modula (1976-03); Mesa (1976-10); IRONMAN (1977-07); ALGOL 68RS (1977-08); Alphard (1977-08); CLU (1977-08); Mesa Version 3.0 (1977-10); "Communicating Sequential Processes", C.A.R. Hoare (1978-08); Icon (1978-09-29, 1979-04); Ada (1979-06); Bjarne Stroustrup C with Classes (1980-04, 1982-01); Modula-2 (1982); C++ (1984-01-01); Occam (1985); ANSI X3.159-1989 "Programming Language C" (which introduced "enum"); Also the language ML and its derivatives are important. By innovation I mean either a new feature that could not be expressed directly at all in previous languages, for instance CPL has introduced "break", or a new kind of syntax format for expressing a feature that already existed in previous languages, for instance MACLISP has replaced "(QUOTE X)" by "'X". The dates correspond to language versions that introduced innovations, not necessarily to the first version of those languages.