Hacker News new | ask | show | jobs
by sedachv 5837 days ago
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.

1 comments

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.

No one who has taught functional programming to students has complained of higher failure rates. University students, high school students, middle school students, disadvantaged inner-city middle school students, elementary school, pre-elementary school (what do you think Logo is?).

In America, there is also overwhelming market preference for junk food. It doesn't mean junk food is better for you.

I don't think there's really much of an analogy between programming languages and food.

So what's your explanation then? If functional languages are no more difficult to learn and are more powerful why are they not used? Why have Python and Ruby flourished while Lisp and ML remain academic obscurities?

I still say the burden of proof is on the FP advocates. If you want to claim that everybody is doing it wrong you should have a pretty strong case.

"I don't think there's really much of an analogy between programming languages and food."

Programming languages are cultural, not technical, artifacts. For reasons why one language is used by more programmers at a given point in time than another you need to turn to sociology. Lisp has some clearly superior technical ideas, which is why it has continued to be used and expanded for the last 50 years, and why all the other languages you mention (Python, Ruby, ML) drew ideas there. On the other hand, a language like Perl (and as Python and Ruby will eventually be) is briefly popular, but has no compelling technical features or metaprogramming facilities for people to continue to use and expand it when another shiny new language comes along.