9 ms·
"It all starts with an understanding of what ‘Python’ actually is." It's basically a script language.
by CmonDev 13y ago
"It all starts with an understanding of what ‘Python’ actually is."
It's basically a script language.
- simonw 13y agoUsing the term "scripting language" to describe things like Python and Ruby fell out of favour quite a few years ago. Calling something a scripting language implies that you can't write a full application using it. This has been proved incorrect a thousand times over.
- dded 13y ago> Using the term "scripting language" to describe things like Python and Ruby fell out of favour quite a few years ago. Which is unfortunate, because now we dance through phrases like "things like Python and Ruby". There is a hard-to-precisely-define category here, and it's useful to have a name for it--even if the name is flawed. And, in my opinion, it's usually better to hang on to an old name as it becomes less and less literally true than to continually fish about for a new name. ("Dynamic language" is popular now, but what happens when someone popularizes such a language with static typing?) As an analogy, consider "touchdown" in American football. You haven't had to touch the ball down to score in my lifetime, or even in my parents lifetimes, but we still call it a "touchdown" and not a "planebreaker".
- frou_dh 13y agoI just think of a script program as one where textual source code is involved at runtime. If I can throw a thing over the wall to you that's runnable and doesn't contain textual source code then that's a compiled program.
- mattfenwick 13y agoThe question I always have when someone says "scripting language" is "to what aspect of the language are you referring?" Unfortunately, since AFAICT the term never seems to have been precisely defined (unlike "touchdown"), different people use it differently and loosely. I never know what exactly the speaker is referring to: - the language definition, or some feature of it such as the type system? - one or more (popular) language implementations? - the intended use (e.g. short throwaway programs, desktop apps, kernel code) and target audience (e.g. experienced programmers, casual programmers, non-programmers)? - the actual use and target audience? - some opinion of the speaker about the language/implementation/etc. in question? (Of course, this is just in my experience. YMMV) ---- tl,dr; in the body of my discussions, "scripting language" is a free variable and I can't find its definition! I wish people would pass it as a parameter! discuss_scripting_language(listener="matt", opinion="they suck/rock!!!1one", definition="...")
- CmonDev 13y agoIt's probably possible to write a full application in JavaScript or Lua as well.
- stefantalpalaru 13y ago> Calling something a scripting language implies that you can't write a full application using it No, it means the language is interpreted instead of being compiled to native code AOT.
- mattfenwick 13y agoThis is specifically refuted in the article: > ‘interpreted’ and ‘compiled’ are properties of an implementation
- stefantalpalaru 13y agoI disagree. It's still the language that is interpreted or compiled in that specific implementation. The author is also somewhat confused by the word "compilation". Most programmers use it exclusively to talk about generation of native code ahead of time.
- mattfenwick 13y agoI'm sorry, I don't think I understand the first 2 sentences of your response. They seem to say that a language and an implementation of that language are the same thing. Am I correct that this is what they mean? (Apologies if something else was meant) Say we have a language X whose definition says nothing about interpretation or compilation. We also have two implementations of language X, one which is an interpreter, and one which is a compiler. Is X an interpreted language, a compiled language, or something else? Sorry for the misunderstanding, and thanks for the clarification.
- stefantalpalaru 13y ago> Is X an interpreted language, a compiled language, or something else? Both. You can take in consideration a real example: Scheme is interpreted in all its implementations and compiled in a relevant number of them. Languages and implementations are different things, but being interpreted, compiled, JIT-ed, translated, etc. is a property of the language implemented in the... implementation.