logoalt Hacker News

tyretoday at 12:34 PM4 repliesview on HN

I felt the opposite, because Python isn’t a great language. It won because of Google, fast prototyping, and its ML interop (e.g. pandas, numpy), but as a language it’s always been subpar.

Indentation is a horrible decision (there’s a reason no other language went this way), which led to simple concepts like blocks/lambdas having pretty wild constraints (only one line??)

Type decoration has been a welcome addition, but too slowly iterated on and the native implementations (mypy) are horribly slow at any meaningful size.

Concurrency was never good and its GIL+FFI story has boxed it into a long-term pit of sadness.

I’ve used it for years, but I’m happy to see it go. It didn’t win because it was the best language.


Replies

zabzonktoday at 1:02 PM

> there’s a reason no other language went this way)

Except of course for those that did, Haskell, Fortran for example.

show 1 reply
groundzeros2015today at 12:50 PM

I’m always baffled when language complaints come down to syntax

show 1 reply
Sohcahtoa82today at 4:43 PM

> lambdas having pretty wild constraints (only one line??)

I will never understand why people are upset about this.

You HAVE multi-line lambdas. They're called functions.

Yeah, I know you want a function that's only used once to be able to be defined in-line, but tbh I've always found that syntax to be pretty ugly, especially once you're passing two functions to a single call, or have additional parameters AFTER the function (I'm looking at you, setTimeout/setInterval).

smallerizetoday at 2:24 PM

Lambdas are intentionally kneecapped in python because Guido van Robson doesn't want to make a functional language. (As in "functional programming", not that it doesn't work.)

show 1 reply