Hacker News new | ask | show | jobs
by jrockway 6417 days ago
Exactly. If you need to use Java for some reason, like getting at their libraries, you will do well to use anything other than the Java language. The platform is good. The language is 20 years behind the state of the art. Unless you are forced to work with other people that can't learn a language other than Java, there is no point in using it. I lean in the direction of Clojure, but lately the constant fanboi-ing is really putting me off.

C# is similar -- F# is a much better way of interacting with .Net libraries. It is even "fully-supported" by Microsoft from what I've read, so it is definitely a good alternative to C# if you prefer its functional style. (And who doesn't?)

Finally, if you don't need Java or .Net libraries, SBCL is a very nice Common Lisp implementation. It's fast, and if you like emacs, the tools are great. It is quickly becoming my favorite environment. (Perl is my other favorite.)

Despite what others say, you can write maintainable and well-performing code in any of these languages. So pick one and get started... that's the hardest part.

2 comments

"constant fanboi-ing is really putting me off."

Rejecting a language just because it is popular seems just as misguided to me as choosing a language just because it is popular.

Can't you just ignore the boi's and use Clojure anyway, if it's a good language?

I didn't say I would never use it, I was just saying that it's hard to be taken seriously when there is so much noise from the kids. A poor community reflects poorly on its users.

I also like CL's conventions better, and not having CLOS is a huge downside.

"so much noise from the kids"

Rich Hickey has recorded several hours of video describing Clojure in comprehensive detail from talks at various user groups and such. I really don't understand how it is so hard to ignore the "noise from the kids" and get the information you need to decide if you want to use Clojure or not. Are you implying that the kids will take the language in the direction they want it to go? I very much doubt that. Mr. Hickey seems very committed to his language and I don't see any indication that he might let go of the reins any time soon. One of the benefits of the benevolent dictator model.

Distinctions with Common Lisp are certainly rational reasons for choosing CL over Clojure, though. For myself, the easy availability of Java libraries trumps whatever else I might like about CL. I work at a university and take classes part time, and even in this environment there is a Java library for pretty much everything. The one time I tried to get a CL library working on SBCL that was developed for LispWorks, I suddenly had to understand pretty intimately almost everything about those two dialects on a deep level if I were to have any chance of porting it over. It was a pretty terrifying experience.

I definitely respect that you have a different set of priorities and opinions about why Common Lisp is best for you. But I remain unconvinced by your arguments referencing the Clojure community. I'm guessing that's where we'll agree to disagree.

I've never understood this. You don't like something because too many other people also like it?

You thought well enough of it to mention it by name; I don't see a ton of difference between you mentioning it and someone else saying it's good.

I can't really say I've seen anything bad coming from Clojure's community either; it's not anything like the old C.L.L flame-fests from the 90's.

How's .NET vs Java library-wise?