Someone recently pointed me to the Rust programming language which has some very nice features, although it’s still in early stage development. In particular, the system statically prevents [[pointer (computing)#null pointer|null pointer errors]], and does not permit [[dangling pointer|dangling pointers]]. The language FAQ also claims the “ability to define complex invariants that hold over data structures” … which looks very promising, and I presume is related to the (relatively recent) research on this topic (see e.g. this, this and this). However, I confess I haven’t actually downloaded Rust and tried it yet … but I will soon enough!
Anyway, it’s not the details of the language that really intrigued me. Rather, it was this comment made in the Rust language FAQ:
Why did you do so much work in private? … languages designed by committee have a poor track record. Design coherence is important. There were a lot of details to work out and the initial developer (Graydon) had this full time job thing eating up most days.
The thing is, it seems that development has been going on for the last 4 years or so in relative secrecy. I’m undecided whether or not this is a good thing: part of me thinks it is (since releasing junk too early means people will switch off before the project gets under way); but, part of me thinks it isn’t (since it takes a long time to build up a user base, and the sooner you get started the better).
He spent about 2½ years working on Clojure before releasing it to the world
There seems to be something of a parallel here, and I can only imagine his reasons were similar. I wonder whether this kind of story is true for other languages …