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

  • pivot_root@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    6
    ·
    1 year 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
      ·
      1 year 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
        ·
        1 year 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
            ·
            1 year 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
              ·
              1 year ago

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