📖Growing a Language
- authors
- Steele, Guy
- year
- 1998
- url
- https://www.youtube.com/watch?v=_ahvzDzKdB0
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.