When JavaScript was first released, it was a god-send. The alternative was vbscript and if you think JavaScript is bad...
Very true. I remember vbscript. I still have to write some occasionally. What’s funny is that powershell gets all the attention & security applied to it - but vbscript likely keeps its flaws in the name of backwards compatibility. I’m betting vbscript is a huge attack vector just waiting for some major exploitation that leads to its removal or being severely gimped.
I assume vbscript is not Visual Basic? That was my first thought and I find that quite easy to grasp
Correct. You know how JavaScript is not Java? Same thing. If memory serves me correctly there was a bit of a race to be the next Windows script language between NT4 and 2000 (to replace batch), and it was between VBScript and Kixtart (the former won out).
Yeah, everyone hates JS but that doesn't mean the existence of JS is a curse. For a long time it has been the best at what it's commonly used for. Otherwise no one would complain about it because no one would use it.
All I remember about vbscript was that array indexes started at 1.
I just remembered option base 0
:-)
Wow, they found something even more confusing than 1-indexing (conditional 1-indexing)
option base 42
Sadly, per the syntax docs on O'Reilly it doesn't look like it can be anything but 0 or 1. That's not to say it's a good feature, but at least make it fun if it's gonna be bad.
I hate all these "hurr durr javascript bad" posts. It's really not so bad, and worse languages exist. It's really just a bad, overused joke.
It’s really not so bad, and worse languages exist.
Esoteric languages do not count. Super obsolete ones don't either. At that point you're left with maybe PHP.
It’s really just a bad, overused joke.
Now that might be true. I guess the main counterpoint is that it's not like you never encounter it, so it's natural it gets joked about a lot.
I'd bet that most people who think this way either haven't used it in the last 10 years or they only know it from the memes.
Nope. Use it very often, though mostly usually with typescript.
Raw Javascript becomes a massive hindrance in any project past half a dozen files and 1000 lines.
Typescript makes it a lot more usable.
It does some funky things with type coercion and comparison which I don't particularly like, but I generally understand why it does things that way.
A lot of the weird quirks of JS come from the desire to avoid completely blowing up and crashing as much as possible, which makes sense in a web dev context. Forcing weird operations to at least return something can prevent an unhandled error state in a single component from causing an entire page to crash, even if that component ends up malfunctioning as a result.
Kids complaining about JavaScript while I'm at work, looking at fucking COBOL, or trying to maintain C# exe that were written by somebody who clearly did not understand OOP yet underlie the entire tool chain of a 3k+ employees company.
Oh and go check out the "natural language" syntax of Macromedia Director scripting (Lingo), for your edification...
Languages are tools. Some of them are really shitty tools, for sure, but if you think JS is it, you haven't seen anything.
JS isn't that bad provided you just use it for frontend UI, it's quite good at that
What about Typescript? I've only done a little bit of frontend but TypeScript felt much more reliable than pure js
I really like Typescript, I think it's a more smooth programming experience than raw JS or even other high level languages like Python . However, I don't mind JavaScript as much as many other programmers so I suppose I'm a bit biased.
One of my favorite languages, it's everything that's good about Javascript plus the one thing that's missing: types.
I love typescript, especially for larger projects and libraries.
Why? lol
Terrible type system, terrible standard library, terrible compatibility and lack of many features, compared to C# for example.
All of those things are by design and comparing JS to a fully fledged OOP language is just the sign of a clueless developer.
The JS standard is well defined and compatibility has nothing to do with the language itself
Terrible type system, terrible standard library, terrible compatibility and lack of many features
All of those things are by design
That makes it even worse.
All of those things are by design
And this makes sane programmers sad.
Yeah what's the hate against JS? Did it steal your wife?
JavaScript burned our crops, poisoned our water supply, and delivered a plague unto our houses
It’s missing a lot of things that people really care about (with good reason) like static typing. But I think a lot of dislike also comes from it being more of a functional programming language and not object oriented. I like it because it’s like scheme or lisp but with a C like syntax that I find easier to read. I also like that I can do dynamic stuff with websites. In some ways it’s the perfect scripting language for the web. Just as messy and unpredictable as html.
There are "classes" (syntatic sugar over prototyping) that allow OOP in JS, so I don't think why people would dislike it for the lack of OOP, unless they're using ES5.
I get why JavaScript can be terrible but at least there's TypeScript. I'd argue Python suffers from the same problems but hasn't got anything comparable to TS for keeping types in check and can't autoformat well because whitespace is syntactically meaningful. In that way I think Python is worse to write maintainable code with.
Js is what you make of it. It can be a godawful mess but it also can be really awesome. It's a really easy language to understand that is a good thing. But it's also a double edged sword because that means that novices can write absolute spaghetti code in it. That's not the fault of the language though.
Being easy to understand is one of the primary goals of any programming languages.
The problem with Javascript is that it isn't easy to understand. Javascript is easy to write.
That's why it's easy for novices to pick up and why it ends up being spaghetti code. It's very unrestrictive and allows writing very poor code that works based on assumptions and breaks when the assumptions aren't met.
It made sense at the time because it was just a scripting language for some minor website things, and you didn't want your site to crash if your script ran into a problem.
Now it's being used to write full fledged applications and it's past design choices are still haunting it.
Js is what you make of it. It can be a godawful mess but it also can be really awesome.
Agreed. It wasn't always a great language, but by some miracle it eventually became pretty alright.
But it’s also a double edged sword because that means that novices can write absolute spaghetti code in it. That’s not the fault of the language though.
Disagree. The best languages are those which can be intuitively used without having to learn the pitfalls. Take Rust vs. C++, for example: both languages have pitfalls, but only Rust is intentionally designed to help you steer clear of them. JS is like C++ in this regard -- decades of cruft have coalesced into tempting yet painful footguns, much to the chagrin of many a new learner.
Js is what you make of it.
This is one of the biggest issues with JS.
Want to stuff your whole program into one file on a single line? Go for it! Want to use 100 JS files in a single directory? You the boss! Want to tinker with the internals of other modules? Ha! What internals?!?
This is coming from someone that actually likes JS. It's a very loosey-goosey language and it does next to nothing to prevent bad practices. You're expected to pick and choose additional libraries to help with quality and organization. Some people choose no framework, some choose relaxed frameworks, or very opinionated ones. And if you want, you can easily mix strategies. I mainly code in Java, much more strict by comparison, and taking this approach would be a good way to ensure nothing works.
I think the core of JS is good but it needs better official tooling (I still hate NPM) and less of do-what-feels-good approach.
Also: CSS Also: Java applets Also: Flash
The internet has basically gone moldy overnight.
Flex and grid have made CSS so easy I can't imagine how anyone could hate it anymore. Back when everyone used float for layout, it was painful, but no sane person does that anymore.
Flash gives me great memories of watching Camp Chaos Monkey for President cartoons in university though. <3
This is scriptism
In 1994, CGI back-ends were the closest thing to interactivity in the browser, and that's far back enough that a good deal of it was written in C. Strong typing abounds!
But JavaScript was an absolute joy by comparison. Heck, even Perl CGI was a joy compared to having to write executables for every fricking thing.
Note that by JavaScript, I mean the mostly hand-crafted stuff in earlier sites, not the enormous frameworks that are in use these days.
Hear, hear!
In 1998, I did my work experience at a local ISP and was tasked with coding a backend that would create accounts for people wanting to buy an internet subscription from us.
IIS was still in beta so my boss decided I would use Linux, this new fangled language called PHP and just write a CGI in C that would do the actual creation of accounts on our server (IIRC).
I spent a few weeks on a console terminal, using vi, doing C; which was as abominable as one might expect. PHP was fucking magic, in comparison.
And on the front-end, I used a bit of JavaScript to add some interaction and reactivity and that was just fun!
Heck, seventeen years later and I still think it's a fun language to use.
Anyway I don't know where in was going with this... you kids don't know how good you have it, is what I'm saying.
Forget Javascript make 2024 the year that DHTML comes back.
Programmer Humor
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.