Lisp as an Alternative to Java (2000) [pdf]
flownet.com
flownet.com
It would be interesting to compare these programmers' salaries as well. I think that a lot of companies would still make a completely rational decision to stick to Java after such an analysis.
And several of Paul Graham's essays mention this--using a language other than Java (or C++) can actually be an advantage in hiring because those are languages that many people learn just to get a job, so the quality of the candidate base is lower on average, whereas if you're hiring for a Lisp hacker, you're going to get applicants who are genuinely passionate about programming. Then you also get the benefit of Lisp being a more expressive language that's faster to develop features in.
There must be some point at which the salary/talent tradeoff doesn't make sense. Take a team of half a dozen developers each with a million dollar salary. They'd be the best of the best, sure, but it's probably not the best deployment of resources.
Alternatively, consider a team of dozen unpaid interns. They're also probably too expensive.
Figuring out the correct mixture of talent and money is a hard problem, and companies are built on getting that right. And although it might be a good ego-stroke to think "expensive awesome programmers provide a lot more value than cheap competent programmers," it needs evidence, and the evidence for it probably varies in different contexts.
Exclusively hiring Java devs at below-market salary, as a lot of Fortune 500 companies do, is equivalent to a strategy of minimizing the salary axis while ignoring the talent axis.
Meanwhile in my day-to-day experience at work I am perfectly comfortable with making the generalization that "expensive, awesome programmers provide a lot more value than cheap, barely-competent programmers," because I personally have to work with the product of cheap, barely-competent programmers five days a week, so I know what an unmaintainable mess it is.
I mean, people hyping Erlang and mentioned WhatsApp a lot but never actually bothered to check that Rick Reed is just plain smart and have strong theoretical knowledge and lots of practical experience in System level work (he did C++, as you mentioned, while working for Yahoo)?
Also, nobody knew how smart and knowledgeable the WhatsApp team w.r.t to full-stack (like literally Full-stack, FreeBSD kernel/driver, Storage knowledge, Networking stack/low-level code, up to Erlang VM tweaks/patches/fixes).
Facebook, on the other hand, had to re-write their Messenger to C++ due to "lack of Erlang expertise". Somehow that recruiting aspect of the argument is lost somewhere in my book...Facebook couldn't possibly failed to attract smart Erlang developers.
Whenever I see people using Ruby or Python writing just CRUD web-apps but getting praised as better programmers than their Java counter-part seems a bit sad/unfortunate to me.
Java does have tons of programmers ranging from incompetent up to very competent (http://martinfowler.com/articles/lmax.html, lots of infrastructure component being written in Java: Hadoop, Cassandra, to name a view, Martin Fowler wrote the seminal Enterprise Application Architecture that most web-apps implement, LinkedIN build lots of infrastructure tools, NetFlix too).
I don't know...
Cranking out RoR apps is nothing special either, and there are plenty of barely-competent Rails devs on the market, but at least Rails actually makes simple CRUD apps simple to build. Why pay someone to fuck around with configuring Hibernate all day when they can get the same job done in a few minutes with ActiveRecord? It only makes sense if you're a megacorp that has a budget for salary but no meaningful way to measure productivity.
Yes, there are good devs and bad devs in any language community, and no developer is successful or fails just because of their language preference. But Java has its reputation as a bureaucracy-oriented programming language for good reason.
[1] http://www.ebhakt.info/dl/Comparejavaandc_D9F7/compare_java_...
[2] http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprtTR.pdf
Also, Clojure seems pretty trendy among certain circles these days, which is a Lisp on the JVM (and Python, JS, etc).
In general it seems that Lisp suffered from a closed ecosystem. I know that there are tons of simple Lisp interpreters for free. But there weren't any really good ones for free 10ish years ago with a permissive license. Take the Allegro CL used in the paper. The free version doesn't allow commercial use [1].
Sure, you could do things with LISP as we've seen with PG, but it's not anywhere as practical as Java was near it's inception. Java was free to use for whatever you wanted. It was quickly improving VM. Verbose < money.
Rewrites being uncommon, companies use the language that they started in. Start-ups use hyped languages that are considered good for the job in the current environment, in order to attract interest and inspire trust in their judgement.
Languages that were frowned upon can go back into favour; JS did. However, it only did so thanks to both the success of the platform it was on and a functional language committee. Lisp has neither, and is therefore unlikely to rise to fame.
If a company made a platform which recommended Lisp, and if a language committee rose to modernize the language and stifle innovation, it would start getting hype. I cannot see the future, but it seems unlikely, regardless of its technical merit.