No New Features

TeX and METAFONT have version numbers that asymptotically approach ? and e. This reflects Don Knuth‘s decision that it’s more important to create consistency with those tools than to add features. I’ve thought about something similar with programming language design: languages like Java and C# were very “teachable” in their initial releases. The addition of generics, if nothing else, makes them significantly harder to teach. Add closures, LINQ, type inference, etc. and you’re talking about something that, while not C++, has very different “teachability” characteristics, if nothing else. Plus, there’s the burden of supporting old decisions — like the confusing way that C# deals with finalizing resources (using, IDisposable, ~Class()).

Niklaus Wirth may have been on to something producing a family of languages (Pascal, Modula, Modula-2, Oberon) each of which incorporated his experiences and current thoughts, but which were clearly distinct efforts. I suppose that programming languages have become the brands, so we have Perl 6 and C# 3.0, rather than “the latest effort” from Larry Wall or Anders Hejlsberg. I can understand why dissociating a person’s name from a brand is good for the company, but I don’t know that it’s the best way to serve the industry. Maybe it could be like movies “From the people who brought you…”