3 ms·
You quoted two companies using Lisp when there are millions of Java devs. That's like a boxer with a record of 1-500. I love Lisp, but c'mon...I guarantee it ha
by FractalLP 8y ago
You quoted two companies using Lisp when there are millions of Java devs. That's like a boxer with a record of 1-500. I love Lisp, but c'mon...I guarantee it has far more hobby users than professional users.
ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money.
Practical Common Lisp isn't very good in my opinion, that was the example i actually used. SICP is great for a mind-opening experience, but not super useful on how to write modern software and is why the creators dropped it at MIT.
For multi-core I'd rather it be core than a library, but perhaps that is petty of me.
I think Lisp is great, but why it isn't popular shouldn't be a mystery to anyone.
- flavio81 8y ago>You quoted two companies using Lisp when there are millions of Java devs. So what? I was a Java dev myself. What does this mean? There are even more millions of Javascript users. What does this mean, really? >ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools that will confuse a new person and several cost money. Fear, Uncertainty and Doubt. They all implement ANSI Common Lisp. Right now i'm doing a project (not personal, it is for a company) and it runs on SBCL and CCL without any change. It would probably also run on ABCL straight away. It uses software transactional memory, bridges to C libraries and other stuff that isn't on the ANSI standard, yet it can also be written, very easily, in a portable way. So, what you write is FUD. >and several cost money. More FUD. From your list, only Allegro CL (= Franz) costs money. >Practical Common Lisp isn't very good in my opinion, that was the example i actually used. SICP is great for a mind-opening experience, but not super useful on how to write modern software and is why the creators dropped it at MIT. SICP is not for writing modern software, is for understanding fundamentals. If you develop without having a solid grasp of the fundamentals, you become a "CODE MONKEY" (caps intentional), and this is what MIT is in danger of producing now (i'm not the only one to criticize the MIT for dropping SICP...)
- FractalLP 8y agoMy point is simply that niche languages are harder to hire for and find a job in. Most people aren't okay with that. There is a feedback loop here as less people use it and less libraries are written. That doesn't mean the language is inferior to Java in any way, but a new developer has to stay relevant by learning languages and frameworks that people use in-house. This is a major reason it isn't popular. I have 300 people in my IT department. They've all heard of Java & C#, but I've never run into anyone who has even heard of Lisp (maybe that is marketing).
- PuercoPop 8y agoYou don't have to hire for Lisp, or any language for that matter. Picking up a language is way easier than fundamental skills (statistics for AI for example). IIRC Dan Weinreb of ITA fame said they gave their new hires a copy Practical Common Lisp and two weeks. You know, the book that you dissed earlier in the thread w/o an argument. > less libraries are written. Given that Sturgeon was an optimist[0], that is hardly a problem. The only reason why most OSS libraries are using is because people don't do the due diligence of vetting their dependencies. There are more than enough libraries of adequate quality for common tasks. [0]: “And folks, let’s be honest. Sturgeon was an optimist. Way more than 90% of code is crap.” – Al viro
- FractalLP 8y agoOnce again, you quote isolated incidents when I'm talking about the entire programming industry. I never said it wouldn't work for some people. It might have been Tarver talking about the Lisp curse. Lisp is so powerful that everyone kind of does their own thing while devs of C++ and Java have to band together and make massive libraries. This is a different argument, but I think your discounting the usefulness of some of the gargantuan libraries and frameworks out there. I'm not saying fundamentals aren't good, but a data scientist doesn't need to know about homoiconicity...they need Numpy/Scypy.
- jimbokun 8y ago"they are different implementations with different tools that will confuse a new person and several cost money." Right, just like all of these stop developers from learning Java: https://en.wikibooks.org/wiki/Java_Programming/Java_IDEs https://en.wikibooks.org/wiki/Java_Programming/Java_IDEs "SICP is great for a mind-opening experience, but not super useful on how to write modern software and is why the creators dropped it at MIT." Bullshit. Anyone who can understand and apply the lessons in SICP will be far more productive developers than someone who just memorized some git commands and knows how to bang their head against Spring Boot until something almost useful eventually comes out. Outside of those two points, I mostly agree with your general thesis.
- FractalLP 8y agoHow many times have you written a metacircular evaluator in production? How many people code just fine without knowing Maxwell's Laws of Software as one popular blog post describes? Peter Norvig's review on Amazon agrees with you, I just think it is a bit overrated with infinite respect to Norvig as he could probably force choke me with his mind from 5 miles away :)
- lispm 8y ago> ABCL, FRANZ, ALLEGRO, SBCL, CLISP, GNU CL, Clozure might all be common lisp, but they are different implementations with different tools That's better than having different languages with different tools: Python, Ruby, Perl, ... share nothing - though they are in a similar coding domain.
- FractalLP 8y agoFair enough argument here, although you could probably still argue that it is easier to setup most of those languages than use emacs. That's a non-starter for a lot of devs who aren't open to the long-term benefits.
- lispm 8y agoTrue. You probably mean GNU Emacs and (not so popular right now) XEmacs. Even I usually prefer to use other Emacs variants for Lisp programming: Fred, Zmacs, LispWorks, CCL, ... I prefer embedded Emacs variants which are written in Common Lisp. With Lisps without embedded Emacs variants, usually GNU Emacs / SLIME is the best option. I can understand that this is for people used to other editors (like Eclipse, Intellij, Atom, ...) not very tempting. GNU Emacs is especially used because that's the most widespread programmable editor, which can be extended in Lisp itself. For a non-lisp programmer that's initially not very important.
- FractalLP 8y agoYea, I was talking about GNU Emacs + Slime. I'm with y'all that Lisp is an extremely powerful and frankly astonishing piece of engineering. It just seems to cater more to those on the fringes and those willing to put in the work to achieve enlightenment. I've read a few Lisp books and have written a bit of Lisp code and understand code is data is code, but haven't put in enough time to really reap the rewards. I think my above posts were taken as an insult to the language rather than some observations over several years of playing in the community. One day I hope to join your ranks, but most of my current needs involve needing lots of built in language constructs for data analysis and scientific needs.
- kazinator 8y agoNone of them will confuse an old person armed with Vim and a command line. :) Just they have different IDE's and REPLs. That's like saying Visual C will confuse someone used to Turbo C. So C is bad.