In an interpreted language your source code is read in command by command by a software tool which is called the Interpreter and executed What Command by command No interpreter is using such crappy technique nowadays Taw From Interpreted Language Talk some languages like Perl are compiled at runtime Could you elaborate Taw Every time a perl script is run Perl compiles it and then runs the compiled code At least this is the usual way of using perl although it s not the only way Zundark 2001 Dec 15 You mean compile to syntactic tree or compile to machine code Taw I believe it s compiled to bytecode much like Java As of perl 5 6 version it s possible to produce a bytecode version of a perl program to save the compilation step I think the bytecode can be converted back to full source as well but I m not as sure about that Indigo Perl produces a perl compiler that produces a machine executable but I think the resulting executable consists of both the actual bytecode and enough of the perl engine to run the bytecode so they tend to be rather large Their advantage is being able to deploy the code to machines that don t necessarily have the Perl interpreter installed They have versions for both Windows and Unix ish platforms Wesley Old Interpreted Language article An interpreted language is a type of programming language that is not compiled into machine code but is interpreted at run time by the computer and translated into machine understandable code as required It is often a mistake to refer to a language as either interpreted or compiled because most languages can be implemented in either way and some languages like Perl are compiled at runtime but behave as if they were interpreted Other languages like Java may be partially compiled into an intermediate form which is then interpreted although that too might be compiled Some languages though are specifically designed to favor interpretation An example of an interpreted language is JavaScript Is Java interpreted or what The Java programming language article says The first implementations of the language used an interpreted virtual machine to achieve portability and many implementations still do These implementations produce programs that run more slowly than the fully compiled programs created by the typical C compiler and some later Java language compilers so the language suffered a reputation for producing slow programs More recent implementations of the Java VM produce programs that run much faster using multiple techniques The Java language is compiled always It is designed as a compiled language and is implemented as a compiled language It is often compiled into bytecode which is then interpreted with a virtual machine I think the Java language article is correct but maybe it could be worded better LDC Yes and you can also compile Jave straight down to machine code if you like The above claim that it is a mistake to differentiate between interpreted and compiled languages is IMHO incorrect every language that has an eval statement which lets you construct and evaluate statements on the fly can never be cleanly compiled down to machine code you will always have to embed an interpreter in your compiled code AxelBoldt Way too much mess here has been caused by lack of clear definition of compiling It is used in two distinct meanings as in compiled to machine code or assembly compiled to byte code parse tree some other internal representation I think it s wrong to call languages that use the second way compiled In such case there would be virtually no interpreted language in use no language uses line by line parsing nowadays all compile source to some form of internal representation Quote from FOLDOC Compiler A program that converts another program from some source language or programming language to machine language object code Some compilers output assembly language which is then converted to machine language by a separate assembler