An After-School Program Teaches Teens Java and Python::The students also learn how to design board games and video games

    • ____@infosec.pub
      link
      fedilink
      English
      arrow-up
      14
      arrow-down
      1
      ·
      11 months ago

      I know exactly what modern Java looks like, and it could be beautiful. But… legacy cruft and lazy devs make it painful. And tech debt, let’s be honest.

      I’d view a greenfield project rather differently, but those are unicorns.

    • pivot_root@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      7
      ·
      11 months ago

      I get it, you have no idea what trying to optimize around an ever-changing JIT recompiler looks like

      • AeroLemming@lemm.ee
        link
        fedilink
        English
        arrow-up
        8
        ·
        11 months ago

        I think if your project is so performance-critical that small runtime changes can cause performance issues, Java (or any other garbage-collected language) isn’t a good choice. That’s not the case for the vast majority of projects.

        • pivot_root@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          The just-in-time compiler isn’t bad, but the rest of it is. An optimized hot loop has the potential to emit better instructions than a C/C++ compiler not using PGO, but you’re never going to see that in any real workload.

          If you could rip out/avoid the garbage collector, give it the ability to use escape analysis to avoid heap-allocating every single object, and prevent it from implicitly making every function virtual, then maybe. But at that point, you might as well just a different language.

            • pivot_root@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              11 months ago

              There’s a difference between the JIT being able to emit better native code than an unguided compiler, and the language being as performant as another language. Java is never going to be as fast as C or C++, and that’s something you can blame its design for.

              • Valmond@lemmy.mindoki.com
                link
                fedilink
                English
                arrow-up
                2
                ·
                11 months ago

                They traded speed for safety, that’s why, not something right or wrong that you should “blame” anything for IMO.