I understand the differences between interpreted and compiled languages, but if someone could provide some examples of situations when one is likely to use interpreted languages over compiled languages, as well as situations when one is likely to use compiled languages over interpreted languages, it'd be really helpful.
Programming Languages – Examples of Using Interpreted Languages Over Compiled Languages
programming-languages
Best Answer
There's (to my knowledge) no such thing as an interpretted "language" or a compiled "language".
Languages specify the syntax and meaning of the code's keywords, flow constructs and various other things, but I am aware of no language which specifies whether or not it must be compiled or interpreted in the language spec.
Now if you're question is when you use a language compiler vs a language interpreter, it really comes down to the pro's/con's of the compiler vs. the interpreter and the purpose of project.
For instance, you may use the JRuby compiler for easier integration with java libraries instead of the MRI ruby interpreter. There are likely also reasons to use the MRI ruby interpreter over JRuby, I'm unfamiliar with the language though and can't speak to this.
Touted benefits of interpreters:
Touted benefits of compilers:
However, I would bet in 90% of cases it goes something more like this: I want to write this software in blub because I know it well and it should do a good job. I'll use the blub interpreter (or compiler) because it is the generally accepted canonical method for writing software in blub.
So TL;DR is basically, on a case by case basis comparison of the interpreters vs the compilers for your particular use case.
Also, FFI: Foreign Function Interface, in other words interface for interoperating with other languages. More reading at wikipedia