

Ask HN: Compiled and Interepted language? - pkc

 Is it possible for a language to be both compiled as well as interpreted.<p>* During development we can use interpreter to rapid application development
  * In production environment same code base gets compiled to machine code or bytecode for performance reasons<p>Is it possible? Or is it a stupid idea?
======
pmarin
Actually the different between compiled and interpreted language is very weak.
For example, when you compile a C program the result is a code in a machine
language and the machine language is "interpreted" by the Control Unit of the
processor but if you are running the machine code in a emulator it is actually
interpreted by the emulation layer.

------
ErrantX
Although it's not quite what you mean there is Cython - it's a Python
extension to Distutils that lets you convert Python code to C & compile it.

We actually use this in the way you describe - using the interpreter as our
test bed but compile it via Cython (for code protection and speed reasons) on
deployment.

------
towndrunk
I'm not so sure skipping compilation is going to give you rapid development.

~~~
pkc
During development certainly I can iterate more quickly with interpreted
languages than with compiled ones. It improves development time considerably.

------
jpr
I think Common Lisp standard requires implementations to have both interpreter
and compiler, but allows some freedom how to do it. Some implementations
compile to byte code (I think CLISP does this), and some compile to native
code on the fly (SBCL). Haskell and OCaml also have both interpreters and
compilers available. So yes, it is quite possible.

------
njn
Yes it is possible. There are countless examples. ghc is one.

