Talk:Interpreted language

message: There is not actually a concept of an interpreted language to any meaningful degree. I believe this page is propagating a lot of misinformation. Instead of critiquing every little phrase I'll just explain the disconnect here.
There a programming languages, there are interpreters, and there are compilers. Programming languages need to be turned in to executable programs somehow. The two most popular ways are interpreting them and compiling them (see the respective pages for an explanation as to what the differences are.) The fact that you interpret the code or compile the code, however, is not a language-specific property at all.
Many languages have both. There are also often many compilers for one language. What is an interpreted language then? A programming language for which no one has yet to write a compiler? Show me that language and I'll write you a compiler for it. That language is no longer an interpreted language. This phrase just does not have meaning despite it being a very common phrase in the programming language community. I think we should stop perpetuating the myth that a language is either compiled or interpreted by removing this page. -MM  — Preceding unsigned comment added by 209.6.55.158 (talk) 22:58, 21 June 2013 (UTC)
replies: text: That's right, the term is just a misnomer used informally. Being interpreted or compiled is not a property of programming languages because, as stated above, on a theoretical level, every "interpreted" programming language can be compiled. Accappona La Pelle (talk) 13:58, 23 October 2020 (UTC)

text: It is not true that languages which modify the structure of code at runtime can only work as interpreted, please refer to the Wikipedia page about self-modifying code for an example. It may be true that the only way to compile some programs, written in languages that are usually interpreted, is to embed some parts of the interpreter within them, that's because those parts are part of the program itself. Accappona La Pelle (talk) 13:44, 23 October 2020 (UTC)
thread_title:  Interpreted Language is a meaningless misnomer 

message: The entire first paragraph never says what an interpreted language is and neither does the interpreter page. All the content in there was incomprehensible to a non comp sci person like me. Could someone please simplify this and say what the interpreted language means in the first 2-3 sentences...Truetyper 03:44, 18 May 2007 (UTC)
thread_title: Change definition

message: These might be good to incorporate into the definition: A nuanced definition of interpreted  and an argument that languages are interpreted unless they compile to assembly code  Antonrojo 17:13, 26 April 2006 (UTC)
thread_title: A few good cites

message: I think we should set a few things straight about ActionScript here.
ActionScript has always been some kind of a strange breed when it comes to the distinction of interpreted an compiled languages, since it always had to be compiled first to be run. For as long as there's been ActionScript, there has always been an Actionscript Virtual Machine in the Flash Player.
In ActionScript 1 and 2, code was translated to the prototype-based ActionScript 1 anyway and compiled dynamically, and thus I consider labeling ActionScript as interpreted language as precise enough, though the list item should be renamed to "ActionScript 1.0/2.0".
With the advent of ActionScript 3.0, though, ActionScript is compiled into a different kind of bytecode (although it is still jammed into a file with the .swf extension) which is JIT-compiled by the Flash Player AVM2.
IMO this qualifies ActionScript, although by definition still based on ECMAScript, to be mentioned alongside Java in the section "Languages usually compiled to a virtual machine code".
Best regards,
Cathness (talk) 06:22, 5 April 2008 (UTC)
thread_title:  ActionScript 

