16 points

If you have that much difficulty with JavaScript then it’s likely you’ll suffer with any language.

permalink
report
reply
5 points

Except strict equality, that’s a JavaScript only problem. Imagine thinking "0" should be falsy in comparison due to string literal evaluation, but truthy with logical not applied based on non-empty string. Thus !"0"=="0" is true. They couldn’t just throw away == and start over nooooo let’s add === . Utter madness

permalink
report
parent
reply
1 point

Strict vs loose equality has gotten me so many times, but I can sort of see why they did it. The problem you mention with integers 0 & 1 is a major annoyance though. Like it is fairly common to check whether a variable is populated by using if (variable) {} - if the variable happens to be an integer, and that integer happens to be 0, loose quality will reflect that as false.

But on the other side, there have been plenty of occasions where I’m expecting a boolean to come from somewhere and instead the data is passed as a text string. “true” == true but “true” !== true

permalink
report
parent
reply
3 points

Lua does intrinsic evaluation of strings that i’d argue is not nearly as crazy. I get the value of it since half of interpreted languages it just churning through strings. But I also don’t recommend any large codebase ever use JS’s == or string coercion because it can go against expectations. This graph argues in JS’s favor but comparison is a little more crazy https://algassert.com/visualization/2014/03/27/Better-JS-Equality-Table.html

permalink
report
parent
reply
4 points

Browser compatibility. Design flaws can’t easily be fixed like how other languages can just switch to a new major version and introduce breaking changes. ES must keep backwards compatibility so has had to do more additive changes than replacing behavior altogether so that older web pages pages don’t break.

permalink
report
parent
reply
7 points

Meanwhile google is about to break the internet with html drm

permalink
report
parent
reply
5 points

And I thought kotlin was crazy with whatever (modifier: Modifier = Modifier) means to make it happy

permalink
report
reply
98 points

artificial insemination; beard marriage, loves her husband platonically. I am a JS dev.

permalink
report
reply
-7 points

Java devs are prima mental gymnasticists, always able to make anything make sense.

permalink
report
parent
reply
1 point

As a js dev, I will gymnastically take that as a compliment

permalink
report
parent
reply
77 points
*

JS !== Java

Try Javascript some day!

  • We have truthy and falsy! Empty string or null? Yeah, that’s false!
  • Of course we can parse a string to number, but if it’s not a number it’s NaN!
  • null >= 0 is true!
  • Assign a variable with =, test type equality with == and test actual equality with ===. You will NEVER use the wrong amount of = anywhere, trust me!
  • Our default sort converts everything to string, then sorts by UTF-16 code. So yes, [1, 10, 3] is sorted and you are going to live with it.
  • True + true = 2. You know I’m right.

Try Javascript today!

permalink
report
parent
reply
1 point

True + true = 2. I’ve heard memes about Javascript, but jeez. It’s really that bad?

permalink
report
parent
reply
1 point
*

I made the thing in the thing print “hello world” with C# once, is Javascript for me?

permalink
report
parent
reply
14 points

Our default sort converts everything to string, then sorts by UTF-16 code. So yes, [1, 10, 3] is sorted and you are going to live with it.

I’m not sure whether this is satire or not.

permalink
report
parent
reply
33 points
*

Lesbian, in marriage with another lesbian and adopted 3 kids. Still virgin.

permalink
report
parent
reply
26 points

Her partner is actually a woman, but dynamic type casts made her write “husband”.

permalink
report
parent
reply

and by kids, she means their cats and/or dogs

permalink
report
parent
reply
11 points

Ah yes, the fursons and furdaughters.

permalink
report
parent
reply
9 points

I was thinking they were his kids from the previous marriage, though artificial insemination works just as well!

permalink
report
parent
reply
1 point

I’ve had a JavaScript certification for over a decade now and I think I hate you.

permalink
report
parent
reply
14 points

NaN

permalink
report
reply
1 point
*

!NaN

(Translation: I agree)

permalink
report
parent
reply
7 points

Any senior developer who says that should instantly get a demotion to intern.

permalink
report
reply
14 points
*

There are two kinds of simple

  • Simple to learn to use
  • Simple to understand, and use at a complex level.

JavaScript is the first, but definitely not the second.

permalink
report
parent
reply
3 points

Which part? Saying that it’s simple, or making fun of saying that it’s simple?

permalink
report
parent
reply
5 points
*
Deleted by creator
permalink
report
parent
reply
1 point

Haha, ok I didn’t see which community this was posted in.

permalink
report
parent
reply
2 points
*
Deleted by creator
permalink
report
parent
reply
6 points

Forced to develop on Windows

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 3.3K

    Monthly active users

  • 1K

    Posts

  • 38K

    Comments