• Poob@lemmy.ca
    link
    fedilink
    arrow-up
    46
    arrow-down
    1
    ·
    1 year ago

    This makes absolutely no sense. Front ends that include JavaScript still use css.

  • corytheboyd@kbin.social
    link
    fedilink
    arrow-up
    29
    arrow-down
    1
    ·
    1 year ago

    Would be funnier if it was just “JS” on the right, because obviously HTML and CSS are involved too, but JS is where all hell breaks loose

          • thanks_shakey_snake@lemmy.ca
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            They’re both tremendously useful and have significant overlap in use cases. Grid isn’t going to replace Flexbox, it just has some capabilities that aren’t part of the Flexbox concept.

          • adrian783@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            for some stuff absolutely, styling frameworks like bootstrap and others kludged together the concept of grid based designs. css grid just makes it official and more flexible.

  • Pxtl@lemmy.ca
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 year ago

    If you’ve seen the Barbie movie, there’s a scene where America Ferrera rants about the paradoxes in the expectations on women. The whole “be strong but not pushy” thing.

    That’s CSS.

  • fragmentcity@lemm.ee
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    4
    ·
    1 year ago

    How many people who post JS BAD memes could provide a single example of why it’s bad without looking it up?

    • thedeadwalking4242@lemmy.world
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      1 year ago

      It was made in 10 days, its type system is a mess, its syntactic shit, and there are just better replacements out there that will never see the light of day due to how big its already gotten

    • smileyhead@discuss.tchncs.de
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 year ago
      <span>Please enable JavaScript to use this app</span>
      document.getElementById("noscript").style.display = 'none';document.getElementById("noscript-info-with-bold-text").style.fontWeight = 'bold';document.getElementById("status__content__text").textContent="JS ecosystem is all hack upon hack upon hack upon hack. We love hacks, but don't want to relay on them to access my bank or watch a movie. Just send me a webpage, not a soup of obfuscated, impossible to edit scripts that assemble god sake app. That's the reason we can't have new browser engines anymore, try to disable one wrong thing and whole app breaks. Browsers are made as interactive documents viewers, not disposable operating systems.";
      
    • RagingNerdoholic@lemmy.ca
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      1 year ago

      I use it regularly (web dev). A lot of complaints and mockery stems from using it badly. None of the programming languages that are regularly the butt of everyone’s jokes force you to use them badly, they just allow you to. If you follow good practices, you’ll be just fine.

      • wols@lemm.ee
        link
        fedilink
        arrow-up
        5
        ·
        1 year ago

        Many of the programming languages that are regularly the butt of everyone’s jokes don’t just allow you to use them badly, they make it easy to do so, sometimes easier than using them well.
        This is not a good thing. A good language should

        • be well suited to the task at hand
        • be easy to use correctly
        • be hard to use incorrectly

        The reality is that the average software developer barely knows best practices, much less how to apply them effectively.
        This fact, combined with languages that make it easy to shoot yourself in the foot leads to lots of bad code in the wild.

        Tangentially related rant

        We should attack this problem from both directions: improve developers but also improve languages.
        Sometimes that means replacing them with new languages that are designed on top of years of knowledge that we didn’t have when these old languages were being designed.

        There seems to be a certain cynicism (especially from some more senior developers) about new languages.
        I’ve heard stuff like: every other day a new programming language is invented, it’s all just a fad, they add nothing new, all the existing languages could already do all the things the new ones can, etc.
        To me this misses the point. New languages have the advantage of years of knowledge accrued in the industry along with general technological advancements, allowing them to be safer, more ergonomic, and more efficient.
        Sure, we can also improve existing languages (and should, and do) but often times for one reason or another (backwards compatibility, implementation effort, the wider technological ecosystem, dogma, politics, etc.) old quirks and deficiencies stay.

        Even for experienced developers who know how to use their language of choice well, there can be unnecessary cognitive burden caused by poor language design. The more your language helps you automatically avoid mistakes, the more you can focus on actually developing software.

        We should embrace new languages when they lead to more good code and less bad code.

    • TechCodex@programming.devOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      The meme was not about bad or good… It’s about Colors (CSS = Barbie), and Complexity (JS = Oppenheimer)

    • McScience
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I mean JS is the ideal tool for a particular subset of problems. But it does seem like it gets out of it’s lane more than most languages and people just want to use it for everything.

      If it’s the right tool for the job, use it… but if you need secure and/or performant server-side code probably don’t use JS

      • axsyse@lemmy.sdf.org
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        Identity. “A is literally B” instead of “A equals B”. This is necessary here in JS because if A is the string “-1” and B is the integer -1, JS evaluates A==B as true because reasons

        • ForbiddenRoot@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          because if A is the string “-1” and B is the integer -1, JS evaluates A==B as true because reasons

          Interesting. If it were the other way around, I think I would have been fine with it (i.e. == used for comparison with type like any other language and === without type). But as it stands now I would hate it if I had to write in JS (but I don’t so it’s fine).

          • Rikudou_Sage@lemmings.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            1 year ago

            It’s not that bad, honestly, just something you get used to. When I switch to C++ after a while, I sometimes write === and when I switch back to JS after some time, I occasionally forget to use ===.

            In C++ it’s obviously an error and for JS I have my IDE set to warn me about ==. I think I’ve used == in JS (and PHP) intentionally once in the last ~5 years.

          • axsyse@lemmy.sdf.org
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Honestly, I think it actually makes some sense this way around. To me, in JS “==” is kinda “is like” while “===” is “is exactly”. Or, put another way, “equals” versus idk, “more-equals”. I mean, “===” is a much stronger check of equivalence than normal “==”, so I think it deserves to be the one with the extra “=”

      • adrian783@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        1 year ago

        2 equal signs will coerce the second operand into the type of first operand then do a comparison of it can. so 1 == “1” is true. this leads to strange bugs.

        3 equal signs do not do implicit type conversion, cuts down on weird bugs. 1===“1” is false.

        edit: it appears to be more complicated than that for double equals and the position of operands don’t matter. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality