\_ Python is an elegant language where VB and \_ Perl can be really ugly "mutter". I bet, for any language, you can construct an arbitrarily ugly example, where ugly is either in readability, maintainability, obfuscation, abuse of concepts, or a combination thereof. Sure, perl is spooky because ($`)=(@_[0]=~m;/($_)+/;); is, in fact valid. But that doesn't mean that real programmers code that way on purpose. Consider as well, one of my *favorite* C constructs: #define private public Or the horrific: #define define .... Show me a language you can't somehow abuse, and I'll show you a language that has only marginal usefulness or is only functional in one area. (Or you could prove me wrong and I'll gladly recant.) \_ Perl and VB allow for people to do some sloppy programming. Ah, the much touted 'do the right thing' functionality. [Now if we could only get a politician to have that...] It depends, I guess, on what you think a programming language is for and how you rate it and what you're trying to do with it. If you're trying to get Dan Quayle to program, you're gonna have to give him some leeway and pass his code through s/[eE]\b//g;. But more than likely, given the right language, he could right a runnable program that he thought was marginally useful in not too much time. Whether other people thought it was useful is another horse. If you want a senior programmer to write maintainable code, give him time, caffiene, and probably money or ego-stroking. The hardware, os, and language will not make a difference to the quality of code produced, only on irritation level and time-to-market. FWIW, I have four categories of programming: 1) Trivial. Simple is as simple does. 2) Moderate. Can be complex, but is maintainable. 3) Spaghetti. Can be simple, but poorly thought out. Typically moderate level of difficulty or higher with poorly thought out steps. 4) Gordian Knot. Don't ask questions as to why I have a category 4. And my last comment on languages...I'm beginning to think that if a language doesn't have an 'eval' function then it is not complete. David