1. 26
  1.  

  2. 13

    Fails to deliver on the promise of an unthinkable thought.

    1. 4

      The author seems to be thinking that the Smalltalk programme had some merits that the current PLT programme doesn’t, which I find unthinkable. So it delivered as far as I’m concerned.

      1. 3

        Most tantalizing question was:

        ..when and why did we start calling programming languages “languages”?

        1. 3

          That seems neither unthinkable nor unanswerable. I mean, I don’t know the answer off hand, but there’s a finite number of papers one can read to find out.

          1. 1

            Yup. I wasn’t disagreeing with you.

          2. 1

            The same reason earlier formal languages like predicate logic are called languages.

            1. 1

              Uhh, citation required?

              1. 2

                Do you not think computer languages are formal languages? Do I need a citation if I say English is a natural language?

                1. 1

                  Ah, that link/term is helpful. Thanks!

                  I’m sorry I’m annoying you.

                  Do I need a citation if I say English is a natural language?

                  No, but the whole point under discussion is why our terminology connects formal languages with natural languages. When did the term “formal language” come to be? The history section in your Wikipedia link above mentions what the term can be applied to, but not when the term was coined. Was it coined by Chomsky at the dawn the field of mathematical linguistics? That’s not before computers, in which case the causality isn’t quite as clear and obvious as you make it sound.

                  I’ll stop responding now, assuming you don’t find this as interesting as I do.

                  Edit: wait, clicking out from your profile I learn that you are in fact a linguist! In which case I take it back, I’m curious to hear what you know about the history of Mathematical Linguistics.

                  1. 3

                    Was it coined by Chomsky at the dawn the field of mathematical linguistics?

                    It’s at least older than that. The term “formal language theory” in the sense of regular languages, context-free grammars etc. does date to Chomsky. But the idea that one might want to invent a kind of “formal” language for expressing propositions that’s more precise than natural languages is older. One important figure making that argument was Gottlob Frege, who was also an early user of the term (I’m not sure if he actually coined it). He wrote an 1879 book entitled Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens, which you could translate as something like, Concept-Script, a formal language modeled on that of arithmetic, for pure thought.

                    1. 1

                      Thanks a lot for that elaboration on the Frege link!

                    2. 2

                      In general they’re all languages because they have a syntax (certain combinations are ‘ungrammatical’ or produce interpreter/compiler errors) and a (combinatorial) semantics (the basic symbols have meaning and there are rules for deriving the meaning of [syntactic] combinations of symbols).

                      Formal languages go back at least to Frege’s Begriffsschrift of 1879, which isn’t before Babbage described the Analytical Engine (1837) but certainly before digital computers. And there are precursors like Boole’s Logic and Leibniz also worked on something of the same sort, and there are yet earlier things like John Wilkins’ “philosophical language” and other notions of a similar kind.

                      For modern linguistic work on semantics, the work of Richard Montague is perhaps the most important, and there are connections to computer science from very early on - Montague employs Church’s lambda calculus (from the 1930s) which also underlies Lisp.

            2. 1

              Nothing that extreme, no, but I’d say it delivers on questioning rarely-questioned assumptions.

              1. 1

                How would you know? Maybe you simply failed to think it.

              2. 1

                What a wonderful and provocative article.

                1. 1

                  How does “programming as taxonomies” compare and contrast with OOP?

                  1. 2

                    Well, it depends on what you consider OOP to be. I suspect the author was referring to Smalltalk at least a little there, but there are other possibilities.

                    1. 3

                      I’ve actually started writing a full response, and one of the ideas I’m trying to explore is how a lot of what we think of as “normal” OOP is just what survived the method wars, and before that we had much more diversity in our object taxonomies.

                      1. 1

                        is there a way I can already bookmark this post before you’ve written it please? I’m excited!

                        1. 3
                      2. 1

                        I think so. This idea of restrictive paradigms (of research and thought, rather than ‘programming paradigms’) seems commensurate with Alan Kay’s description of the pink and blue planes. The pink plane represents advances made within the current paradigm, the blue plane is accessible by asking incommensurable questions.

                      3. 1

                        I always start with a big list of programming paradigms when wondering about this stuff. Aside from fun discoveries, such lists keep us from building categories or explanations that are too narrow for the field as a whole.

                      4. 1

                        There clearly is a spectrum of possible ways we could think about how to program the problems we’re trying to solve. As we have seen in the course of the last 100 years or so, some paradigms have stood out more than others, while others have had their good parts taken from them.

                        I would argue that the very early paradigms stood out because they were easy to understand and iterate on. The last 20 years or so has shown that paradigms had to shift to accommodate to scale, i.e. when the Internet started to take off, developers had to go from handling a dozen users to handling upwards of a few billion users. I think that the “scale paradigm shift” is coming to an end since we’ve got many services on the Internet which can accommodate to massive scale.

                        1. 3

                          Be aware of an efficient markets fallacy or purposeful evolution fallacy here. Our current paradigm makes it possible to build services at internet scale, and there are a small handful of successful examples. This is not the same as having converged on a paradigm for building at scale, nor is it the same as having found the best or even a good paradigm for building at scale.