Hacker News new | ask | show | jobs
by kaon_ 430 days ago
It always boggles my mind that python is so popular while being so unfriendly and hard to use. Terrible package management. Poor typing system. Useless stack traces. Unintuitive syntax (no ternary operator?!). And yet it has become the default language almost.

I guess the way forward now would be to "make python good". Thank goodness uv is trying.

3 comments

I personally don't think this "use a dependency for every little thing" npm development style is good for software quality, performance, maintainability, etc. The complaints I see about Python in this regard seem to be coming from that mindset.

Using the included batteries, and just adding a small number of well vetted extras had worked great in my experience.

I like Python of short scripts. Anything over 100 lines and bash is painful. Python works great up to about 50,000 lines of code. Anything larger than that and I need a strongly typed language. A larger number of programs/services/scripts can be done in less than 50,000 lines of code and python is easier than getting those type details right, but as you get bigger than that the effort of getting type details correct becomes well worth it.

The lines of code numbers above are somewhat arbitrary and not a hard block. Instead their are a continuum, the more lines of code you have the harder code is to maintain. Languages offer various things that make it easier to maintain long programs, but they just help, 10k lines of python will always be easier than 10 million lines of Java.

Typethon will fix everything :p

But yeah I can't stop myself from eye-rolling when I'm using python (which honestly is very useful for a lot of data manip that is one-off for my job) and there's just tiny syntax differences for seemingly no reason, like not instead of !, X if Y else Z, len(x) instead of it being a member... it's all very fast to look up, but easy to miss when you're also working in C++ or Rust.