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?
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.
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.<p>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.
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.