From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.esat.net!nslave.kpnqwest.net!nloc.kpnqwest.net!nmaster.kpnqwest.net!nreader2.kpnqwest.net.POSTED!not-for-mail Newsgroups: comp.lang.lisp Subject: Re: Beginner question: performance problems with a simple program References: <36sW7.19$Mv6.41773@burlma1-snr2> Mail-Copies-To: never From: Erik Naggum Message-ID: <3218979212046865@naggum.net> Organization: Naggum Software, Oslo, Norway Lines: 62 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 02 Jan 2002 16:53:35 GMT X-Complaints-To: newsmaster@KPNQwest.no X-Trace: nreader2.kpnqwest.net 1009990415 193.71.66.49 (Wed, 02 Jan 2002 17:53:35 MET) NNTP-Posting-Date: Wed, 02 Jan 2002 17:53:35 MET Xref: archiver1.google.com comp.lang.lisp:23497 * Aleksandr Skobelev | So, I think, YES-OR-NO-P in its current state is not very useful in any | program which intended for non-English user, who works with non-English | keyboard mainly. Why, then, did you write the call to that function in the first place? I see another case of blaming the language for failing to be convenient _enough_ and trying to blame some cultural artifact that the _programmer_ has not been able to figure out is not going to do what he wants. It is great that Common Lisp is usable by us "furriners", but when I was faced with the inability of Allegro CL 4.3 to deal with case issues in ISO 8859-1, I spent some time fixing this problem locally, and repeated this for Allegro CL 5.0 so it would work in my application, which used and required ISO 8859-1 to work properly. It was not particularly hard. However, I did not attempt to make format control ~P work for Norwegian. I did not use yes-or-no-p in the Norwegian user interface. I did not expect a language I have learned and studied suddenly to become plastic and turn into something it is not just because I wished for it. I actually find it completely incredulous that otherwise seemingly smart programmers suddenly get a case of "wishful thinking syndrome" and fail to understand that a programming language is what it is. If the language does not fulfull your childhood dreams, at least try to figure out if it is actually blocking you from realizing them _with_ it. If so, drop it and find another language that does not block your dreams. If, however, the language just falls short of some egoistic "ideal" that you think you have right to complain that the world does not fulfull for you, you have a _much_ bigger problem than the failure of yes-or-no-p to speak Russian. Programming is about making new things possible, about realizing dreams, about _creating_ dreams. I get so fucking _tired_ of the whining losers who expect languages and environments and computers in general to relieve them of having to exert any effort at all to get what they want, and who get _sore_ when the languages refuse to do their bidding. Sore losers who fail to grasp that they world does not owe them a thing come out as exceptionally demanding assholes who cannot tolerate that they have to do some of the work themselves. Common Lisp is one of the languages in the world that offer programmers _so_ much for free already, but what happens? Again and again, whining losers gang up on it for not offering them enough. Even thinking about making something useful on their own instead of whining is beyond these people, so it is all fault-finding instead of doing something new and useful. This is probably the biggest difference between the Common Lisp community and the Perl community: Give people a shitty language and they expect nothing, so create what they need, but give people a great language and they expect everything, so only pine for what they miss. Internationalization and _real_ localization is very hard work. It is not something you tack on as an afterthought, any more than security and qualit is. If some standard function named yes-or-no-p does not satisfy a Russian user, the only surprise should be that someone could even come up with the idea that it should have. If you have a problem with missing functionality in a programming environment, there is actually a name for the solution to your problem: It is called _programming_. /// --