Archive for April, 2007

Dil-old!

Tuesday, April 24th, 2007

What I’d like to have is a Dilbert cartoon making fun of people who still feel the need to plaster Dilbert cartoons all over their office and in the office kitchen.

That is so “bubble”.

Top 8 Features of My Dream Programming Language

Tuesday, April 17th, 2007

Reading Steve Yegge’s recent blog posting outlining what he claims will be the Next Big Language (NBL) got me thinking about things I would like to have in my ideal programming language. Here, in no specific order, and with no claim for completeness (and trying to avoid the obvious ones which everyone else has covered ad nauseam) are my top language features for My Dream Language. I’ve covered some of these points before, but since then some new ones have come up.

Object-orientation

Any new language has to be object-oriented from the ground up. Python’s self parameter always makes me cringe, as it exposes that object-orientation was slapped on as an afterthought.

Multiple inheritance would be useful, but can lead to “strange” designs. A single-rooted hierarchy where everything is an object and is polymorphic to the common base class is vital. This means no int which is incompatible with an Integer and cannot be put into a bag of Object. Operator overloading should be supported on all types.

Strong concurrency support

Strong support for concurrent, multi-threaded, multi-processor development should be built into the language, as should the required synchronization mechanisms. Modern machines come with high-performance multi-core processors. A good new language should allow application developers to make use of these.

Java has pretty good concurrent programming support, which I use a lot. Using any object as semaphore (block/pass) is quite helpful. One problem I have with Java’s concurrency support is that it involves way too much syntactic overhead for small concurrent tasks. Subclassing Thread, possibly in an inner class, overloading run(), etc. just makes what is a very nice language feature look very messy.