Hacker News new | ask | show | jobs
by briancarper 5838 days ago
My opinion today is largely the same, yes. I love Clojure and in my spare time I use it for everything. If I tried to do a web app in Common Lisp again, I'd probably have an easier time of it today than in 2008, because I know a bit more.

But I couldn't justify using either for a project for work. I generally choose Ruby instead nowadays. In Clojure I still end up rolling my own libraries for a lot of things, which is really quite fun in my spare time, but not justifiable if I'm billing by the hour and there are a dozen Ruby gems already written to do it.

We have seemingly constant threads on HN saying "I can't hire a good programmer!" What are the chances of my non-programmer boss hiring a good Lisp programmer? At the small non-profit at which I work? Good freaking luck.

I'm still using some PHP scripts at work today, and I still cringe to see the code, and I whine a little (to myself) whenever I have to edit it, and my boss still loves the end result, and it's done its job well for 2 years. What else matters? I believe in "Worse is Better" in this case.

I do sneakily use Clojure at work for small data-munging tasks. But not for code anyone else ever needs to see.

(I do also wonder why this blog post from 2008 made it to HN.)

1 comments

"In Clojure I still end up rolling my own libraries for a lot of things, which is really quite fun in my spare time, but not justifiable if I'm billing by the hour and there are a dozen Ruby gems already written to do it."

How do you think these Ruby libraries got written?

How do you think these Ruby libraries got written? This is the crucial point. Take it a step further and ask yourself why? There are 10x as many potential library writers for Ruby/Python etc because it's 10x easier to get up to speed in those languages.

If you want to put Clojure in the spotlight don't use it to build redundant, half-assed solutions to problems that are already solved. Use it to solve a new problem. Companies like Runa and BackType and Flightcaster are setting the right example here.

The point I was trying to make: someone out there was the first to use Ruby for a web app, and went out of her way to write a library to do something that web app needed to do. This functionality was already present in PHP and Perl, so there was no reason for them to build those libraries, right?

Someone has to get the basics in place. Trying to do a web 3.0 startup that may or may not succeed, using clojure, will have absolutely no impact on getting people to use clojure for web development.

"There are 10x as many potential library writers for Ruby/Python etc because it's 10x easier to get up to speed in those languages."

Why? Clojure is smaller, simpler and more consistent than either Python or Ruby.

Why? Clojure is smaller, simpler and more consistent than either Python or Ruby.

Forth is even simpler than Clojure. A language is not necessarily easy to learn just because it has a small, simple, orthogonal core. Understanding how bricks are made doesn't automatically make it easier to build a house. It's the difficulty of the macro-concepts that makes the most difference and most people find imperative programming and mutable state and infix syntax easier to handle than declarative programming and immutability and prefix syntax. Lisp has been more powerful than the competition for most of its history but it's never been popular.

TL;DR size isn't everything.

"It's the difficulty of the macro-concepts that makes the most difference and most people find imperative programming and mutable state and infix syntax easier to handle than declarative programming and immutability and prefix syntax."

Where is the empirical data to support this?

If by "empirical" you mean rigorous, double-blind style studies then obviously there aren't any just as there aren't really any for any serious programming language design questions.

The overwhelming (and it really is overwhelming) market preference is for imperative, infix languages with rich syntax. The extraordinary claim that this is purely circumstantial is the one that requires extraordinary proof.