Timeline for Are dynamic languages always interpreted?
Current License: CC BY-SA 3.0
17 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Sep 19, 2020 at 12:06 | comment | added | Dave Newton | “ [...] your program does not compile : it is compiled by the interpreter for you” makes no sense to me. It’s not relevant why or when the compilation happens. | |
Dec 19, 2019 at 13:22 | comment | added | Xwtek | @ClearMind Chicken Scheme is clearly compiled, Even if you think Ruby and Python is interpreted, Chicken Scheme is compiled to C, which is compiled to native instructions. | |
Dec 12, 2019 at 16:00 | comment | added | Delioth | @ClearMind If you're trying to say that "compiling" can't transform to some intermediary code... then you're stating that standard implementations of Java aren't compiled (since they compile to JVM bytecode, which explicitly isn't executable code, it has to go through the JVM) | |
Aug 29, 2017 at 13:58 | comment | added | ClearMind | these are calls to additional resources, not performing the resources supplied by the program itself | |
Aug 29, 2017 at 13:42 | comment | added | Basile Starynkevitch | A program written in C needs the C runtime library. A program written in Ocaml (a compiled language) needs the Ocaml runtime library (which contains a garbage collector). A program written in Go needs the Go runtime. And so on. And many complex programs need many other resources (e.g. my web browser needs fonts etc...). | |
Aug 29, 2017 at 13:29 | comment | added | ClearMind | a program written with a compiled language needs the OS and no more ; a program written with an interpreted language needs its specific interpreter in addition to the OS, even if it has been processed into some intermediary code....n'est-il pas? | |
Aug 29, 2017 at 13:19 | comment | added | Basile Starynkevitch |
BTW, even a plain old C program compiled into an ELF executable by some GCC compiler on a Linux machine needs in practice additional software to be run: the libc.so , the Linux kernel, the dynamic linker ld-linux.so
|
|
Aug 29, 2017 at 13:08 | comment | added | Basile Starynkevitch | But the compiled code might not be inside an executable file. It could be in memory only. SBCL is not an interpreter, for a recent example. And libgccjit is a compiler library (producing GCC compiled code in memory). And 1960s era compilers worked without files! | |
Aug 29, 2017 at 12:29 | comment | added | ClearMind | by definition "compiled" in "compiled language" refers to compilation into binary code, not transformation into some intermediary code. If the language lead to the production of such intermediary code for a program, it will need an additional software to perform the binary compilation from this code : it is then an interpreted language. | |
Aug 29, 2017 at 12:21 | comment | added | Basile Starynkevitch | Your definition of compiler is too restrictive. Not every compiler produces a binary executable file. For a recent counterexample, study the implementation of SBCL. Read the latest Dragon Book and Lisp In Small Pieces | |
Aug 29, 2017 at 12:19 | comment | added | ClearMind | Sure. Your link mentions : "One feature of Self is that it is based on the same sort of virtual machine system that earlier Smalltalk systems used. That is, programs are not stand-alone entities as they are in languages such as C, but need their entire memory environment in order to run." not stand-alone = not binary compiled the virtual machine is needed to perform the binary compilation | |
Aug 29, 2017 at 12:06 | comment | added | Basile Starynkevitch | Read papers related to SELF | |
Aug 29, 2017 at 11:56 | comment | added | ClearMind | "Roughly, JIT compilation combines the speed of compiled code with the flexibility of interpretation, with the overhead of an interpreter..." en.wikipedia.org/wiki/Just-in-time_compilation your program does not compile : it is compiled by the interpreter for you | |
Aug 29, 2017 at 11:54 | review | Late answers | |||
Aug 29, 2017 at 13:34 | |||||
Aug 29, 2017 at 11:53 | comment | added | Basile Starynkevitch | Wrong. Dynamic languages can be compiled (and sometimes very efficiently, e.g. using JIT and adaptative compilation techniques) | |
Aug 29, 2017 at 11:39 | review | First posts | |||
Sep 1, 2017 at 15:43 | |||||
Aug 29, 2017 at 11:36 | history | answered | ClearMind | CC BY-SA 3.0 |