Subject: Re: Your introduction to Lisp... From: Erik Naggum <erik@naggum.net> Date: Tue, 09 Apr 2002 20:21:32 GMT Newsgroups: comp.lang.lisp Message-ID: <3227372509270757@naggum.net> * Arjun Ray <aray@nmds.com.invalid> | I am not young, my mind is likely not very malleable, and I have read | SICP. Are there any specific Scheme-ish ideas that you would suggest I, | as a rank beginner in CL, should make it a priority to unlearn? Primarily that Scheme has done it the right or only way. Scheme is actually a hard language to learn. It forces you into a mindset that is very artificial. Common Lisp is much less artificial. At some point in your learning about some artificial reality, accepting a it as if it were real sets in. Scheme is actually the only programming language I have seen this happen with -- it affects people in subtle ways that reorient their value system and begin to accept what they hear and not what they see. The same happens to young minds who meet Scientology or Objectivism or even Communism unprepared for the multiplicity of what might be true, and they start to confuse the fact that something is true with everything else being false. Theories that are so attractive that they become _more_ attractive than reality are probably wrong from the outset, in some fundamental way. This notion of "purity", for instance, and its associated "elegance", tend to make reality look "dirty" and drives people into a weird state of mind. This is hard to detect from the inside, but very easy to detect from the outside. If you need a particular example: recursion is not a _generally_ good idea, you need to understand how and when Scheme really is iterating, and to find iterative expressions of the same forms they use recursions for.. Calling functions that return functions only to call the return value right away is _generally_ not a clear and perspicuous coding style -- consider binding it to a variable. An one namespace is simply wrong, both in conflating function and variable value and in lacking packages. /// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief. Post with compassion: http://home.chello.no/~xyzzy/kitten.jpg