Some languages just add unnecessary syntactic elements... The “$” prefixed on variable names in Perl and PHP (oops, I did it again) is another example — one which Ruby demonstrates to be dispensable in a scripting language. That “$” benefits only the parser: ”Simon says, this is a variable name.”
Simon says, don’t play Simon says with your users, Chip Camden
I'm starting to think that anyone who wants to have a serious discussion of programming language design should take a grammar class first. "Articles and noun/pronoun pluralization rules are unnecessary in English. You can figure out what I mean if you work hard enough."
Maybe it's a failure of programming language education that discussions focused on usability and human factors tend to elevate the idea of mathematical purity (you should see the mathematical models built around Scheme's primitives assuming that you build everything from
cond) above how people actually communicate. Larry may have said something about that once or twice. Once you start analyzing languages based on linguistic factors, you see where necessary complexity goes... and puddles.
I'm not sure it's possible to appreciate Perl as a language without some degree of understanding of its linguistic principles. Certainly once you understand pronouns (
$_) and articles and subject-verb agreement (context) you become a much better Perl programmer.