I posted an answer to When would using a scripting language within a larger program be useful?
I can understand down votes from programmers who feel insulted. But why on earth would you delete a questions that links to relevant papers, etc.? Is this question the common definition of 'Questions that are extremely off topic, or of very low quality'? If yes, I just won't post anymore.
This is my answer:
The reason for using a scripting language is:
productivity: For rapid prototyping, writing throwaway code, web programming you are much more productive in a scripting language. Many businesses programs are throwaway code. Think of twitter.com: at the beginning, they used ruby to get started quickly and later when, scalability and long term maintenance was needed, they switched to scala. Read this IEEE article: http://www.tcl.tk/doc/scripting.html
So if the above two points are important for a part of a program, you would use a scripting for that part within a whole program which is mainly programmed in C# or so.
Basically, scripting languages are based on 'untyped lambda terms' (think LISP in 1958). Thats just the big picture, not an accurate statement. (Lua Wikipedia page 'We did not consider LISP or Scheme because of their unfriendly syntax.'). The upside is that untyped lambda terms are as powerfull as typed lambda terms, but you don't have to think or care about types. The downside is much more things can go wrong, which is a debugging, maintenance, security nightmare.
- big projects with big teams
- long maintenance needed
- systems that need to be depended on (medical equipment)
The argument about 'doesn't need to be recompiled' isn't accurate. Think of haskell, which is not a scripting language. There is an interpreter available that is called 'ghci', which I can use to execute haskell programms without compiling any code. This is applied in the 'snap' web framework (link), where webpage code is interpreted and can be changed without recompiling. Any language that can be executed via an interpreter can be used.