3 ms·
So, I guess a real criticism of Lisp would be that it is stuck in the past. Lispers are still looking down on C; they never try to look up. If they did, they wo
by miloshh 17y ago
So, I guess a real criticism of Lisp would be that it is stuck in the past. Lispers are still looking down on C; they never try to look up. If they did, they would see languages like ML and Haskell have surpassed them in all respects. Heck, even Matlab and its descendants with the "everything is a matrix" philosophy have created a powerful new paradigm that is certainly not a special case of "everything is a list". In short, the world has flown by Lisp, and Lispers (at least the vocal ones on blogs) still did not notice.
- mnemonicsloth 17y agoML and Haskell have surpassed them in all respects. I must have missed the memo explaining why static typing is always better. Can you forward it to me? Lisp [is] stuck in the past... You lose a little credibility here for not specifying which lisp you mean. I'll assume you mean Common Lisp because: - Scheme is in the middle of reinventing itself after the R6RS unpleasantness, and that process could have any number of interesting repercussions. - Clojure is very young, and already has a good chance of becoming the first mainstream functional programming language. I'll leave the value of that distinction unspecified for now, but it would be interesting. - Some of the features available to Common Lisp programmers in the past really are impossible to duplicate today, and will probably remain so for the forseeable future. By all accounts, the system-level introspection and debugging capabilities available on Lisp Machines were a real treat to operate. We can reasonably disagree about how useful it might be to have OS, toolchain, editor, and system software all written in the same language and presenting a uniform interface, but I don't see how anyone could claim that ML and Haskell have surpassed Lisp on this point.
- miloshh 17y agoTake away static typing from Haskell and you still have a richer language than Lisp, with more interesting research happening in the community. It is ironic that e.g. nested data parallelism has its roots in Lisp (as early as 1990) but might soon enter the mainstream through Haskell.
- lispm 17y agoI guess you have never looked at the ANSI Common Lisp standard and the manuals of some of Lisp systems...
- anonjon 17y agoI think that this is an unfair criticism; you don't really supply any evidence. (Other than that Lispers are completely oblivious to anything but lisp). ML and Haskell have certainly surpassed common lisp in some respects, but to say that they have surpassed all lisps in all respects has got to be some sort of sophistry. Lisp is a form of syntax (and a few primitives like Eval and quote) that makes it easy to write programs that manipulate programs. Common Lisp and Lisp 1.5 and Scheme and Clojure all have certain other things in common. However, they have those things in common because they are generally recognized as being good things to have in a language for the purpose of programmer productivity. In no place is it written in stone that to be a Lisp, it must not use Hindley-Milner type inference. I think you'll also find that most Lispers are chronic dabblers in programming languages, to say that I'm sticking my head in the sand when I choose to write whatever-it-is in Clojure is insulting.
- lispm 17y agoLispers have used lots of powerful paradigms - and no, not everything is a list. If you look at the current Common Lisp development environments, everything is a CLOS object.
- lispm 17y agoOne of the problems seems to be that nobody told the Lisp programmers that Lisp has been surpassed by Haskell. Check out the Haskell page on Music and Sound libraries and applications: http://www.haskell.org/haskellwiki/Applications_and_libraries/Music_and_sound http://www.haskell.org/haskellwiki/Applications_and_librarie... That stuff might be useful, especially if you like curses user interfaces. Compare that to some of the Lisp APPLICATIONS in that area: OpenMusic: http://recherche.ircam.fr/equipes/repmus/OpenMusic/ http://recherche.ircam.fr/equipes/repmus/OpenMusic/ PWGL: http://www2.siba.fi/PWGL/pwglconstraints.html http://www2.siba.fi/PWGL/pwglconstraints.html Common Music: http://commonmusic.sourceforge.net/ http://commonmusic.sourceforge.net/ Symbolic Composer: http://www.symboliccomposer.com/windows/page_screenshots.shtml http://www.symboliccomposer.com/windows/page_screenshots.sht... Somehow the Lisp programmers haven't gotten the message that Lisp has been surpassed in all respects by Haskell - I wonder why that is. Do you have an idea why Lisp has cool applications and Haskell has curses-based MP3 player frontends?
- jrockway 17y agoBecause Common Lisp has been suitable for building complex applications for more than 20 years, while Haskell has been in that state for about 2? It follows that Lisp would have at least an order of magnitude more applications, and that's neglecting "network effects". Also, Common Lisp still has no libraries or coherent community. Every time I ask #lisp about a library for something trivial, the answer is "write it yourself". This is annoying to people that don't want to shave that particular yak. Haskell's community is nearly the opposite, so I bet in 18 years we will see many more Haskell apps than Common Lisp apps. Unless the community starts being nice to people, and people start sharing code worth sharing, that is.
- lispm 17y agoThe 'Common Lisp has no libraries' thing disqualifies you somehow. I think I have a couple millions lines of Lisp code on my laptop. ITA Software wrote now around 650kloc lines of code for their reservation system, additionally they are using 150kloc of public libraries. Sure the Common Lisp community is not that 'coherent' - the language is used for very different things. Still there are meetings and conferences where users meet. The first Haskell report appeared 1990. I'd say there has been lots of time to get applications written. Before Haskell there was Miranda. Common Lisp has a lot of libraries. Look at CLIKI for some pointers. So, did you write your Common Lisp library yourself? That's what I usually do when I miss some stuff or would like a different implementation.