Re: Re: Re: Re: Re: don't { use Perl }
by Anonymous Monk on Jun 10, 2002 at 16:26 UTC
|
Not at all. Just because my program is translated into a machine
language to run does not mean the machine is the only listener, nor
even the primary listener, nor even a listener at all in any
reasonable application of the word. The listeners of programming
languages are humans. To think otherwise is to fail to understand why
we would bother to create higher languages above the machine level in
the first place.
| [reply] |
|
The speakers of high level programming languages
are humans. But they still have to follow lots of silly
rules - because otherwise they aren't understood. Not by
their fellow humans, but by machines.
Abigail
| [reply] |
|
Higher level programming languages make it easier for humans to
write programs, reason about programs, and to communicate with each
other about programming. Higher level languages do not do one wit for
the machine, which doesn't "understand" the program in the first
place. Of course higher level languages are very highly constrained
and rule bound, so is the language of mathematics. Nevertheless, both the speakers
and the listeners of high level programming languages are humans.
Computers aren't necessary in the equation.
| [reply] |
|
|
|
|
|
We are incapable of speaking in the native language of computers to any usable degree. A programming language's purpose is to facilitate speaking to machines. When another programmer looks at it, he as looking at it as another speaker of the language, but not as its target. It is a one way language, since its purpose is entirely to manipulate machines. The fact that the relationship between speaker and listener, where each truly does not understand the language of the other, makes spoken language theory useless.
()-()
\"/
`
| [reply] |
|
When another programmer looks at it, he as looking at it as
another speaker of the language, but not as its target.
Oh please. Have you never debugged your own or another's code? Have
you ever stepped through the code, simulating the machine's behavior
either mentally or on paper? Of course you have, at the level of the
higher level code (not at the level of the machine language I would
expect). How else could you write an algorithm in Perl without being
able to mentally simulate how the code gets executed?
How is that not both speaker and audience of the high level code? You
can only be a meaningful speaker of a language that you are also
capable of being a meaningful listener of.
| [reply] |
|
|
|
|
A programming language's purpose is to facilitate speaking to
machines.
A programming language's purpose is not to "facilitate
speaking to machines" as you state. I can speak to machines much
easier in English, and often do even if some the words I speak may
not be found in most English dictionaries :-P The purpose of a
programming language is to facilitate writing instructions that
control a machine, the machine is never a "listener" in any sensible
application of the word. Why do we construct higher level programming
languages? So that we can express those instructions in higher level
terms and expressions that make more sense to *us*. We are
the audience.
| [reply] |
|
|
|