this post was submitted on 08 Mar 2024
26 points (100.0% liked)

Programmer Humor

32410 readers
1 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
top 25 comments
sorted by: hot top controversial new old
[–] FiskFisk33@startrek.website 7 points 1 year ago (3 children)

better to go that way than this (note the weekly downloads)

[–] Bumblefumble@lemm.ee 9 points 1 year ago* (last edited 1 year ago) (3 children)

The best part is the dependency on the function is_odd.

[–] jonwyattphillips@lemmy.ml 6 points 1 year ago* (last edited 1 year ago) (1 children)

Which itself has a dependency of the function is_number.

[–] FreshLight@sh.itjust.works 1 points 1 year ago (1 children)
[–] Klear@lemmy.world 2 points 1 year ago* (last edited 1 year ago)

Can't even or can't odd? If only there was a way to find out =/

[–] spez@sh.itjust.works 2 points 1 year ago

That is one deep rabbit hole.

[–] Caboose12000@lemmy.world 1 points 1 year ago

dear Lord lmfao

[–] hackris@lemmy.ml 2 points 1 year ago

If I was a JS programmer, I'd just write a bash script to download it every week for fun.

[–] TonyTonyChopper@mander.xyz 1 points 1 year ago (1 children)

300,000 every week... is this really a feature not built into Java Script?

[–] FiskFisk33@startrek.website 3 points 1 year ago* (last edited 1 year ago) (1 children)

is this really a feature not built into Java Script?

x % 2 == 0

[–] marcos@lemmy.world 4 points 1 year ago (3 children)
(+x) % 2 == 0

If you forget for a second it's Javascript, the language will turn back and bite you.

[–] Kindness@lemmy.ml 4 points 1 year ago

(+x) % 2 === 0

[–] FiskFisk33@startrek.website 1 points 1 year ago (3 children)

I am not good friends with js, what did I miss?

[–] marcos@lemmy.world 3 points 1 year ago

This evaluates to NaN for some reason:

'10' % 0

Since JS doesn't really differentiate strings from numbers, except on the places it does, it makes sense to make sure you are working with numbers.

[–] mindbleach@sh.itjust.works 2 points 1 year ago (3 children)

JS is a language where [1,2,11].sort() returns [1,11,2].

And if you use a variable instead of a bare array, half the functions are side-effectful, as determined by coin toss.

And if you try declaring that variable with new Array(3).map() then it will ignore all 3 indices, because undefined is real enough to be enumerated, but not real enough to be iterated, because, and I cannot overstress the importance of this principle in Javascript, go fuck yourself. Go fuck yourself is why.

[–] PoolloverNathan@programming.dev 2 points 1 year ago (2 children)

Array(3) doesn't create [undefined, undefined, undefined, ]; it creates [/* hole */, /* hole */, /* hole */, ]. The holes don't set any property on the array whatsoever, so they are skipped when iterating. How this makes sense, I can't tell you.

[–] mindbleach@sh.itjust.works 1 points 1 year ago

Yet the array contains exactly three nothings.

It's like a zen koan.

Time is a flat circle

[–] Kindness@lemmy.ml 2 points 1 year ago

typeof(null) == 'object'

Because some people think planning an entirely new language should take less than 2 weeks. 10 days, in this case.

See wat for more.

[–] cantstopthesignal@sh.itjust.works 2 points 1 year ago (1 children)

We wrote it wrong on purpose, as a joke.

[–] mindbleach@sh.itjust.works 1 points 1 year ago

The Wimp Lo doctrine is a valid theory for why JS is Like That.

If there's two ways to do something, JS picks all three.

Not a JS dev either but ===.

Not really sure what the (+x) is about

[–] affiliate@lemmy.world 0 points 1 year ago (1 children)
[–] marcos@lemmy.world 1 points 1 year ago (1 children)

It makes sure x is a number.

[–] affiliate@lemmy.world 1 points 1 year ago

what a wonderful and beautiful language. i’m so glad i asked