Well, its been over two years since I’ve last posted something here. In the meantime I’ve learnt perhaps more than I wanted to know about the gnarly details of HTML5 and how to make JavaScript run fast (or at least faster).

And since my first post of more than 3 years ago, it has become reasonably clear that the champion language of the teens is JavaScript. At least I no longer get a serious argument from the few visitors that come round to my office and who have some expertise in programming languages.

I can’t say that I’m particularly pleased with this, even though I’ve spent many years working on the language in one way or another. But I am not all that surprised, particularly in hindsight.

It also seems inevitable that JavaScript is going to become ever more complex. The language, for all its merits, has serious flaws and the only way to “fix” them is to keep adding new stuff to the language. If you follow the discussions on http://wiki.ecmascript.org, which I do with decreasing frequency and increasing distaste it is hard to be optimistic that JavaScript is becoming the final word in programming languages.

So let’s start again: By 2020, I hope to see another language getting the kind of attention JavaScript is currently getting. Of course, I’d like to have designed that language. And in fact, over the last 6 months or so I’ve spent the occasional Saturday or Sunday designing a new language. On the one hand, I’ve had more fun than I suspect is legal in most states, on the other hand I seem to have come up with a language that has a fan club of exactly one member – me. And since I’m a long way from being done with the design, let me not inflict it on you just yet.

But perhaps I can share the premise: I think languages become popular while they are small and simple (and that holds for C++ too) and then, once they gain adoption, they become fiendishly complex because they are not quite up to the job and become ever more useful in a haphazard way in kitchens with far too many chefs.

So, new languages have to start simple. But just how simple can we make a language? No person in their right mind want to write real programs for Turing machines or using the Lambda calculus. LISP (or Scheme if you prefer) have been around forever claiming to be so simple that it doesn’t even need a syntax. And while there are plenty of sane people who write real programs in LISP/Scheme, I am not one of them. Nor do I find LISP/Scheme particularly simple. Only the concrete syntax is simple (far too simple for my taste). It still takes a thick book and lots of dedication before anyone can really claim to be a master of LISP/Scheme.

Far better candidates for the title of simple, yet useful, powerful and above all beautiful are languages like Icon and SETL.But I think it is clear enough that these languages have reached the end of their road.

So let’s start again. I want a language that is at once as simple as possible while powerful enough and beautiful enough that I would be happy to use it for my actual work on a daily basis.

In my new few posts, I plan to set out my bottom line: What do you need to put in language if you hope to count me among its happy users?