Nu Seems Stable (by Jason Grossman)

Wednesday December 9, 2009

I've been nagging Tim to say something about the stability of recent releases of Nu, so he asked me to write this.

Nu is a new language (no pun intended - see below for the etymology of the name Nu). It hasn't yet formed the basis of an impressive suite of stable software, and you'd think hard before using it to write anything mission-critical.

Despite that, it is actually rather stable. Let me say more about why.

The main thing is that most of the heavy lifting in Nu is done by Objective-C class libraries which, unlike Nu, are old, stable and well tested. This is where the real meaning of the name Nu comes in. Nu is the physicists' symbol for c over lambda, and Nu the programming language is a small core of Lisp (the lambda part) managing either Apple's Cocoa libraries or the Free Software Foundation's GNUStep libraries (the c part). Tim wrote the Lisp core, and there are probably bugs, but since it's a small core it's relatively easily tested and so far seems to be doing well. The Objective-C libraries are of course in use in many, many mission-critical applications, and while no doubt they too have bugs, they've been extremely well tested by the standards of modern general-purpose code.

Nu is also fairly stable in the sense of being more or less feature-complete. Tim does have plans to expand it, but expansion is likely to mostly be in the form of orthogonal features added as libraries, such as nuke, nubake, nunja etc. So we can expect that future versions of Nu will be almost entirely back-compatible. (Notice how I didn't quite corner Tim into promising anything there?) And its list of features is already much more impressive than most other new languages, since that list is actually the list of everything offered by Apple on Mac OS X, or by GNUStep on other unixes (with some tiny exceptions for Apple technologies not easily available via Cocoa, but there are really very few such things these days).

In summary, I think Nu is much more stable at this point than you might surmise from the version number or from the relative lack of activity on this web site. Tim attributes this stability to two things: (1) the quality of everything that it's built on: Objective-C, the Foundation library, and the McCarthy-style Lisp that he conformed to... and (2) his impatience. He says, "I am more interested in what I can make with Nu than the language itself, and once I had it I wanted to do everything with it (nuke, etc.)."

To summarise the summary: don't worry, be happy, feel free to use Nu to write serious applications. Oh, and please email Tim or post to the Google Group when you do.

Thanks, Jason! -- Tim