←back to thread

517 points bkolobara | 2 comments | | HN request time: 0s | source
Show context
koakuma-chan ◴[] No.45041723[source]
I encourage every one to at least stop writing code in Python.
replies(5): >>45041794 #>>45041941 #>>45042073 #>>45043031 #>>45049992 #
nilslindemann ◴[] No.45042073[source]
People who recommend that other people stop using one of the best documented languages on the planet with a huge library ecosystem, a friendly user base, a clean syntax, excellent reference documentation, intuitive function names, readable tracebacks, superb editor and AI support.
replies(4): >>45043352 #>>45047061 #>>45049815 #>>45050106 #
ironmagma ◴[] No.45047061[source]
Intuitive function names like __new__() and __init__()? Or id() and pickle.dumps()?

The accessibility of Python is overrated. It's a language with warts and issues just like the others. Also the lack of static typing is a real hindrance (yes I know about mypy).

replies(4): >>45047737 #>>45049157 #>>45050117 #>>45051376 #
1. frabcus ◴[] No.45049157[source]
It doesn't solve all the problems at library boundaries, but pyright is fairly new and vastly vastly better than mypy.

With it Python feels about at the type safety level of Typescript - not as good as a language that had types the whole time, but much much better than nothing if enforced with strict rules in CI.

replies(1): >>45049912 #
2. sfn42 ◴[] No.45049912[source]
On the other hand, TS is terrible. The type system is ridiculously complex in order to support all the weird stuff you can do in JS, I frequently get insane error messages with 20+ lines of archaic type gibberish and when I figure out the solution it's usually very clear that the sparse information i managed to glean from reading the error message was nothing but a distraction.

I don't like JS but after having used TS intermittently for a number of years I'm starting to think JS is the better option. At least there I don't get tricked by typed objects being something other than what they claim to be, or waste time trying to declare the right types for some code that would work perfectly without TS.

TS is too much work for too little reward. I'd rather just make simple frontends with as little logic as possible and do the real programming in a real programming language on the backend.