message: PHP is certainly not compiled to bytecode before execution. It is parsed,compiled, and executed at runtime by the php interpreter. I assume that "Languages usually compiled to a virtual machine code" means at compile time. there is no such thing compile time in php. see (http://www.derickrethans.nl/files/internals.pdf) for description of php internals.YoCmos (talk) 11:29, 17 October 2008 (UTC)
thread_title:  PHP 

message: This article gives a very poor description of what an interpreted language is. In fact, you could easily gain the impression from reading it that an interpreted language and a compiled language are the same thing!
It really needs a major rewrite IMO. Gatoclass (talk) 13:07, 10 January 2009 (UTC)
replies: text: I did a small rewrite to the definition. Certainly a definition of type "is a language whose implementation is ..." is not descriptive enough.YoCmos (talk) 16:12, 7 August 2009 (UTC)
thread_title: Poor description

message: I combined these two defintions to make it readable for readers who are not familiar with high level terminology.
Although the old defintion is technically more precise, the new one is more descriptive.
A person who doesn't know what the phrase "main language implementaion" means, will never understand the subject.
Pages where this defintion was used:
[]
[]
YoCmos (talk) 10:34, 11 September 2009 (UTC)
thread_title:  Definition 

message: I don't know if there's a talk page concerning this but both this and Compiled Language really should be moved to Programming language implementation.
It's not a very useful approximation to consider a language "compiled" or "interpreted" and as this talk page exhibits, it seems to confuse more often than not. Compilation or Interpretation are properties of a languages implementation, not usually a property of the language.
I propose Taking both Interpreted Language and Compiled Language and moving them to sections of Programming language implementation (which is currently quite smile) and having the links redirect to sections there.72.71.243.114 (talk) 22:55, 6 November 2010 (UTC)
replies: text: Why not to merge with Executable in the first place? Executable and interpreted are one and the same thing, after all. --Javalenok (talk) 10:21, 22 July 2013 (UTC)
thread_title: Merge into Programming language implementation

message: COBOL as a rule is not interpreted. You may find some implementations, but these do not represent the 99.99% of the lines of code in production today. COBOL is compiled, pure and simple, and enjoys easy integration with C and C++ for precisely that reason.  — Preceding unsigned comment added by 91.176.80.245 (talk) 07:23, 16 October 2011 (UTC)
thread_title:  COBOL 

message: There already exists a list of interpreted languages in List of programming languages by type. The corresponding section should be merged, then deleted and replaced with the link here in either the end of the intro or the "see also" section. There are complications, however. That page does not include sub-bullets to indicate the ancestry of languages. Furthermore, the list is not alphabetical, which will be a pain. I will post this note on the other page. AllenZh (talk) 01:12, 18 March 2012 (UTC)
thread_title:  List Merge Needed 

message: The article starts with the words  Contrary to this definition, interpreted programs are executed directly, without any intermediate compilation. Might be you are looking from the target machine point of view. But, why not the original program perspective? Interpreters interpret the original program, not machine code, after all. I can think of a machine that executes the program directly, without any compilation. Interpreter is actually such a machine. Though normally virtual, you can always make it phisical. Actually, any physical machine executes instructions immediately. The machine language interpreter is a basic interpreter, therefore, as it does not involve any compilation (only little men in the processor know how to execute an instruction). So, interpreter executes instructions directly. Which indirectness are you talking about? --Javalenok (talk) 15:08, 4 January 2013 (UTC)
thread_title:  Directly/Indirectly 

message: I read the following:  This has appeared in the [edit], which seems ok. Now, the first part is also ok. It says that Java workflow consists of compilation, followed by interpretation. The latter may be optimized with second compilation. Nothing mentions bytecode, despite we have the "interpreted languages" title. This creates an impression that it is java, which is interpreted, which is wrong. Java language was designed with the bytecode to be compiled into. Secondly, they say that .NET is different because it (always) compiles into CIL. That is, Micorsoft workflow is different because it is the same! Might be you suppose that the difference is in the bytecode interpretation: Sun designed bytecode for interpretation whereas MS targets JIT-compilation? It is not clear at all and cannot be true because microsoft has nothing to do at all with our topic, interpretation. Might be, by introducing such unimportant details in such entangled manner, somebody wants to hide the fact that .Net is MS's clone of Java. Replaing C# with ".Net multilanguage" marketing hype confirms that. But actually we know that both Java and C# both languages are always compiled into IL (aka bytecode). It is this language that may be interpreted or JIT-compiled. And, there are more languages compiled into java bytecode than into CIL. You cannot say that Java bytecode is Java-limited after that, right? So, I just revert this edit. Furthermore, see in the Interpreter (computing) that interpreter can have the  strategy. This is the strategy used by CIL and it is therefore nonsense to say that it CIL is compiled rather than interpreted. --Javalenok (talk) 19:40, 4 January 2013 (UTC)
thread_title:  Java, bytecode, C#, CIL 

message: ASP is not a language but a framework by Microsoft where the two languages VBScript and jScript can be used. Other compliant frameworks exist where other languages are also supported. --DotnetCarpenter (talk) 12:27, 7 February 2014 (UTC)
thread_title:  ASP is not a language 

message: An interpreted language is one whose ORIGINAL design is meant to be run without the need of compilation. Python, Ruby, Javascript and the like are designed like this. The programmer did not need to "compile" any code to run them, even if such is possible now. "Compiled" languages, on the other hand, refer to those languages that were ORIGINALLY designed to be converted to some intermediate form before running. This includes C, C++, Java, Rust, etc.
The fact that we can compile any of these languages or run them in a virtual machine is meaningless in comparison with the original intent. You might as well say an image file is a software program simply because you can write an interpreter for its bits. By looking at the original intent of the design of the language (which is usually (but not always) apparent based on its syntax), you can easily classify these languages. VastNova (talk)  —Preceding undated comment added 22:17, 8 October 2016 (UTC)
replies: text: Can we get a source for this? Plokmijnuhby (talk) 10:45, 6 August 2019 (UTC)
thread_title:  Authentic Definitions