I like reading Paul Graham essays from time to time, but sometimes he makes me scratch my head.
In his “Revenge of the Nerds”, essay he says:
“As one data point on the curve, at any rate, if you were to compete with ITA and chose to write your software in C, they would be able to develop software twenty times faster than you. If you spent a year on a new feature, they’d be able to duplicate it in less than three weeks. Whereas if they spent just three months developing something new, it would be five years before you had it too…So when I say it would take ITA’s imaginary competitor five years to duplicate something ITA could write in Lisp in three months, I mean five years if nothing goes wrong. In fact, the way things work in most companies, any development project that would take five years is likely never to get finished at all.”
Ok, a twenty-fold increase in productivity. So does anyone see the irony when he speaks of his new language Arc (which is built on top of MzScheme) in http://www.paulgraham.com/arc.html:
“Arc is a new dialect of Lisp we’re working on. It isn’t ready yet for general consumption…When will that be? We have no idea. We reserve the right to take a very long time. It’s been almost 50 years since McCarthy first described Lisp. Another 2 or 3 aren’t going to kill anyone. So please don’t send us mail asking what Arc’s status is or when it will be done. (When it’s done, we’ll tell you.)
Now I realize that he may be busy working with startups and painting and writing essays and it would be understandable if he were implementing his language with something less powerful than Scheme – say something that’s only five times more productive than C. But twenty times? I guess we should be glad that he’s not writing it in C – in that case, I guess we’d be waiting 60 years.
Now obviously I’m only half serious here – I have no idea what’s going on with Arc, as there’s not a ton of info about it online. Might a team using C take substantially longer than a team using Lisp? Sure. But I’d speculate that a team that picked C for such an application (or was forced to use it) has deeper problems.