📖Growing a Language

Steele, Guy
  • Small programming languages are limited. Large programming languages are more useful, but are longer to produce, thus loosing market. (Related to The Rise of “Worse is Better.“)

  • The language should be neither small nor large, it should be extensible. It should allow the user to define their own abstractions that could look indistinguishable from the built-in language features. Language authors should then pick the best libraries and include them as part of the languages.

    • I think this is what Clojure is doing.

    • Forth is also extremely extensible. Unfortunately, language authors do not seem to accept additions to the language.

  • He talks about how Java could be made more extensible: generics, operator overloading, etc. It’s kind of funny to see these ideas expressed in 1998 and knowing that only generics got implemented.