DEV Community

Discussion on: What Is An "Interpreted" Language?

 
jessekphillips profile image
Jesse Phillips

Just condense statements you've made.

'Java is an interpreted language, it is compiled'

Really the JIT is a system that confuses the definitions because this would be an accurate statement.

'Javascript is interpreted, the JIT compiles it'

Generally not every line is run through the JIT. You could even say

'D is a compiled language, it is interpreted at compile time'

But I think you are trying to bring Java into the same category as Python so you can use it to back your position that Python is a real language.

Java, as a language, is not interpreted. Byte code is not the written language.

Typescript is mixed because Javascript is valid and not compiled in Typescript. It is more analogous to the C preprocessor, which is referred to as a macro language.

Scripting languages are not well defined, I utilize D as my scripting language, but it is fully compiled to machine code. Then you through in JIT and things get more confusing.

To better understand, it is best to look at the term for the time it was emerging. You had C and Bash, Lisp and Fortran. Languages like perl and php follow closer to the style for bash, these languages start execution at the file entry and don't define a special entry (main).

As for inferiority of scripting over a real language, we need to look at the level of understanding necessary to use the language.

Bash required writing your shell commands to a file then calling bash on it. Similarly languages like visual basic would add container iteration. C required learning pointers and memory layout. While scripts could easily build the description of a task, but would be limited in performance. Today machines are resource abundant and optimization techniques are identified.

C++ was long considered a compiled language, but it wasn't until Walter that the first compiler to build machine code instead of C existed.