this post was submitted on 21 Apr 2024
717 points (97.0% liked)

Programmer Humor

32426 readers
625 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] sirico 33 points 6 months ago (2 children)

It leads to typescript

You get surprises from npm

[–] ByteJunk@lemmy.world 28 points 6 months ago (3 children)

I spent way too long today figuring out why my app was doing something that it's NOT supposed to do on weekends.

I read Luxon's docs (pretty cool lib tbh) again and again, and tried everything I could think of to get isWeekend to return a sane result.

Turns out I was pulling a somewhat older version of Luxon, where isWeekend didn't exist. In any sane language, I expect I'd get a huge warning about a property that doesn't exist, but alas...

Typescript helps me keep my sanity, but juuuuust barely.

[–] mynameisigglepiggle@lemmy.world 20 points 6 months ago* (last edited 6 months ago)

If isWeekend doesn't exist, then the weekend doesn't exist, so it's naturally false.

That's why JavaScript gets pushed so hard - it's part of the capitalist agenda to keep us working 7 days a week

[–] fxdave@lemmy.ml 7 points 6 months ago

That's fair. Typescript has to cook with the existing js ecosystem.

[–] kamen@lemmy.world 5 points 6 months ago (2 children)

Weren't you getting runtime errors for the function not being found?

[–] humbletightband@lemmy.dbzer0.com 7 points 6 months ago (1 children)

No, they were probably getting false every time

[–] shasta@lemm.ee 1 points 6 months ago* (last edited 6 months ago) (1 children)

Falsy* because it was undefined

However, their IDE should have highlighted it as an unknown property. Guess this guy is coding in notepad or vi.

[–] humbletightband@lemmy.dbzer0.com 2 points 6 months ago (1 children)

Yep, thanks for correcting me. In fact, if they write something like

if (day.isWeekend) {...}

The block will never be executed with the old version of library

[–] shasta@lemm.ee 2 points 6 months ago (1 children)

Yeah that's exactly what I think happened to him. He needs a better IDE and/or needs to stop copy/pasting code from stackoverflow or documentation that doesn't match his library version.

[–] ByteJunk@lemmy.world 0 points 6 months ago

My dude, you need to understand that all that anger and resentment, it is not you. It's the years of JavaScript poisoning your mind.

In any case, that goes to my point. I would have to be saved by my IDE, when any sane language will blow up in your face as soon as you try to run it.

[–] owsei@programming.dev 2 points 6 months ago (1 children)

I don't know how luxon works, but isWeekend could be a property instead of a function

[–] ByteJunk@lemmy.world 2 points 6 months ago

It is. It also happens to be undefined, and checking that for truth is how I was bitten.

[–] Thcdenton@lemmy.world 25 points 6 months ago

You get suprises from npm