On Fri, 2006-06-16 at 08:44 -0700, Dean Arnold wrote: > > Perl really is a write-only language, > > What leads you to that conclusion ? The fact that so many features of perl were added specificly to encourage shorthand gibberish for the use of folks writing quick hacks. Just off the top of my head: Consider || and OR (and friends) with the same meaning but different precedence so people can write huge expressions with no parens. C does indeed suffer from the same problem to some extent, but at least all the operators actually mean something different. With perl this extra nonsense was added specificly to encourage leaving out parens and leaving all but language lawyers scratching their head. Or perhaps an even worse example: barewords. There's a concept that really encourages readable code - quoted strings without quotes. Or multiple different syntaxes to call object methods - the call does nothing different, you can just write it two or three totally different ways. Every time a language aquires totally different syntax with absolutely no different meaning between the two, you add another element to the set you can take the cartesian product of to generate the number of different styles perl can be written in. Perl seems to keep accumulating more and more of these things, so the set keeps getting bigger. This does indeed make the original authors more productive since they can do whatever feels best to them (hence my love for quick hacking). Unfortunately it requires later maintainers to know the *entire* language in minute detail. Such people are not easy to come by, hence my definition of perl as "write only". I get the impression that one of the things people like about python is that it is more consistent without the 1000 different ways to do the same thing (but I can't know for sure since I utterly refuse to use python unless they make TAB an illegal character in source code :-). I think the world needs a language that is great for quick hacks because quick hacks are needed so frequently, hence my love of perl. I just don't think it is remotely maintainable by anyone other than the original author, and I think that is a major roadblock for enterprise type production use.