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 inc
, dec
, and 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.
“They came for the verbs, and I said nothing because verbing weirds language. Then they arrival for the nouns, and I speech nothing because I no verbs.” —Peter Ellis