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:

  1. 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

  2. easy to learn Scripting languages are easier to learn than general purpose languages. So if you have amateur programmers (think that some graphic designs also do a bit of web programming, javascript was designed to also appeal to programmers who are not professional programmers. people who change config files, 3D artists) you want an easy to learn programming language. See the LUA wikipedia page: 'Because many potential users of the language were not professional programmers...'

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.

Possible contraindications:

  • 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.

  • 2
    You have misread the question. It's not about using scripting languages in general, but about embedding a scripting language in a larger application (which is fairly common btw).
    – yannis
    Feb 22 '13 at 19:54
  • Just as a reminder, meta votes are different - a downvote here means something completely different than it does on the main site and is more as an "I agree" or "I disagree" type idea rather than any of the merits of the quality of the post.
    – user40980
    Feb 22 '13 at 23:08

I deleted the answer because it was not only attracting down votes, but flags reporting it as not an answer. I agreed with those flags because very little, if any, of the content of the answer was addressing the question that was asked. You talk a lot about characteristics of a scripting language without ever, in my opinion and the opinion of other users, making it clear what your answer to the question was.

I should also add that deletion doesn't have to be final. I believe the comments do a pretty good job pointing out why it's not a good answer. If you address the issues by editing the post, flag it for moderator review - we'll undelete posts that are made good. You'll have to work to overcome the down votes, though.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .