Conversation

Java is verbose but library ecosystem is amazing if you filter out the enterprise nonsense. Kotlin fixes the issue of verbosity and either fixes or largely masks most of the nasty legacy mistakes. Kotlin is still missing an option to force handling Java checked exceptions though.
1
1
Replying to and
I'd rather use the Java ecosystem via Kotlin though. It's nice not finding endless mistakes at runtime, being able to maintain your code and using multiple cores. I still use Python a lot as my language of choice for throwing together a script, but I don't think that'll last.
1
2
I think JavaScript is gradually going to turn Python into another Perl and TypeScript is a big part of it. Python is really bad at async (lack of ecosystem adoption), static typing, performance and scaling to multiple cores. All things that people find increasingly important.
1
1
Replying to
It has worker threads and is focused on message passing between them, but you can use a shared array buffers for a relatively low level shared memory API. It evolved that way due to the limitations of the language but it's nicer in a lot of ways than Java-style locking approach.
2
Replying to
... doesn't Python also have non-shared message passing multiprocessing. (I have used neither multiprocessing nor Shared Workers, though, so not sure if they're any similar.)
1
Replying to
Workers are generally implemented as threads rather than processes, but it's abstracted. Main reason it's a lot nicer is that the whole ecosystem is built around concurrency and it works nicely for that style of parallelism too. Python's approach is a very leaky abstraction too.
1
1
Replying to and
Everything in JS was built around async callbacks and got rebuilt around async/await/promises. You'll rarely find a case where I/O blocks a thread. Even stuff like open(), stat(), etc. is done in an async way, unlike stuff like nginx. Waiting for stuff from workers, etc. fits in.
1
1
Replying to and
Rust and C# have similar async support but it feels a lot worse than JS because the whole ecosystem wasn't built around it, and in Rust there are different conflicting approaches. Rust needs to be that way as a low level language but most other languages are just bad at this.
1
1