Hacker News new | past | comments | ask | show | jobs | submit login

What does "scripting language" generally mean. UNIX "scripts" can be written in C. Is C a scripting language?



Generally speaking, a scripting language comes from the set {Python, Perl, JavaScript, PHP, Lua, Ruby}.

Its a tricky term to define, much like "compiler". Actually "compiler" is a nice analogy: everyone knows what one is, but the actual test for "is this a compiler" is shaky, and returns true for lots of things that aren't _really_ compilers.

Anyway, Ousterout coined it in his paper on TCL, but annoyingly chose not to formally define it. The set at that time was (I think) {TCL, Perl, sh}.

But because he didn't define it properly, the word has been used for years without a proper definition. The best I can do is to say read my PhD thesis, starting on page 7, where I'd spent a meaty six pages explaining in as much detail as I can what it means to be a scripting language.


From my understanding of the issue, a scripting language was once a small language with one purpose which quickly expanded to fill all possible needs (e.g. Perl).

By this definition C isn't a scripting language, as it was small and stood that way.


How is that meaningful from a computer science standpoint?


I'm definitely stealing from someone else's comment a long time ago but they said it very well: The difference is that scripting languages have no main function (as far as I know).


This obviously is not in the spirit of what you're saying, but...

Python main() functions by Guido van Rossum

http://www.artima.com/weblogs/viewpost.jsp?thread=4829


I think the idea is that you optionally can have a main, but you aren't required to do so ;-)


Well, isn't that called a "general-purpose programming language"?


Maybe "scripting language" is the way today's kids say it?


C is a general-purpose programming language but I don't think anyone ever called it a "scripting" language... (besides "scripting" DSL's with C syntax in some games)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: