Hacker News new | ask | show | jobs
by randallsquared 6151 days ago
This is, indeed, a symptom of the main problem with lisps today; there's so much power available, but a lack of incentives about not using it capriciously. Everyone writes their own implementations of relatively basic things, because the existing libraries don't do things in exactly the way they'd prefer, and it's just not painful to write a library that does just the parts you need. Clojure might get around this by tying itself to Java, as long as most Clojurists come from the Java world and are used to using those same libraries already.
1 comments

it's just not painful to write a library that does just the parts you need

And this is a bad thing?

a lack of incentives about not using it capriciously

That's an argument against higher-level languages. If a language lets me do what I want, it lets me use it capriciously if I want. The only way to inhibit capriciousness is to inhibit power and flexibility.

I suspect this complaint about Lisp, which seems to get trotted out every time, is made by (and for) people who haven't worked much with Lisp. It's just too remote from reality, or at least the corner of reality that I've personally traversed.

I spent a coupla years using Common Lisp as my language of choice. I like lisp (though I have specific issues with many details of actual lisps, as everyone does). However, after two years of experience with it, I was chagrined to find that it hadn't reduced the time it took to finish projects very much, if at all, over Python and PHP. There were two problems, really: lack of libraries that did what I needed to build on, and the ever-present temptation, much stronger than in most languages, to build everything myself, even where there was a 80% solution already existing.

I recognize that this stems directly from CL's greater power, and I don't want that power removed from a language; I just don't know how to get the power and develop a culture of good libraries and reuse.

Ok. I owe you an apology for implying you weren't speaking from experience.

The library complaint annoys me because it's become the thing that everyone repeats regardless of how applicable it is. The truth is that it depends on what kind of problem you're working on. Also, to the degree that it's easy to implement the portion of functionality that you need, the value of a library goes down; and no one seems to consider the cost of using a library, which can be nontrivial (e.g. learning curve, difficulty of modification).