Dave Smith <[EMAIL PROTECTED]> writes: > Levi Pearson wrote: >> What, in particular, do you find impractical about Lisp? > > I think Lisp is neat, just like my R/C planes. Practical, though? Not > really. By the way, please don't take this analogy too far.
I have no intention of doing anything whatsoever with that analogy, since it does not provide any answer to my question. Speaking of planes, did you know that the fare-finding software behind Orbitz and several other similar services is largely programmed in Lisp? ITA Software, the Lisp-using, founded by an MIT graduate company that provides the engine is hiring, too. I also know some guys that hack Lisp at Amazon. I wrote some work-related tools in Scheme, and I'm considering doing it again if it makes sense. How, again, is this stuff not practical? > Another example: My office mate is writing a small operating system in > his own variant of Lisp, with his own compiler, written in Lisp (the > VGA driver is in C, though). I think it rocks. He is my idol. Is it > practical? No, but it's awesome. Awesome indeed. I just wrote a little assembler and virtual machine emulator in Scheme, too. Also not very practical, but that's a function of the project rather than the language I used. If I were to write a small Lisp bytecode interpreter that could be injected via an exploit into a remote system and communicate back to a base station via a secure channel, that would be a practical program for a security professional (http://www.ephemeralsecurity.com/mosref/). Anyway, my point is that the key to practicality is the ability to apply tools to real-world problems. A good CS education should provide opportunity to learn enough theory and programming skill to create new and interesting solutions to problems, whether they be real-world or pure research problems. MIT happens to focus on the real-world problems, which makes them a somewhat more practical school than one that focuses on pure theory research. This doesn't lessen MIT's credentials as a university at all. Furthermore, the high-level design of programs is largely independant of the specific tools used. It doesn't matter whether those skills and the corresponding understanding of theory were gained in the context of programming in Lisp or C#. Those skills remain practical regardless of the tools use to gain them, and certainly the theory doesn't change based on tools, though some make it easier to apply that theory. --Levi /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
