Subject: Re: realistic but short and simple LISP examples? From: Erik Naggum <erik@naggum.net> Date: Sun, 16 Dec 2001 04:26:52 GMT Newsgroups: comp.lang.lisp Message-ID: <3217465609454072@naggum.net> * Wroot <wroot@my-deja.com> | C++ was really created for large projects and to facilitate code reuse | too, and as its creator said, "For code to be reusable, it first has to | be usable". So I don't really buy this argument. Sorry. Well, I basically said as much. You are facing some counter-information to your previously held beliefs and your reaction is known as cognitive dissonance. Unless trained to deal with this feeling, it appears from the literature that "most people" will reject the counter-information out of hand, rather than investigate _why_ they think it is wrong. I tend to regard contradictions and counter-information as a signal to re-evaluate what I thought I knew to be correct, and try to understand how both may be correct at the same time because they exist in different contexts, thus perhaps telling me something important I did not know previously. Since there are also a large number of idiots out there who have no idea how to deal with either information or counter-information, but instead believe only that which causes _no_ cognitive dissonance, which applies to the _first_ piece of information in any suitably narrowly defined area, or that which some suitably irrational authority tells them, there will be a lot of people who produce counter-factual disinformation which looks very much like counter-information, thus wasting people's time with their craploads of nonsense. This is extremely annoying, and the habit of "most people" to ignore that which causes cognitive dissonance may be a good defense mechanism against the usual crapload of desinformation that we are exposed to, but it is not a good thing for an engineer or a scientist or an investigator of any sort of truth. Take a good look at my .signature and try to accept that what you have yet to learn will always out-volume what you know. It is therefore much more important to determine whether what you already know is false than to "confirm" that it is true or just to assume that it is. C++ fails at its goals. This is hard for C++ programmers to accept, but evident to everybody else. Common Lisp succeeds at its goals. This is harder for C++ programmers to accept, but unfortunately evident only to past and present Common Lisp programmers. As life is too long to become an expert at C++, so those who have invested the effort tend to want what they believe to be true, regardless of the effort required to make it so. Learn Common Lisp. Get into its spirit. It will change you, so you have to let it. Resist the temptation to write C++ in Common Lisp. Absorb the language and the environments you get access to. Start with one of the commercial offerings. I recommend Allegro CL from Franz Inc (www.franz.com), but others think others would recommend LispWorks from Xanalys (www.xanalys.com). The commercial offerings are so much better for learning the language than the free offerings, which currently lack good development environments. | Besides, small is beautiful. It is actually the other way around: Anything is beautiful when small. The hard part is making something larger be beautiful. This is where most languages _really_ suck, which is why they want small examples. Please think about the analogy to building a skyscraper by starting from a small cottage. Or think about scaling an ant up to the size of an cougar (one of the most beautiful animals I know), or an elephant. /// -- The past is not more important than the future, despite what your culture has taught you. Your future observations, conclusions, and beliefs are more important to you than those in your past ever will be. The world is changing so fast the balance between the past and the future has shifted.