Okay but the multithreading... what do you do about the multithreading? For IO tasks, standard threads work fine. But for real CPU parallelism, you still have to spawn a whole new Python interpreter per worker! Because Python forces you to use separate processes instead of true threads for CPU work, you can't share memory between them seamlessly.
I'm used to leading edge Java development, and that is stuff that even 10+ year old Java 8 could do. It felt like stepping in a time machine. New Java has virtual threads, which are magic that have basically no overhead and no drawbacks.
I really have to disagree strongly with that. With hyperthreading (x2 to everything) laptops have a dozen real+virtual cores nowadays at the low end, even phones have 8 typically.
That's just performance on the table, an order of magnitude or so on the table. I hate slow applications. If you want to make something go fast nowadays the answer is multicore. We've only been inching up the single core performance the last decade.
Also, I realize not everyone does server programming or enterprise programming, but it's absolutely mandatory for that.
1
u/Salty-Wrap-1741 1d ago
Yep. Really easy and pleasant to write and read Python. It's been my main language over 10 years.