From: Joseph Lenton Date: 2011-01-14T11:10:42+09:00 Subject: Re: Ruby is interpreted and scripting language? My personal definition of a compiled language is one that is outputted into a target code that is not a part of itself; regardless of if it is machine code, intermediate byte code or source code for another language. An interpreter is then one where itself is the target; including if it both uses an intermediate bytecode or just walks the program directly executing it the fly. If it in turn targets another system, like outputting native code, it's no longer an interpreter as it's not targetting itself (and as it's using just-in-time compilation). These days the term 'scripting language' is too ambiguous to have a real formal definition (at least for general usage). It's more like lots of scenarios that explain what people typically mean. To me it's any language where the executable is stored as source code; like JavaScript, PHP and Ruby. An example could be that if built a system where C++ source code is compiled on the fly before being executed (and so C++ source code are now executable applications) C++ becomes a scripting language on that system. But people also refer to scripting langauges as meaning glue code to use seperate applications or components of a different system to complete a task (like writing a bash script to merge files) or as an embeddable language within a system (like Lua is often used for scripting games). Although both of those examples can potentially fit into my first definition. -- Posted via http://www.ruby-forum.com/.