Learn golang or rust instead. Impressive that they are managing this though!
Learn golang or rust instead. Impressive that they are managing this though!
Bad take. Learn golang and rust and python.
You should use the language which is suited to the task, sometimes that's golang sometimes that's python and sometimes it's rust.
It's impressive that the python team as a whole continues to improve in such big ways after more than 30 years of development. It's more impressive that the python team managed to navigate 2to3 and come out stronger.
Instead, pick C#/F#, Kotlin/Clojure or Rust depending on the use case.
I definitely agree that libraries can and should drive your language decisions. A 20,000 line golang program might be 10 lines of python because there is a library to do what you need. Similarly a complicated-to-reason-about python program may be made far simpler by using go channels/routines.
Having to "if err != nil" every single function call is a big put off - imagine having to "try catch" everything in a language like C#!
func Must(err error) {
if err != nil {
panic(err)
}
}
func Panic[T any](v T, err error) T {
if err != nil {
panic(err)
}
return v
}It forces me to think about how my programs can fail and what I should do when they fail.
Also Rust became a quite popular tool for python extensions, where you can offload performance to rust and business logic to python.
Yes it is, in every way. When the first job of choosing to use types is choosing which of the five or so type checkers, each deficient in their own way and incapable of dealing with the poor idioms the language encourages to proliferate, you know you're on the wrong path.
With tools like pyright now + the work on nogil everyone benefits from this using Python.
>> 99% of my compute is offloaded to compiled BLAS or CUDA.
types are enough.
and memory and type safety are not terribly relevant for my use cases.