Subject: Re: http://www.strout.net/python/pythonvslisp.html From: Erik Naggum <erik@naggum.net> Date: Fri, 10 May 2002 23:34:22 GMT Newsgroups: comp.lang.lisp Message-ID: <3230062462078019@naggum.net> * Gabe Garza <g_garza@ix.netcom.com> | I'll post a point-by-point response here to let other people | modify-it/flame-me/agree/disagree as necessary. I'm far to frightened of | being perceived as trying to represent Lisp (and it's community) to just | mail one. ;) I only speak for myself. I'd also be grateful if someone | with more knowledge then me could briefly compare the condition systems | of the two languages.... Nice preamble. | Because Lisp's syntax is radically different from all other mainstream | programming languages, it is easy to categorize it has being "hard to | learn." That depends on what people mean by "learn". That issue has surprisingly much to say about how people approach programming in the first place. Learning to read and write is probably one of the hardest learning tasks given to children today (regardless of language). Most people learn only one alphabet, and yet it seems fairly obvious that all alphabets are equally hard to learn. (Ideographic languages appear to take longer to learn for their native users, so I confine this argument to alphabets.) Now, how hard is it to learn the Greek alphabet? It _should_ be obvious that it is far harder to learn your first alphabet than your second, but most people seem to fear that the pain of learning the first will just be repeated unchanged with the second, that learning an alphabet has a fixed cost regardless of how many you know or when you learn it, and so many people simply refrain from learning the Greek, Cyrillic, Hebrew, etc, alphabets. This leads to such pathetic things as transliterations that lose a lot of information, tiny coded character set standards, massive failure of the requirements of "localization" and "internationalization" to get across to programmers, etc. New things are fairly obviously easier to learn when you learned the old things right. If you only acquire motor skills without understanding, it will be harder to learn new things than old, because motor skills are based on repetition of non-conscious physical action. So when someone tells you that learning something new is "hard to learn" when it is just as easy to learn as the _first_ such thing as what he already knows, you should gently inform him of the fifth amendment. Programming should not be non-conscious motor skills -- but fast, error-free typing should. Still, if you cannot reprogram yourself and your keyboard so you become more productive with fewer shifted keys, there is something wrong with your ability to program yourself and you should be hesitant to program anything else until you have fixed that. Syntax is not, however, about hitting keys in the right order more than operating anything else is a matter of "remembering" the sequence of simpler tasks. I think of people who have problems with new syntaxes as people who write down how to perform a complex task like taping a TV program on a VCR or making the alarm clock wake them up at the right time (although I think alarm clocks are instruments of torture and should be probibited by law, they are unfortunately not hard to "program"), in a step-by-step order and who get completely lost if they miss a step or the object was not in the right initial state when they started. I make an exception for Perl, though. -- 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. 70 percent of American adults do not understand the scientific process.