3 ms·
This article is starting from completely the wrong point. The default state of a programming language is somewhere between "dead" and "niche". You wouldn't expe
by jsnell 14y ago
This article is starting from completely the wrong point. The default state of a programming language is somewhere between "dead" and "niche". You wouldn't expect a language to take off unless it's got something special going for it. And Arc had very little. Basically lots of hype built around a cult of personality.
And in the other column, the Arc had significant things going against it. It was a toy implementation by somebody who really had more important things to do with his time. It didn't bring anything substantial to the table -- to a first approximation it felt like a basic Scheme with a idiosyncratic function naming scheme. It didn't have any killer features. It didn't have a significant standard library. Compare that starting point to e.g. Clojure or Go. It's like night and day.
The question isn't why Arc didn't take off. It's why anyone would expect it to take off in the first place.
- pg 14y agoYou're being a bit uncharitable. Even though I haven't spent a huge amount of time on Arc, there's more to it than just hype. I know Common Lisp and Scheme really well, and I would much rather program in Arc than either of those. Now that I'm used to Arc, I find writing code in CL or Scheme painfully clumsy. And though language design (as opposed to implementation) may not seem "substantial," it does matter. Scheme itself was initially an exercise in language design-- a cleaning up of MacLisp. It didn't only become "substantial" when people started writing complicated compilers for it.
- jsnell 14y agoI don't think the convenience of Arc is a very widely held view among Lisp users. But that's setting also setting the bar way too low. If Scheme or CL didn't exist, and somebody tried to launch them as new languages today with a first generation implementation, they wouldn't stand a snowball's chance in hell. Most probably CL or Scheme as new languages wouldn't get any traction even with a mature implementation + good library coverage right at the start. It's much easier for a language community to be self-perpetuating at a certain size than to actually grow to that size. I agree that Scheme didn't only become substantial once the implementations became mature. But that's because it had a few fresh big ideas (lexical scoping/closures, CPS), not because it was new. Likewise it didn't become popular (as much as it ever became popular) just due to existing, but largely thanks to being used as the teaching language for a legendary intro course at a prestigious university. As for the "hype" comment, that wasn't intended as a negative attribute. It's very hard for a language to succeed purely on its own merits. Tens of man years of effort had gone into Go before it was launched. It might still have failed had there not been such powerful marketing hooks in place (created by Bell Labs legends, having the appearance of being backed by Google). Arc had a good marketing hook as well. That would have made bootstrapping an initial community much easier than e.g. for Clojure. And just to be clear this isn't intended as a personal criticism! There's just one YC, but hundreds of new languages and implementations appear every year, slowly advancing the state of the art.
- pg 14y agoOf course it isn't widely held, since hardly any have tried it. The question is whether it's true, and that is something I think I'm qualified to judge.