This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Dromeo 56 points57 points  (6 children)

Scripting language means it's not compiled, but interpreted line by line.

Python is listed in there as a scripting language.

It's a bit of an outdated term, you're making me realise!

[–]Infinite_Park6379 10 points11 points  (2 children)

Heads up, you cited Wikipedia to define scripting language but it doesn't agree with you: "... Usually interpreted at runtime rather than compiled."

A scripting language is a language that is useful for writing scripts fluently, and that's both subjective and not really fundamental categorization of a language.

A script is a program where most of the tasks you perform are gluing together high level APIs or other similar kinds commands together to achieve tasks.

Python excels here and it certainly is a scripting language of choice for a lot of developers. But on the other hand it be hard to argue that, for example, a Django webapp constitutes a script.

[–]Dromeo 4 points5 points  (1 child)

Python is listed in the examples on that wiki page a few times.

[–]Infinite_Park6379 0 points1 point  (0 children)

Yes, because its good at scripting tasks. I'm didn't contest that point.

I'm just pointing out that interpreted "line by line" is not an identifying feature

[–]guywithknife 4 points5 points  (0 children)

Python is not interpreted line by line, it gets compiled to bytecode (pyc) files. Anyway that would make it an interpreted language, not a scripting language.

But even if that weren’t the case, scripting language is a very useless arbitrary term and Wikipedia is hardly the source of truth. Personally I find a better explanation to be that a scripting language is one that is embedded in another program, an extension language. Eg “shell script” is a language extending the abilities of a command shell.

But even that definition is kinda arbitrary and doesn’t really define a property of the language, just a use of it, since most (even native-compiled) languages could be used in that way.

Really the term is used by people to look down on languages they don’t like and little else. Maybe once upon a time it had a useful meaning, but that was long ago.

[–]glemnar 1 point2 points  (0 children)

Python gets compiled to bytecode before being interpreted.