Comment by shadowgovt

2 days ago

Python doesn't require you to understand monads to write useful Python.

To be clear: Haskell is great, but its entire vibe (lazy evaluation, pure functions) is entirely different from what Python's about. Someone who knows C++ or Java has a much bigger gap to jump to pick up Haskell than to pick up Python.

  > Someone who knows C++ or Java has a much bigger gap to jump to pick up Haskell than to pick up Python.

True, they are all imperative c-style languages.

  > Python doesn't require you to understand monads to write useful Python.

If that is the concern I would recommend anyone interested to dabble with F#. Part of its design philosophy is to keep the complexity out wrt type systems. It offers a vast vetted library¹, better dependency management², it is truly multi-paradigm (imperative, functional and oop), vastly better performance, and it is strongly typed without requiring type annotations³.

I know I am not going to sell it to monogamous devs, but those that are open minded should give it a try.

___

¹ This is something people will start to appreciate once they get serious about the risk of supply chain attacks.

² Python developers feel they are doing fine with pip or uv, at least in my experience, but then I find they haven't dealt with package mgmt in alternative languages.

³ Types in python are a hack, bolting on something afterwards will not reach what is possible with a language that has been designed with types as core element.