The discussion of PG's decision to use closures for web development seems off topic. That doesn't directly affect the popularity of the language; it's quite possible to do things in Arc without using closures for state on the web.
I played around with Arc quite a bit and the biggest problem was that it did not have a standard library with enough stuff in it. In contrast (and talking about a totally different type of language) one of the reasons Go has been successful is the excellent set of standard packages.
If you start your language with sufficient standard library kindling then others can build on that and write more and more libraries. But start with insufficient libraries and it's hard to take off.
So, the initial releases of Arc were constrained by things that PG had already written. If you wanted to do the same then it was just fine.
As as concrete example I wanted on my old UseTheSource site (which was in Arc) to go grab a URL from a third-party site inside the code. There wasn't an easy way to do that so I wrote an external script in Perl and did the following in Arc:
(def hn-valid (user)
(if (uvar user hn)
t
(let v (system (+ "perl check-hn.pl " user))
(if v (= ((profile user) 'hn) t))
v)))
The Perl script grabbed a page on Hacker News, did some light parsing and returned either 0 or 1. That really put me off making any extra effort to use Arc (and I like Lispy languages) because I was either going to shell out to something else, or have to write everything from the ground up.
A similar thing happened with UseTheSource's Twitter integration where I could use Perl's Net::Twitter::Lite to trivially integrate.
Clojure IMO is gaining great mindshare as a practical Lisp, especially given how recent it is. I don't think anybody expects it to become as mainstream as Java. But it does attract programmers unfamiliar with FP, but whose appetite for languages higher in the power continuum has been whetted by languages like Ruby.
My colleague Steve presented a talk at RubyConf India titled 'Why Clojure is my favourite Ruby' which might appeal to such people. http://www.youtube.com/watch?v=PCdEbUBk6a0
People who would like to use Clojure or Scale aren't fans of Java. And if you aren't a fan of Java, chances are good that you aren't a fan of the JVM, too.
I'm already using something else. Why should I use the Java eco-system?
I don't see why this should be. It sounds a bit irrational. From my perspective, Java is an iffy language and Java programs are often nightmarish to read. But the JVM? I see no reason why my feelings about Java and its culture should color my opinion of the JVM. The JVM is a technical marvel. It runs Ruby faster than Ruby with far less effort. It supports a whole host of very different languages, many of them quite good. And it's just blazing fast (modulo startup speed).
There are other valid choices, of course, and the JVM is obviously not the optimal choice for every project, but I think it's fallacious to rag on the JVM just because its most popular language isn't to your taste.
I gained most of my expertise about the JVM running Ruby apps on it with JRuby (and after that, Clojure). I started out something of a Java-hater and eventually came around to kind of sort of liking Java (although I'd certainly rather write Ruby in the overwhelming majority of cases)
I played around with Arc quite a bit and the biggest problem was that it did not have a standard library with enough stuff in it. In contrast (and talking about a totally different type of language) one of the reasons Go has been successful is the excellent set of standard packages.
If you start your language with sufficient standard library kindling then others can build on that and write more and more libraries. But start with insufficient libraries and it's hard to take off.
So, the initial releases of Arc were constrained by things that PG had already written. If you wanted to do the same then it was just fine.
As as concrete example I wanted on my old UseTheSource site (which was in Arc) to go grab a URL from a third-party site inside the code. There wasn't an easy way to do that so I wrote an external script in Perl and did the following in Arc:
The Perl script grabbed a page on Hacker News, did some light parsing and returned either 0 or 1. That really put me off making any extra effort to use Arc (and I like Lispy languages) because I was either going to shell out to something else, or have to write everything from the ground up.A similar thing happened with UseTheSource's Twitter integration where I could use Perl's Net::Twitter::Lite to trivially integrate.