From: Jordan Dimov (jdimov@cis.clarion.edu)
Date: Fri Jul 20 2001 - 19:35:00 MDT
On Fri, 20 Jul 2001, Simon McClenahan wrote:
>
> Like I mentioned in a previous email, I think something would be lost in the
> translation between one language and another. For example, is it possible to
> take Java source and convert it to Fortran? Or to English? And if you took the
> result and translated it to Java, would it be _exactly_ (functionally) the same
> program as the original?
>
The whole point is that if you're making meaningful statements in your
original program, then the answer to this question is Yes.
Sure, you can try to translate 'all your base are belong to us' into
Japanese, and then you can try to translate whatever you got back into
English... And the result probably wouldn't make much sense. But then
again, neither did the original.
Languages are advanced means of expressing language-neutral concepts and
ideas. Suppose I speak to you in Russian, and you're a smart guy and
happen to know Russian. Suppose also that you understand the ideas
behind what I am saying. Then you go on to tell your friend what I have
just told you, because your friend doesn't know Russian, although she too
is a smart girl. Now, in effect, I will have communicated my ideas to
your friend, and she will have in her mind a picture which is fairly close
to the picture that I had in my mind when I first talked to you. Our
mental pictures will be functionally equivalent.
The crucial part in this process is that you understand what I am saying,
and not simply the fact that you can translate Russian words into English.
This is, of course, the reason why all translation software these days is
so completely unreasonable.
You may argue that various languages vary in their degree of
expressiveness, and so you can never quite translate without losing a
certain amount of information. Russian is a very descriptive language,
very rich in adverbs and adjectives, and anyone who has tried to translate
Russian poetry has found this to be a very subtle process, demanding a lot
of creativity. Nevertheless, as Hofstadter pointed out in the quote that
I posted earlier, you can read Tolstoy in English and not only make
perfect sense of his work, but be touched by it and admire his mastery.
The reason is that what is being communicated is ideas, and not mere
syntax.
So can you take a Java program, translate it to Fortran, and then back to
Java without losing functionality? Absolutely, as long as the original
program is making statements that are meaningful to you. Almost all
modern programming languages are powerful enough as to be functionally
equivalent. Can you have a mechanic process which can do that translation
for you? That's a whole another question. Except for special cases, the
answer is no, unless you can reduce creativity to mechanic processes.
This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:37 MDT