Hacker News new | ask | show | jobs
by Spivak 1833 days ago
This seems lazy. You could write this same article about any language just with different criticisms.

* Performance is not as dire as the author suggests. It’s just not the biggest priority compared to say V8. There’s a good amount of low hanging fruit, and hot paths in high-perf libraries are typically written in C and just instrumented in Python.

* Whitespace syntax is a non-issue to anyone but beginners in their first week of programming.

* Lambdas being not very good syntax most of the time doesn’t affect anything since you never are required to use them. Just create a function or any other Callable.

* Python being dynamically typed is a style choice, not a deficiency. There are trade-offs but “dynamic with statically checked type annotations” whether it’s Hack, Typescript, or Python is insanely productive.

Nothing to really say about mobile. Totally valid and there’s not a whole lot of work being done on getting it there.

1 comments

Performance in native Python really is bad. Nine out of ten times, you can get away with it by figuring out how to push all the computation into the layer of C that Python rests on, but sometimes you just can't, and then Python becomes essentially unusable.

From my own experience, implementing Needleman-Wunch or k-mer counting is literally >100x slower in Python than Julia or C. Meaning a two-minute task turns into a 3 hour task - at least. At this point you can begin coding in Rust, but it feels bitter to learn Python, get into it, and then realize you've learned an entire programming language just to use it as wrapper for your actual business code.