Posted by: AnomalousUser
on September 16, 2005 01:36 PM
You are wrong.
Who cares about the implementation? Some languages are interprative BY DESIGN and some ARE NOT. To discover the difference, try writing some real application code in each. Compare FORTRAN to Forth, or Java to Smalltalk. Interpretive languages, especially what used to be called functional languages, expect the source code to be coming from a text stream in real time. That expectation changes the language. It leads to entirely different language idioms, and entirely different paradigms for program design and development. The pedantic details of what happens after the text-stream gets to the interpretor/compiler is of no consequence to the programmer unless the language itself demands it. Typically, an interprative language will allow you to construct a string during program execution, and then INTERPRET that string - Human readable, self-modifying code.
If you are trying to argue that some interpreted languages have some sort of compilation loop (which they usually do), or that you can write a compiler for an interpreted language (which you can sometimes do partially), or that you can use a compiled language to implement an interprative language (which you can), or that you can implement an interprative subset of a compiled language (which you can with a lot of effort but it's still not the same language), then you are just being boring. The difference between an interprative language and a compiled one is not in the implementation IT IS IN THE LANGUAGE!