Subject: Re: On comparing apples and oranges (was: Q: on hashes and counting) From: Erik Naggum <erik@naggum.net> Date: 2000/10/20 Newsgroups: comp.lang.lisp Message-ID: <3181049804953878@naggum.net> * The Glauber <theglauber@my-deja.com> | I think software creation is a multi-discipline activity, and not | only you gain by knowing other programming languages, but you gain | by knowing other fields as well. Programming is solving problems, | and solving problems sometimes requires being able to think outside | the box. How does this require multiple language skills? Must an author be able to write great literature in multiple languages? Put it this way: I hate it when people do reasonably smart stuff in Perl, because it is just as incomprehensible to me as Umberto Eco's great stuff in Italian. I'm annoyed by the fact that I have to work with a translation, especially since I have no idea how good it is, but I'm not going to call him a "one-language wonder". The idea that one language cannot be all things to all people is probably wrong, but the kinds of languages that have tried have been all things to some people in abject disregard of most other people, which may lead to the wrong conclusions. Designing a language that is enabling and not restricting is very, very hard and requires so much forethought and probably dissociation from one's own goals that it will most probably grow into being rather than be designed from the start. However, things that grow fall into two main categories: weeds and produce. We have two particularly interesting examples of weeds: Perl and C++. I consider Common Lisp a grown language, too, as opposed to designed-to-be-everything-for-a-few-people like Scheme. I fully agree that problem solving is not something you can do without knowing the problems and their interrelationships with the rest of the world. However, when most business schools churn out generic managers, I suppose it will be harder to convince such people that programmers actually need to understand the issues and the problems they are facing. The era of designers and coders is behind us, and all we know is it didn't work very well, but not why. Perhaps if more of the people who call themselves programmers or even software engineers these days were labeled coders and had somebody else think for them, we would need far less of them simply because they _can't_ think and therefore write so much miserably buggy code, while the real thinking that goes into modern "apps" is very sparse, indeed, compared to all the work required in coding, so it could probably be handled by a relatively tiny group of people. #:Erik -- I agree with everything you say, but I would attack to death your right to say it. -- Tom Stoppard