Monday, February 26, 2007

Next Big Language

Steve Yegge talks about the inside information he obtained about the Next Big Language, providing details about all its features and must-have's without revealing its name. Aside from the - in my opinion - friggin' boring discussion he triggered (I didn't make it to the end of the thread, not even close), he makes some solid remarks:
"I want to encourage people to make their own languages, because doing it makes you a world-class programmer. Seriously. Not just a better programmer, but a best programmer. I've said it before, and I'm sticking with it: having a deep understanding of compilers is what separates the wheat from the chaff."
It may well be that Steve is right in all or many of the desires he has for the next big programming language. Personally, I do not see much need for the next big language (NBL) as I think the next small language (NSL) makes a hell of a lot more sense.
The NBL will be a generic monster. Sure, it may be a face-lifted version or remake of a current big language, but there is no way you will make a lean, agile, expressive and performing language out of it. The B in the acronym inevitably leads to compromise, to general-purpose and therefore to a lack of rise in abstraction. Bill Gates already spoke about abstraction rise and the lack of it only leading to ugly things at the Gartner Symposium in 2004:
"The key breakthrough in coding is to write less code. I mean, there's nothing magical that's ever going to make a million lines of code a pretty thing. Corporations, governments need the platform to move up to be so high level that with these modeling tools the amount of code they're writing -- and let's take an ambitious target -- over a decade we should be able to reduce the amount of code the write by at least a factor of five."
And to achieve that, we need small languages that are more expressive, more abstract and domain specific so that specifications in it can be automatically transformed into specifications in, well, we won't care really in what. For all I care in specifications in the next big language....we're not going to touch them anyway.

No comments: