3 ms·
I think more than anything else, this is probably the largest problem with Lisp adoption. Maybe Clojure will have better luck in this space because of its abili
by icey 18y ago
I think more than anything else, this is probably the largest problem with Lisp adoption. Maybe Clojure will have better luck in this space because of its ability to drop into the JVM to get libraries.
- herdrick 18y agoJava's email library sucks. You need to sumbit to the JavaMail way of looking at email to do the simplest thing with it. First you need to understand that JavaMail is 'cross-platform' in the sense that it's for any hypothetical messaging system, not just email. So it has layers and layers of lame abstractions. Lots of configuration needed to do the simplest things. That's one of the worst examples, but my overall feeling is that dynamic languages on the JVM aren't worth it. You're probably better off with an independent language environment.
- gruseom 18y agothis is probably the largest problem with Lisp adoption Sometimes it's not clear if that's really the problem, or if it's more the perception (and the fact that the perception gets repeated a lot) that's the problem. Hence my question earlier in the thread.
- pg 18y agoI suspect the biggest problem with Lisp adoption may just be that people find s-expressions terrifyingly incomprehensible. Though there's always some reason the median programmer doesn't want to use Lisp, the reason changes. In the 1980s people said Lisp was too slow. Now it's libraries. This kind of variety is the signature of reasons people offer when they're avoiding something out of fear or laziness.
- gruseom 18y agoI started writing something similar: I think the real reason most people don't like Lisp is because most people don't like to think in s-expressions. (Then I thought nah, nobody's going to like that, so I deleted it and just left the bit about libraries - foolish move!) It's not only fear or laziness; I know two very good programmers who have tried Lisp and don't like it. Interestingly, both are Smalltalkers, though one was of the original generation that migrated to Java. I wonder if it's that some people like thinking in trees and some don't. Human language has barely any nesting. Putting one parenthetical phrase inside another is already rare and that's just two levels. Parenthetical nesting is so difficult for humans to process that there's even a well-known hypnotic induction based on it (that essentially creates a stack overflow in a person's brain). One of the guys I'm talking about has a programming style that's markedly linear (though not procedural). He likes chaining expressions together almost like noun phrases in English. For example, where in Lisp you'd write (min y (max x 0)) he might write: x.atLeast(0).atMost(y) It's a trivial example, but enough to imagine more complex ones. The difference is dramatic if you think of a tree with many levels and the comparable unwound form. Of course, not all trees can be unwound in this way. The converse is true, though: all chains of this form could be converted to s-expressions, so it's easy to imagine embedding this style into Lisp with a macro. That's the sort of thing that gets talked about naively, but never catches on. I think it would be a losing proposition. You'd lose Lisp's regularity, which is one of its greatest advantages. And the resulting programs would still have plenty of s-expressions, so you'd end up driving away the same group of people after all.
- icey 18y agoI advise anyone who meets someone afraid of s-expressions to send the fearful here: http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePerl/ http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePe... It doesn't address the s-expr situation directly, but Dr. Krishnamurthi plays a devious trick to show you why they aren't scary.
- EliAndrewC 18y agoMost programmers I've known learn whatever languages they're taught in school and then learn new languages are required by their jobs. So even if a "median programmer" is terrified by Lisp, if they work somewhere that uses Lisp and have to learn it, then they will. I introduced Python to my workplace simply by using it on a project for which it was the best choice, which forced some of my co-workers to later start learning it. Thus, the lack of a batteries-included Lisp might well be more significant than a fear of s-expressions. Hopefully Arc will one day reach the point where I can sneak it into my workplace as I have done for Python. At that point the fear of s-expressions will hopefully be irrelevant.
- gaius 18y agoThis kind of variety is the signature of reasons people offer when they're avoiding something out of fear or laziness. Heh, there is no fear or laziness here. I am a 32-year-old who grew up with Pascal, learned FORTRAN in college, wasted a few years working in Java, and have done Python for a few years. All the time I am moving up the scale towards more powerful languages. I started learning LISP this year, and so long as I stay within the LISP runtime I'm a happy bunny. At the boundary between LISP and the outside world, tho', I keep hitting obstacles that Python breezes through without a pause. The lack of libraries is a significant problem, certainly to anyone who wants to use LISP in an existing environment, no matter how motivated they are to do so, given the constraints that a good-enough language already exists and the expectation that integrating the code with everything else is essentially a solved problem.