this post was submitted on 18 Jul 2023
746 points (93.2% liked)

Programmer Humor

37270 readers
30 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 6 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] MyNameIsRichard@lemmy.ml 105 points 2 years ago (3 children)

When JavaScript was first released, it was a god-send. The alternative was vbscript and if you think JavaScript is bad...

[–] lucidwielder@kbin.social 28 points 2 years ago (1 children)

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.

[–] GlitchyDigiBun@lemmy.dbzer0.com 7 points 2 years ago (2 children)

I assume vbscript is not Visual Basic? That was my first thought and I find that quite easy to grasp

[–] allywilson@sopuli.xyz 14 points 2 years ago

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).

load more comments (1 replies)
[–] Demonicwolf227@lemmy.fmhy.ml 15 points 2 years ago

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.

[–] joel_anderson@lemmy.world 9 points 2 years ago (2 children)

All I remember about vbscript was that array indexes started at 1.

[–] MyNameIsRichard@lemmy.ml 11 points 2 years ago (2 children)

I just remembered option base 0 :-)

[–] outdated_belated 7 points 2 years ago

Wow, they found something even more confusing than 1-indexing (conditional 1-indexing)

[–] andrew@lemmy.stuart.fun 5 points 2 years ago* (last edited 2 years ago)

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.

load more comments (1 replies)
[–] Ultra980@lemmy.world 31 points 2 years ago (7 children)

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.

[–] CanadaPlus 11 points 2 years ago* (last edited 2 years ago) (3 children)

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.

load more comments (3 replies)
[–] magic_lobster_party@kbin.social 8 points 2 years ago (1 children)

That’s one of the overused memes we can leave behind at Reddit.

load more comments (1 replies)
[–] alokir@lemmy.world 6 points 2 years ago (3 children)

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.

[–] whatsarefoogee@lemmy.world 8 points 2 years ago (3 children)

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.

load more comments (3 replies)
[–] jedibob5@lemmy.world 5 points 2 years ago* (last edited 2 years ago)

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.

load more comments (1 replies)
load more comments (4 replies)
[–] fibojoly@sh.itjust.works 25 points 2 years ago (1 children)

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.

[–] flashgnash@lemm.ee 6 points 2 years ago

JS isn't that bad provided you just use it for frontend UI, it's quite good at that

[–] abraham_linksys@sh.itjust.works 24 points 2 years ago (3 children)

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.

[–] alokir@lemmy.world 6 points 2 years ago

One of my favorite languages, it's everything that's good about Javascript plus the one thing that's missing: types.

[–] joel_anderson@lemmy.world 5 points 2 years ago

I love typescript, especially for larger projects and libraries.

[–] ulph@lemmy.world 20 points 2 years ago (2 children)
[–] starman@programming.dev 21 points 2 years ago (7 children)

Terrible type system, terrible standard library, terrible compatibility and lack of many features, compared to C# for example.

[–] Ricaz@lemmy.world 16 points 2 years ago (2 children)

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

[–] FlashPossum@social.fossware.space 28 points 2 years ago (2 children)

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.

load more comments (2 replies)
[–] NiftyBeaks@lemm.ee 12 points 2 years ago

All of those things are by design

And this makes sane programmers sad.

load more comments (6 replies)
[–] i_shot_the_sherry@lemmy.world 20 points 2 years ago (2 children)

Yeah what's the hate against JS? Did it steal your wife?

[–] TORFdot0@lemmy.world 24 points 2 years ago* (last edited 2 years ago) (1 children)

JavaScript burned our crops, poisoned our water supply, and delivered a plague unto our houses

[–] visor841@lemmy.world 7 points 2 years ago (1 children)
[–] TORFdot0@lemmy.world 22 points 2 years ago (1 children)

No, but are we going to wait around until it does?

load more comments (1 replies)
[–] joel_anderson@lemmy.world 6 points 2 years ago (1 children)

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.

[–] DarkenLM@kbin.social 4 points 2 years ago (3 children)

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.

load more comments (3 replies)
[–] Pfnic@feddit.ch 15 points 2 years ago (4 children)

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.

load more comments (4 replies)
[–] candyman337@lemmy.world 15 points 2 years ago* (last edited 2 years ago) (7 children)

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.

[–] whatsarefoogee@lemmy.world 14 points 2 years ago (2 children)

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.

load more comments (2 replies)
[–] chaorace 5 points 2 years ago* (last edited 2 years ago)

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.

[–] BrianTheeBiscuiteer@lemmy.world 4 points 2 years ago

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.

[–] Cethin@lemmy.zip 4 points 2 years ago

Except nit having strict types makes it harder to read, not easier. You have to try to remember what type of data each object contains. Strict typing makes it easier to read. JS is slightly easy to write though, for better or worse, although usually harder to come back to for the same reason mentioned earlier.

load more comments (3 replies)
[–] monk@lemmy.unboiled.info 9 points 2 years ago (3 children)

Also: CSS Also: Java applets Also: Flash

The internet has basically gone moldy overnight.

[–] icydefiance@lemmy.world 7 points 2 years ago* (last edited 2 years ago)

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.

[–] cupcakezealot@lemmy.blahaj.zone 5 points 2 years ago

Flash gives me great memories of watching Camp Chaos Monkey for President cartoons in university though. <3

load more comments (1 replies)
[–] Kodemystic@lemmy.kodemystic.dev 7 points 2 years ago

This is scriptism

[–] palordrolap@kbin.social 7 points 2 years ago (1 children)

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.

[–] fibojoly@sh.itjust.works 6 points 2 years ago (1 children)

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.

load more comments (1 replies)
[–] cupcakezealot@lemmy.blahaj.zone 5 points 2 years ago

Forget Javascript make 2024 the year that DHTML comes back.

[–] ExistensialDread@lemmy.world 4 points 2 years ago

a lot of its quirks really do start to make sense when the whole language was essentially designed in about a weekend. a lot of my own weekend code still haunts me to this day

load more comments
view more: next ›