1. 9
  1. 23

    I also excluded things like Ada, Algol, APL, and other relics that are historically significant but largely irrelevant now as they are not in use anymore

    You can’t say this is a list of the most significant programming languages if you’re going to exlude “historically significant but … anymore”! That leaves out some languages with a huge and lasting influence on our field:

    • Algol (influenced basically everything)
    • Simula (first objects, influenced all modern OO languages)
    • Smalltalk (first OO)
    • Pascal
    • CLU and Argus (iterators, contracts, abstract data types)
    • ML (first Hindley-Milner type system)
    • Automath (first theorem prover)
    • APL (ancestor of R, numpy, pandas, K)
    • Eiffel (design-by-contract)
    • Mathematica (probably an earlier inspiration I don’t know about)
    • Excel (fite me)

    EDIT: forgot PL/I, mostly because all I know about PL/I is “it was once really influential but isn’t anymore.” Time for the rabbit hole! There’s a good chance that JOVIAL should be on the list too, though it’s way more “popular” than “influential”.

    Man now I really wanna write a response article to this

    ANOTHER EDIT: For how incredibly popular COBOL was it’s kinda crazy that almost none of it can be found in modern languages. The other three major languages at the time - LISP, FORTRAN, ALGOL- appear everywhere.

    1. 2

      About Mathematica, I recall reading some history about it, that I don’t have a link to right now. However I remember the name “MacSyma” :

      https://en.wikipedia.org/wiki/Macsyma

      However, problems at Symbolics over the sales of Macsyma on computers other than Symbolics’ eventually led to the decline of Macsyma sales. In the first half of 1986, Macsyma revenues were lower than in the first half of 1985, in a growing industry. Wolfram’s SMP program and Waterloo Maple were growing at this time, although MACSYMA was easily superior to these other packages in symbolic math.

      which let me to Wolfram’s SMP:

      https://www.stephenwolfram.com/publications/smp-symbolic-manipulation-program/ (say what you want about him, he’s prolific and documents his work …)

      I’m not quite sure but I think Macsyma was mentioned in “The Dream Machine” by Waldorf.


      Anyway one thing I’ve never seen but I think would be fun would be a “mini-Mathematica” in Lisp and a “mini-ML” in Lisp, since both languages were originally written in Lisp. Along the lines of:

      https://plzoo.andrej.com/

      but in Lisp.

      I found the old C compilers to be pretty interesting and I suspect old languages in Lisp would be too.

      https://minnie.tuhs.org//cgi-bin/utree.pl?file=V7/usr/src/cmd/c

      1. 4

        Better link with an interesting credit to Rob Pike:

        https://writings.stephenwolfram.com/2013/06/there-was-a-time-before-mathematica/

        A big early decision was what language SMP should be written in. Macsyma was written in LISP, and lots of people said LISP was the only possibility. But a young physics graduate student named Rob Pike convinced me that C was the “language of the future”, and the right choice. (Rob went on to do all sorts of things, like invent the Go language.) And so it was that early in 1980, the first lines of C code for SMP were written.

        There was a patent dispute with SMP / Mathematica too which I vaguely remember:

        https://www.tuhs.org/Archive/Documentation/TUHS/Mail_list/2018-February.txt

        It sounds like Mathematica probably did not directly derive from SMP due to a court ruling.

        “A dispute with the administration over the intellectual property rights regarding SMP – patents, copyright, and faculty involvement in commercial ventures – eventually caused him to resign from Caltech. SMP was further developed and marketed commercially by Inference Corp. of Los Angeles during 1983-1988.”


        So I did remember that early symbolic math was written in Lisp, but I forgot that Mathematica’s predecessor SMP wasn’t.

      2. 2

        Obviously judgement calls abound there. The one I most disliked was the omission of pascal. Something in the S/R family really shoulda’ made it too.

        I’d sign on to most of your others apart from Mathematica and Excel. I’d leave off Mathematica because I just can’t see how influential it was as a language… the notebook idea clearly still thrives in jupyter though. I’ll fite you on excel because either you’re talking about generic spreadsheet concepts, in which case you mean visicalc or 123, or you’re talking about VBA, in which case BASIC is really what deserves to land in this list. Excel’s undeniably a significant development in computing just in terms of runtime ubiquity (I wrote a networked game in Excel in the ‘90s), but I don’t see how it lands in a language list like this.

        1. 1

          I’d leave off Mathematica because I just can’t see how influential it was as a language… the notebook idea clearly still thrives in jupyter though.

          I’m mostly interested in it from a symbolic computation perspective. It wasn’t the first though, as @andyc pointed out, SMP and MacSyma are probably more influential.

          I’ll fite you on excel because either you’re talking about generic spreadsheet concepts, in which case you mean visicalc or 123, or you’re talking about VBA, in which case BASIC is really what deserves to land in this list.

          Hah, guilty! I mostly included Excel because I think we programmers don’t think about “spreadsheets” as programming languages, even though they’re incredibly widespread and influential. But you’re right, I really want visicalc here.

          I’ve started drafting out the response, “20 most(ly dead) significant programming languages”. Trying to justify throwing Brainfuck on the list.

          1. 1

            Trying to justify throwing Brainfuck on the list.

            I think it was the first weird little vanity language that made it to my radar. And it’s certainly inspired its share of others. Like this one.. The fact that it was pre-LLVM makes it a little more notable in my eyes, too.

      3. 7

        Pascal … mostly dead

        I think you’d be surprised. Until two years ago all important control software for the Dutch railway system was Pascal on VMS.

        1. 5

          1978 SQL Oracle?

          In the linked Wikipedia article:

          SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce after learning about the relational model from Ted Codd[14] in the early 1970s.

          It was IBM. (Oracle was founded in 1977)

          2001 C# Microsoft multi-paradigm

          It is rather something like: attempt to copy Java.

          Multi-paradigmatic are many languages now: C++, Java, Scala, D, R…

          1. 3

            Yeah. I’d list C++ instead of C# for multi-paradigm: imperative, OOP, and generic programming. C# has the first two, but not really the third.

          2. 8

            This whole article is just trolling for attention and corrections to get views. Do not want.

            1. 4

              It’s a silly list, with lots of errors and omissions.

              Objective-C wasn’t used at Apple until 1997; it’s first adopter was NeXT. What’s interesting about it is that it’s a hybrid of C and Smalltalk. Swift is not “a safer version of Objective-C”; it has good bindings to Obj-C but as a language is extremely different.

              1. 3

                I don’t really understand the logic behind shell being excluded because it is “not a real programming language” but SQL seems to be included as a programming language. But I did enjoy the list, and it’s good to see that all these languages can still be written and compiled today.

                1. 3

                  Smalltalk seems to be a big one that is missing. First OO, influenced Objective-C, lots of firsts around GUIs, …

                  Also for not so mainstream languages and maybe nothing for the list, but many concepts that are now associated with Go came from Alef and Limbo. They just didn’t have the name Google on them.

                  1. 1

                    It’s COBOL, pretty sure, the language being used by the Canadian government. Anybody got any experience with these systems? I’d be curious how it all actually works.

                    [0] a job posting to write COBOL