this post was submitted on 25 Nov 2023
209 points (97.3% liked)

Technology

58061 readers
31 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 1 points 9 months ago (1 children)

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.

[โ€“] [email protected] 1 points 9 months ago (1 children)

Ha I love it when I'm right ๐Ÿ˜๐Ÿ˜‰

[โ€“] [email protected] 1 points 9 months ago (1 children)

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.

[โ€“] [email protected] 2 points 9 months ago

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