|Think about Loose Coupling|
Comment onby gods
|on Feb 11, 2000 at 00:06 UTC||Need Help??|
... What the heck is a "computer language"? I first saw the expression in Wikipedia, and since then it has been uttered -- so it seems -- predominantly by North American programmers. Yes, Larry Wall uses it.
Supposedly "computer language" encompasses all notations "used with computers", such as markup (HTML, XML), programming languages, and sometimes even configuration file syntax. It makes little sense to me, even less than the concept of programming language. It's not a language, folks. It's a notation.
Some might argue that notations are languages and languages are notations, pointing out that it was 1930s mathematicians who started calling particular mathematical constructs languages and that we're only extending the metaphore, as programming languages are already languages, and...
My beef is that by calling various unrelated notations "computer languages", you further smudge the fine line between machines and people. It used to be pretty straightforward. A loom is a loom -- you don't "communicate" with it when you work it. Once you have "computer languages", it's a small step to think of a computer and programming in anthropomorphic terms. As well as being detrimental, it's silly and harmful.
A computer is not a living being. It has no consciousness, you cannot talk with it, and it doesn't have a will. It's brilliantly constructed machinery, but still a machine. As well as elevating this machine to the status of a human, the phrase "computer language" makes us more similar to the machines. That in turn perpetuates thinking about people as a resource to be exploited, and generates inaccurate analogies such as your memory being "like a harddisk".
Coming back to Perl 5, yes, some features were inspired by natural language constructs, such as $_. It doesn't make it a natural language in any way.