Comment by imiric

Comment by imiric 3 days ago

2 replies

That's overly harsh IMO.

Python is not perfect—no language is—but it arguably has the lowest barrier to entry for new programmers, with far fewer "wats" than languages of its kind and era (certainly less than JS). Sure, its reference implementation is not the most performant, but it easily interoperates with C/C++, and alternative implementations like PyPy are also relatively easy to switch to, so it can be performant when it needs to. Dynamic typing is not great for maintaining large codebases, but with the advent of gradual typing, this shouldn't be a major hindrance anymore. It has a great standard library, and a huge ecosystem. My only major gripe with it is the packaging and the insane amount of tooling around it, which I doubt will ever be resolved at this point. But Python is not so bad overall.

bnchrch 3 days ago

I don't know if its overly harsh, but ill give you harsh.

The thing is Python deserves all the hate JS gets and more.

1. The foot guns are real and mean (look up Mutable Default Arguments)

2. The language pushes beginners towards some bad habits (Deep inheritance) and away from good ones (Functional)

3. The performance is very poor (both single and multi threaded)

4. There are no real safe guards, and unexpected type behaviour

5. The packaging story is archaic with no fix in site. (There exist no standard out of the box way to guarantee deterministic builds)

Sure its good at Data, but that is a cultural accident, not by design.

timkq 2 days ago

"Dynamic typing is not great for maintaining large codebases" - when your language has an option to not use types, most SWEs will NOT use them - I experienced this firsthand (Angular TS codebases littered with "any" types - direct equivalent analogy to Python in this case). I heard the saying, "you can only burn yourself so many times" - but this seems to be untrue in this case - it's as infinite as human stupidity is.

Ecosystem is great - and probably the greatest thing Python has to offer after the aforementioned low barrier to entry. No language comes close if one wants to get up & going and try out AI/ML - whether using an API or using some packages to make models of one's own - it has everything one can ever need.