all 44 comments

sorted by: hot top controversial new old
[–] 231 points 3 years ago* (4 children)

Jennifer is a lesbian. Her wife, now husband, who she’s proudly supportive of, is FtM, with 3 previous children that Jennifer adopted. Jennifer has never had penetrative sex with a man.

  • source
  • hideshow 8 child comments
  • [–] 97 points 3 years ago (4 children)

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

  • source
  • hideshow 8 child comments
  • [–] 33 points 3 years ago* (2 children)

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

  • source
  • parent
  • hideshow 4 child comments
  • [–] 14 points 3 years ago (1 child)

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

  • source
  • parent
  • hideshow 2 child comments
  • [+] -7 points 3 years ago (2 children)

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

  • source
  • parent
  • hideshow 4 child comments
  • [–] 75 points 3 years ago* (3 children)

    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!

  • source
  • parent
  • hideshow 6 child comments
  • [–] 14 points 3 years ago (2 children)

    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.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 56 points 3 years ago* (2 children)

    It's not. The default sorter does that, because that way it can sort pretty much anything without breaking at runtime. You can overwrite it easily, though. For the example above you could simply do it like this:

    [3, 1, 10].sort((a, b) => a - b)

    Returns: [1, 3, 10]

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 3 years ago

    The default sorter does that, because that way it can sort pretty much anything without breaking at runtime.

    who the fuck decided that not breaking at runtime was more important than making sense?

    this js example of [1, 3, 10].sort() vs [1, 3, 10].sort((a, b) => a - b) will be my go to example of why good defaults are important

  • source
  • parent
  • [–] 22 points 3 years ago

    Simple. Malformed data from.a bad actor. Always sanity check your shit.

  • source
  • [–] 15 points 3 years ago (1 child)

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

  • source
  • hideshow 2 child comments
  • [–] 5 points 3 years ago (2 children)

    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

  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 3 years ago (1 child)

    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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 3 years ago (1 child)

    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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 2 years ago

    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

  • source
  • parent
  • [–] 14 points 3 years ago (1 child)
  • [–] 7 points 3 years ago (3 children)

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

  • source
  • hideshow 6 child comments
  • [–] 3 points 3 years ago (1 child)

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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 3 years ago
    [–] 5 points 3 years ago

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

  • source