rule

Sivecano@lemmy.dbzer0.com to 196@lemmy.blahaj.zone – 953 points –
103

You are viewing a single comment

What is the "classical" sense? What are you implying when you say they are "scripting" languages? What you are imparting to me is that they are less-than other, real languages. I don't take personal offense, but I do take issue with the mischaracterization and implication that those languages are somehow less serious or less broadly useful.

No hard feelins! (:

https://en.m.wikipedia.org/wiki/Scripting_language

A scripting language, or interpreted language, is interpreted at runtime, rather than compiled.

It is not derogatory, and is simply a fact about languages like Python and JS.

If someone on the internet calls something a "scripting language," it's hard to take that in a vacuum. I'll accept that there is overlap between "interpreted" and "scripting" languages, but they aren't synonymous, particularly in my experience interacting with developers online. The typical discourse does indeed trivialize the so-called scripting languages, and my only intent is to say that they are a lot more than what they began as.

There are definitely people out there shitting on all sort of languages, and JS is a huge target, but those have been referred to as scripting language for as long as they existed. It stern from the fact those languages are embedded into existing applications, as opposed to being built into binaries. Nowadays you have hybrids like C# which can used as either a scripting language or to build native app (or in-betwee), so it is really just a matter of the context you're using the language in. There is inherently no hidden meaning or elitism in the term. It is a very old term and I think you simply got the wrong impression from your internet experiences. It is how those languages are defined basically everywhere. Even some of those languages official definition from their own website self-define as scripting languages. There is no ambiguity here at all.

I'm merely saying that to me, and to probably a large group of devs, it sounds like a dig. I totally take that it is an appropriate designation and there was no ill intent though. I think the fact that we're having this conversation is enough to prove that there is at least a little ambiguity given the right context and experience with the term. Cheers

Most scripting languages are interpreted, not compiled. It's not a criticism of them, but it is a tradeoff that is good to understand.

It seems like you are the one who is conflating terms like "script kiddie" with "scripting language" and adding some negative connotation that isn't necessarily implied.

Scripting languages are usually easier to learn, have simpler syntax, and abstractions that hide complexity. These make them easier to get started in, but the downside is they are generally slower (performance-wise) than their compiled counterparts.

I'm certainly replying from my own perspective! Again, I don't think the original reply was intended to be negative. I am just discussing the language used and what it implies to me and perhaps others from a similar background and time. I think, to me, a clearer and more modern way to describe these languages is as "interpreted" or other words describing the nature of the languages rather than saying it is a language for scripting, which carries a connotation (at least to me, in my corner of the internet)

There is a nuance though, because a language simply being interpreted does not mean it is being used as a scripting language. Take for example Java and C#, those languages are interpreted by default which allow you to ship platform-agnostic binaries and a bunch of other neat features. C# can be used as a scripting language, whenever it is interpreted, but it does not have too. It is an important nuance and this is why you can't just replace the term "scripting language" entirely. You can also compile C# directly into machine code, skipping the interpreter entirely. Technically, there is nothing stopping you from writing an application that use C# as a scripting language even without the interpreter, since you can compile c# to machine code and simply dynamically load the library at runtime (kind of like Unity does). I guess you could call those "embedded languages", and it would mean almost exactly the same thing, but then, aren't we back to the same problem of some developers taking offence from that? I mean, it does imply that the language does not stand on its own without machine code just as well, which is true. This is one weird hill to have a bruised ego over for those developers you've met. Words have meaning and this one just happen to be a right fit given the description. I have a feeling from this whole exchange that you didn't know what scripting languages were, considering how you replied to my first post. I worked in development for over a decade and I have never seen it be used with negative implications. I really just think you personally projected your own feeling onto a term you didn't understand. No offence intended, it happens.

I get what you're saying. Are you saying also that you haven't ever encountered anyone using the term as a pejorative? My original reply is earnestly asking what was meant because the original post was ambiguous to me. I'm talking about connotation and you're talking about the textbook definition. I know what a scripting language is, and it's pretty dismissive to say otherwise imo. To call JS and Python scripting languages puts them up there with bash, lua, and perl. Interpreted or not, do you think these languages are equal? Can a developer as easily create a fully featured app or website equally with all of them? Can you land a perl job as easily as a JS one? I don't think so. It's not a matter of bruised ego so much as I want to combat the notion, especially for newer developers, that JS and Python and friends are somehow less-than, whether or not that was the original intent of the post.