Functional programming is a ghetto
blog.jelastic.com
blog.jelastic.com
They were also not even a tiny bit prosperous.
That being said, the OP does make a good point that the programming industry is a ghetto in the sense that culturally it has a particular way of thinking and approaching the world. What really isn’t interesting about it, is that almost every profession has the same thing. HN is an example of an internet ghetto in the form of a place that allows its users to only associate with each other if they choose even if they are geographically separated.
In 2011 the SBS talked about how broadband could lead to internet ghettos and I believe they have a point, but the question is: Is an internet ghetto really a bad thing? http://www.news.com.au/technology/broadband-could-lead-to-di...
this requires you to focus on how to solve the problem succinctly rather than blindly wiring up factories that eventually get you to the 2m line codebase mentioned below....
if that looks like a ghetto to you i wonder what other crazy ideas you have...
People don't use Java because they don't care about programming, or because they don't care about maintenance. People use Java (or PHP, or C#, or Perl, or C/++) because:
1. They get paid to do it. Historically, someone has realized that Java development was easier/faster/more stable than Lisp development.
2. Java has hella libraries. I mean hella. You can find a library for almost anything. Lisp...not so much.
3. Java is a language for doing things. Lisp is not a language for doing things. I'll change my mind when I see a 2m+ line codebase that's been in production for ten years.
> What we call functional programming is somewhat of a shibboleth for good-taste programming.
Your blog post is littered with drivel like this. I could quote almost every other line for the same reason.
???
2. Java has hella libraries. I mean hella. You can find a library for almost anything. Lisp...not so much.
Clojure?
3. Java is a language for doing things. Lisp is not a language for doing things. I'll change my mind when I see a 2m+ line codebase that's been in production for ten years.
Emacs?
Are you familiar with the concept of worse is better?
It's your post that reeks of ignorance and gross generalization.
Reddit, too, was once written in Lisp. It was rewritten for a reason.
http://paulgraham.com/avg.html
> 2. Java has hella libraries. I mean hella. You can find a library for almost anything. Lisp...not so much.
http://www.quicklisp.org/beta/releases.html
And that's just Quicklisp. To say Lisp doesn't have libraries for almost anything is pure ignorance.
> 3. Java is a language for doing things. Lisp is not a language for doing things. I'll change my mind when I see a 2m+ line codebase that's been in production for ten years.
Emacs has been in "production" since at least 1985, and is 650,000 lines of elisp and 318,000 lines of C (as of version 21.4, according to `wc`). The vast majority of its functionality is written in elisp, and Emacs is arguably more powerful than any editor or IDE written in Java. It's also more stable, easier to maintain, and new functionality can be added with only a handful of lines of code.
To be blunt, it does more in 600k lines than any 2m+ Java project ever will.
2) "A library for almost anything" (and lot of them abandoned or half done) != multiple libraries for everything and then some.
3) I wouldn't put forward elisp as an example of a good functional language. Actually it's crap. And Emacs is not more powerful that Eclipse or IntelliJ, except if you mean "has lots of hohum plugins and ome good ones".
That's not the point. The point was that they had a product that they could improve more rapidly than their competitors; a fact that they readily attribute to it being written in Lisp. Just about any other working Lisp programmer probably has a similar story.
And I do not put forward elisp as a "good" language. It is a Lisp, and the success and longevity of Emacs is a testament to its Lisp underpinnings.