Skip to main content
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