Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

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.



I bypassed the library problem by calling Python from Arc and returning the results as s-exps. It took 40 lines of Python code.


If a language's popularity was closely dependent on library support, then (in your opinion) why hasn't Clojure gained mass adoption?


My comment boils down to the logical statement

  NOT has large initial library => NOT gain widespread use
You seem to be making a logical error based on a common problem with people's understanding of modus tollens: http://blog.jgc.org/2009/05/frequently-misunderstood-logic-m...

It is NOT the case that from my statement that it's possible to derive:

  has large initial library => gain widespread use


It's a lot simpler to say "large initial library is necessary but not sufficient for widespread use".


Or "all successful languages have large initial libraries, but not all languages with large initial libraries will be successful".


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


It's easily the most successful lisp in over 20 years. How popular do you want it to be?


Relative to Arc, it certainly has.


I would say "can be closely dependent". And for a LISP, it is doing pretty darn well.


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.

In short: Java bad. JVM very good.


> People who would like to use Clojure > or Scale aren't fans of Java.

I object to the word "fan", but I understand your meaning. Regardless, I love Clojure and like Java just fine.


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)




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: