Re: Lisp for enterprise computing?
- From: Damien Kick <dkixk@xxxxxxxxxxxxx>
- Date: Fri, 21 Mar 2008 20:15:10 -0500
Raffael Cavallaro wrote:
how many average java programmers even know what closures are? or what memoization is? (I had one tell my I had made a typo - he thought I was trying to write "memorization") or a general condition system (not just execeptions)? or a metaobject protocol?
Well, I'm going to cheat a little bit and broaden the choices of the languages to use in the comparison. Perl has lexical closures and dynamic scoping, similar to Lisp's special variables. I could be wrong, but I think that Java's anonymous inner classes gives something of the flavor of closures, albeit with far less taste to it. Java has some sense of reflection to it, though not something as far reaching as the MOP. Of course, I haven't used Java in a little over five years, so they may have added something. One can even find discussions of multiple dispatch, and some kind of attempt at implementing it, in more than one popular C++ book. And Lisp isn't even the only homoiconic (every time I see that word it makes me think it should be referring to someone who is a legend in the gay community) language. Of course, Prolog is probably a poor choice to use as a comparison if one is trying to make a sales pitch for Lisp being a good blue collar language.
And one definitely doesn't have to learn everything all at once. One can use CLOS without even knowing about the MOP or know about the MOP without ever using it. One can use the pretty printer without knowing anything about writing one's own dispatch functions for it. I was personally using ERROR and HANDLER-CASE in much the same way that the "average" Java or C++ programmer would use try/catch before I copped onto restarts and the more general power of Lisp conditions. I think that many people are unnecessarily scared off of Lisp because it has this reputation for being so exotic. It *is* different but it's not *that* different. Personally, I really like the approach of something like _Practical Common Lisp_ in that it just starts introducing language features in a context of using them to solve problems.
years of experience won't necessarily teach you what these things are - you need to learn certain abstract concepts and the propensity and ability to learn such abstract concepts are marks of intelligence.
Well, I don't think that any one language can lay claim to any of these traits. In fact, there are probably quite a few people running around using abstract concepts who've never written a program in any language.
.
- Follow-Ups:
- Re: Lisp for enterprise computing?
- From: Raffael Cavallaro
- Re: Lisp for enterprise computing?
- References:
- Lisp for enterprise computing?
- From: Harry
- Re: Lisp for enterprise computing?
- From: Campo
- Re: Lisp for enterprise computing?
- From: Pertti Kellomäki
- Re: Lisp for enterprise computing?
- From: Raffael Cavallaro
- Re: Lisp for enterprise computing?
- From: Sohail Somani
- Re: Lisp for enterprise computing?
- From: Raffael Cavallaro
- Re: Lisp for enterprise computing?
- From: Sohail Somani
- Re: Lisp for enterprise computing?
- From: Raffael Cavallaro
- Re: Lisp for enterprise computing?
- From: Sohail Somani
- Re: Lisp for enterprise computing?
- From: Joost Diepenmaat
- Re: Lisp for enterprise computing?
- From: Sohail Somani
- Re: Lisp for enterprise computing?
- From: Raffael Cavallaro
- Lisp for enterprise computing?
- Prev by Date: Re: help me identify error here: beginners question
- Next by Date: Re: macro question - is this possible?
- Previous by thread: Re: Lisp for enterprise computing?
- Next by thread: Re: Lisp for enterprise computing?
- Index(es):
Relevant Pages
|