this post was submitted on 01 Sep 2023
337 points (96.2% liked)

Programming

17503 readers
7 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago (1 children)

mypy is great, but it doesn't come close to what you can do with TypeScript. I don't think that's necessarily a jab at Python (though TypeVar's limitations do come up here and there), more just throwing TypeScript on a pedestal.

[–] [email protected] 0 points 1 year ago (1 children)

@TehPers I really wish Python had a satisfying way to do interfaces.

[–] [email protected] 1 points 1 year ago

I really wish Python had multi-line lambdas. Sadly Python is very opinionated in ways I don't quite understand, but I can at least respect while using it.

For interfaces, honestly all I can suggest is using an ABC with only @abstractmethods. It's not perfect, but it's basically what you'd do in C++ anyway. If you're looking for an interface that models data, you could look at dataclasses or TypedDict (depending on what kind of data it is), but it's just not going to match what's possible in TS sadly (mapped types, conditional types, complex union types, custom type guards, etc).