Subject: Re: "Well, I want to switch over to replace EMACS LISP with Guile." From: Erik Naggum <erik@naggum.no> Date: 16 Oct 2002 22:27:30 +0000 Newsgroups: comp.lang.lisp Message-ID: <3243796050059484@naggum.no> * Joe Marshall | Comparing *anything* to C++ will give an artifically favorable | impression. This is unfair. If I want to make something, /anything/, look great, I would take Perl, HTML, sendmail.cf, George W. Bush, Microsoft, etc, and voilà! it is great. Since I have good friends (or at least one) who has claimed quite strongly that C++ is not as bad as it was when I made a serious effort to learn it back in 1993/4 and then made a serious effort to build a second carreer as a writer just to make sure that if I should be "forced" to program in C++, I would at least have a way out, I refuse to go below "braindamaged" for C++. The other things listed above are willfully evil and destructive. I want to say "well, at least it is not braindamaged" instead of "well, at least it is not evil". | I suspect that you would very quickly develop a much less charitable | opinion of Java if you had to write some production code in it. Part of the point with Java is that it is supposed to be a good language for average programmers. I think most of its detractors forget that you sometimes have to hire mediocre people. Just by watching our excellent forum here, I have to conclude that if you are less than a great thinker, you will only do serious damage in Common Lisp. The people who voice their concerns here are probably /way/ above the average of those who are likely to play with Common Lisp. I could perhaps hire the people who have spent less than three months shedding their Scheme attitude, their arrogance, their unwillingness to actually /learn/ something new, and their unwillingness to work hard at making themselves better. But I have no great hopes for the ability to hire a /bunch/ of people from some funny farm with academic credentials. The crop of "computer scientists" these days has been drawn from the middle of the Gauss curve, with so little sign of excellence and real talent that it would simply be /wrong/ to base an operation on intelligent, thinking, creative, /good/ programmers. Java is the blue-collar programming language, much more successfully so than C++, which had strong aspirations in that direction, but is much too complex for its intended users. Java can only be judged on those terms, and when you do that, two things become clear: If you are smarter than the target audience, you will hate the language and miss an opportunity to make use of the enormous number of lesser people who can be told what to do and actually accomplish it, and if you are in the target audience, it may be the first programming language that is actually intended to be understood by your "grade" of people and all the educational material is squarly directed at your group. Furthermore, you can now determine if a university or vocational college is going to produce brilliant or only educated average people by looking at their choice in programming language. It used to be relatively stupid languages like Pascal and relatively smart languages like Scheme, but now we can know beforehand if they believe they can do something great with any potentially brilliant student who decides to attend. If they choose to base their education on Java, they will at best produce highly skilled workers, not thinkers. But highly skilled programmers is much better than poorly skilled thinkers. There are significant benefits to actually having had to use a language for average programmers, even if you can do much better, just as we force even bright kids through schools intended to feed factories with average workers. This may sound brutal, but I have yet to see any alternatives that have a significant chance of success. /Really/ good people tend to "discover" Common Lisp quite independently of their formal education, but my take on this is that you cannot acquire the foundation to appreciate Common Lisp in today's programming world if you have not gone through a lot of drudgery. Also, if you can make do with average people, you should be /thrilled/! It is a mark of maturity in an industry when average people can operate tools and accomplish something. Java offers something important here. If you want to solve really hard problems, get the really good people and give them Common Lisp. They will be equally /thrilled/ to get away from Java, if the sentiments here are accurate. The only problem I can see is that people cannot get programming work that is commensurate with their intelligence and skills. This, however, is not Java's fault. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.