this post was submitted on 14 Jul 2024
477 points (96.7% liked)
linuxmemes
20471 readers
868 users here now
I use Arch btw
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules
- Follow the site-wide rules and code of conduct
- Be civil
- Post Linux-related content
- No recent reposts
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Honestly, it's still ridiculous to me how slow Python, Java, JS, Ruby etc. continue to feel, even after decades of hardware optimizations. You'd think their slowness would stop being relevant at some point, because processors and whatnot have become magnitudes faster, but you can still feel it quite well, when something was implemented in one of those.
That's because it's not relevant. Speed can be compensated for either by caching or outsourcing your load, if there's such a huge need to process large amount of data quickly. In day to day work I can't say I have ever ran into issues because code was executing slow. Normal operation Python is more than capable of keeping up.
On the other side of the coin you have memory management, buff and stack overflows and general issues almost exclusive to C, which is something you don't have to worry about as much with higher level languages. Development with Python is simply faster and safer. We as developers have different tools, and we should use them for their appropriate purpose. You can drive nails with a rock as well, but you generally don't see carpenters doing this all day.
You can sometimes deal with performance issues by caching, if you want to trade one hard problem for another (cache invalidation). There's plenty of cases where that's not a solution though. I recently had a 1ns time budget on a change. That kind of optimization is fun/impossible to do in Python and straightforward to accomplish Rust or C/C++ once you've set up your measurements.
Don't throw the baby out with the bath water. There are many applications that don't have performance needs such as a calculator app
You can find plenty of people complaining online about the startup time of the windows and gnome (snap) calculators. The problem in those cases isn't solved by compiled languages, but it illustrates that it's important to consider performance even for things like calculator apps.
Which is exactly what I said. Most of the times you can work around it. Sure cache invalidation can be hard, but doesn't have to be. If you need performance use more performant language. Right tool for the job.
Especially since languages such as Python and JavaScript are really good a event programing where you have an event that runs a function. Most of the CPU time is idling anyway.