7 ms·
Many of the benefits of Lisps that you talk about here seem to be refuted by writeups I've read where large groups switched from a Lisp to something else...ofte
by bane 12y ago
Many of the benefits of Lisps that you talk about here seem to be refuted by writeups I've read where large groups switched from a Lisp to something else...often because it was hard to work with, slower to write and harder to maintain.
http://www.aaronsw.com/weblog/rewritingreddit http://www.aaronsw.com/weblog/rewritingreddit
Over at reddit.com, we rewrote the site from Lisp to Python in the past week. It was pretty much done in one weekend. (Disclosure: We used my web.py library.) The others knew Lisp (they wrote their whole site in it) and they knew Python (they rewrote their whole site in it) and yet they decided liked Python better for this project. The Python version had less code that ran faster and was far easier to read and maintain.
http://www.redditblog.com/2005/12/on-lisp.html http://www.redditblog.com/2005/12/on-lisp.html
If Lisp is so great, why did we stop using it? One of the biggest issues was the lack of widely used and tested libraries. Sure, there is a CL library for basically any task, but there is rarely more than one, and often the libraries are not widely used or well documented. Since we're building a site largely by standing on the shoulders of others, this made things a little tougher. There just aren't as many shoulders on which to stand.
...
We were already familiar with Python. It's fast, development in Python is fast, and the code is clear.
...
The entire task took less than a week, with 80% of the code written in a single weekend.
I know of several other large corporate projects over the years that made similar switches for similar reasons. Perl, Python, Java, etc. were faster to write in, performed better, and had better long-term maintainability (okay, maybe not Perl). Nobody regrets those switches except for a couple Lispers who continue to complain about how none of this is true, even after Lisp didn't provide the results, and something else did.
Continuing to claim that Lisp is better than all the proven better alternatives starts to make it smell like religion. Trying to explain away why a Lisp didn't work for whatever reason, but it's still the best start to taste like religion.
At some point its important to just make a call and realize that Lisps are interesting, you can compute with them, and they've had important influence, but they aren't the best way to do things - for many reasons. There's always another language choice that's faster, or easier, or offers a better ecosystem.
GNU CL has been out for a long while now, and it hasn't taken the world by storm. "Better", while qualitative in many respects, is also obvious, and it's obvious across a sample of millions of software projects that there are simply better holistic software development tools.
edit it makes me really happy when this gets downvoted without comment. Nobody ever downvotes an anti-Lisp rant with a pointer to a large and ongoing Lisp-based project. They just virtually claim I'm wrong without any substantial backup.
- lispm 12y agoAt reddit were not really Lisp experts - more like they heard the hype and believed it for a while, without having written anything substantial before. They wrote not more than a sketch of the site in Lisp and at the first sight of problems they switched to a language/implementation they were more familiar with. Neither Lisp in general nor SBCL specifically were/are that much used to form the bases of high profile websites. > I know of several other large corporate projects over the years that made similar switches for similar reasons. I've seen lots of large corporations rewriting all kinds of software. For example I've seen a lot C++ software being rewritten in Java. Large corporations are not interested to use 'powerful' languages like Lisp. They are more interested in cost cutting, outsourcing, offshoring, 'industrialized' software production, cheap supply of labor, ... > Continuing to claim that Lisp is better than all the proven better alternatives starts to make it smell like religion. It's religion. Stallman's statement is decades old. Lisp is powerful, flexible, etc. ... but there are a lot of great alternatives. Plus, as I said above, in many companies 'powerful' and 'flexible' is not the most important criteria when selecting languages and tools. Java got successful because of other qualities: being developed by SUN (then Google and IBM) for enterprise software development. 'GNU CL' was never a GNU project as such. GNU CL based on KCL/AKCL and has been used in a few applications. It never has been a focus of the GNU project - it's merely published under their umbrella. Stallman also never was a fan of Common Lisp - when he developed Emacs Lisp, he developed a very much simpler version, also based on Maclisp - which Common Lisp replaced.
- bane 12y agoSo here's the list you provided, somebody had to rebut me, we may as well enjoy the debate. - to use a lisp on large-scale production software, the developers need to be experts, while the same isn't true of other languages - if you just commit long enough, a lisp will come through in the end - unless it's the wrong lisp (without specifying what is a right lisp) - large corporations don't want to use languages that are powerful or flexible, they prefer weak and rigid languages - lisps don't provide cheap, large-scale, easy to synchronize development at an industrial scale - other languages became successful because they targeted their audience So let's invert that and derive the ideal audience for a lisp that you just described: - not on a large scale project or team (something you can write 80% over a weekend in Python is too large) - already at an expert level - will commit to a path even when it's not working I'm not saying this to bash your statement, but I think you've provided a microcosm of why not to use Lisp. From a language selection standpoint, there are pitifully few consequential projects that scope to the ideal for a lisp. There's no obvious as to why its better, and there is to all of the alternatives. Based on this, it's possible to make easy arguments as to why to choose Asm, Perl or 80's Basic over a lisp that make those languages look like great ideas for almost any project where a lisp might be proposed. And nobody still has backed up a downvote with a pointer to a good lisp project. Not even one. I can probably find a list of ongoing MS-Basic projects without too much fuss, but it's like doing dentistry on an angry tiger to get something similar from the lisp community.