Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Perl and Linguistics

by w-ber (Hermit)
on Jul 04, 2008 at 08:23 UTC ( #695536=note: print w/ replies, xml ) Need Help??


in reply to Perl and Linguistics

... 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.

--
print "Just Another Perl Adept\n";


Comment on Re: Perl and Linguistics
Download Code
Re^2: Perl and Linguistics
by Anonymous Monk on Jul 04, 2008 at 09:38 UTC
    But its a cutting edge technology system of systems technology.
Re^2: Perl and Linguistics
by apl (Monsignor) on Jul 04, 2008 at 14:18 UTC
    My beef is that by calling various unrelated notations "computer languages", you further smudge the fine line between machines and people.
    I have been a member, for the past 35 years, of the professional computer science organization ACM -- the Association for Computing Machinery. Not Machinists, Machinery.

    Welcome to an old and noble profession. 8-)

    A computer is not a living being. It has no consciousness, you cannot talk with it, and it doesn't have a will.
    You haven't been programming very long, have you? I've known many a willful computer...

      A computer is not a living being. It has no consciousness, you cannot talk with it, and it doesn't have a will.

      You would think that they had a mind of their own the trouble I have with mine!

Re^2: Perl and Linguistics
by Mr. Muskrat (Abbot) on Jul 04, 2008 at 17:42 UTC

    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.

    You don't instruct a loom how to do any thing, you just use it; that's a bad analogy because you do have to give instructions to a computer. Those instructions are written in a synthetic language that humans can read and write; humans not computers. Computers don't understand "computer languages", they are just translate them into a machine code that they do understand.

    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".

    You haven't been programming long, have you? I talk to computers all the time and I know that I am not the only one who does it! Sometimes they respond and sometimes they don't. "Come on you crummy thing, work!" ;)

    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.

    I do not think that anyone has ever called Perl a natural language but it is more than just another synthetic language because it was inspired by natural language. Well written Perl when spoken just rolls off the tongue like a song. :D

      Those instructions are written in a synthetic language that humans can read and write; humans not computers. Computers don't understand "computer languages", they are just translate them into a machine code that they do understand.

      It's debatable whether the primary purpose of "computer languages" is to communicate with the computer. You often use them to communicate with other people who are trying to communicate with the computer.

      If you look at all the many and various arguments about the virtues of this or that computer "language", very few of them revolve around whether the compiler will be able to understand what you're saying.

Re^2: Perl and Linguistics
by swampyankee (Parson) on Jul 04, 2008 at 17:52 UTC
    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".

    That's hardly a new concept. After all, slavery predates computing machines by a few millenia.

    It makes little sense to me, even less than the concept of programming language. It's not a language, folks. It's a notation.
    It's useful to think of programming or computer languages as languages, not notations, and it's probably especially useful to people who design them. Not doing so leads to APL.

    A computer is not a living being. It has no consciousness, you cannot talk with it…

    Of course I can; with the correct software and hardware it will even understand what I'm saying. I don't expect an intelligent dialogue, but I don't necessarily expect a response (or at least a rational response) when I talk with a person, either.


    Information about American English usage here and here. Floating point issues? Please read this before posting. — emc

Re^2: Perl and Linguistics
by tirwhan (Abbot) on Jul 05, 2008 at 11:44 UTC

    I don't know about you, but I for one have used Perl as a language to communicate with other human beings, not a computer. Be it simple snippets in emails (s/indead/indeed/ , "onething" != "otherthing"), perlmonk nodes or Perl Poetry, all of these are written in Perl for the pure intention of communicating with other people, because I found it funnier, more concise or even just possible to express things in this language than in another. Also, don't forget that languages can take many forms and while it may be harder to express certain things in one language than another, that will not make the language in question less valid.

    So "computer languages" are nothing else than languages which can be understood by humans and also be interpreted by a computer. Yes, they're constructed languages rather than natural ones, but so are Esperanto and Sindarin. You won't deny those are languages either, will you?.

    As for your point about the term "computer languages" making us more willing to exploit other people, bah, total humbug. Look to the economists, not the computer scientists for that one.


    All dogma is stupid.
Re^2: Perl and Linguistics
by mr_mischief (Prior) on Jul 07, 2008 at 19:04 UTC
    A notation only involves syntax. A language involves syntax and a shared set of semantics. The language is for humans to communicate with humans in a way that's brief and specific enough that instructions can be reduced to a recipe for the computer.

    Higher-level languages don't communicate anything to a computer at all, after all. That's why we need interpretation or compilation.

    In the English language, we have a habit of reusing words for similar things or sometimes for almost entirely dissimilar things. A bicycle seat in the US is also known as a "saddle", although there's no animal under it. A car's engine cover in the US is a "hood" and in the UK a "bonnet", although there's no head under it (except that there's a part of the engine called a "head" in a reciprocating piston engine -- in US English, anyway). A group of electrical storage cells grouped together is a "battery" just like a group of cannon which fire together. A CRT or LCD display is called a "monitor", even when used interactively. A "speaker" is used to emit sound even for music or random noise. Given all of these examples (there are many more) it's not surprising that something which people can read, write, and sometimes speak to get a particular, shared idea across is called a "language", even if it doesn't fit a narrow definition otherwise.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://695536]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (2)
As of 2014-07-26 00:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (175 votes), past polls