in reply to Re: don't { use Perl }
in thread don't { use Perl }

Heh. That would be confusing 'translation' for understanding. We often say things like: "the compiler doesn't understand that statement" or some such. But that's just us playing fast and loose. The compiler doesn't understand perfectly valid statements any more than it fails to understand invalid ones. Neither translation of a high level language to a machine language, nor execution of the machine level binary constitutes any reasonable interpretation of "understanding" the program. There is no homunculus required in your laptop to translate or run your C program.

Replies are listed 'Best First'.
Re: don't { use Perl }
by Abigail-II (Bishop) on Jun 10, 2002 at 17:20 UTC
    Still, the only reason I write higher level computer languages is to communicate with a computer. I communicate with humans in English, or Dutch if I have to. And I need to terminate all statements in C with a semi-colon, for no other purpose of satisfying the compiler.

    Not because humans suddenly fail to understand. Just the compiler, and the compiler ain't no human.

    Abigail

      Still, the only reason I write higher level computer languages is to communicate with a computer.

      We write computer programs to control a machine through a sequence of states. We use higher level programming languages to do so because we can more readily and more reliably express and specify such sequences of states. We are the audience of our higher level programming languages.

        we can more readily and more reliably express and specify such sequences of states

        That's what I said upteem replies ago. We are the speakers. But the computer (by means of a compiler or interpreter) is the audience. It's not the main form of communication between people. If you don't believe, come to YAPC and visit some talks. You'll notice that the main language used by the speakers to communicate with the audience is English and not a computer language - Perl will only be used by the speakers to show the audience what to say to the computer.

        Abigail

        While at the lowest level we definitely need to "control a machine through a sequence of states", at the higher level we often use langauages that allow us to abstract out of any states. Think about Prolog, functional languages, SQL ... there we do not specify what states to go through. We merely specify some relations or properties of the results and leave the "conversion" to sequence of states/commands to someone else.

          Jenda