Remix.run Logo
DanielHB a day ago

You hit the main gripe I have with Go, its types system is so basic. I get people raving type-correctness of Go when they come from Python but the type system in Go is simply pre-historic by modern day standards.

masklinn a day ago | parent | next [-]

Go’s type system is not even impressive compared to python’s.

orwin a day ago | parent | next [-]

Do you have a pydantic equivalent in go? Also modern typing in python is starting to be OK to be honest (well, if you consider typescript typing OK), so it isn't really a knock on Go :)

Yoric a day ago | parent [-]

> Do you have a pydantic equivalent in go?

I've been working on one [1].

But gosh, does go make it hard.

[1] https://github.com/pasqal-io/godasse

DanielHB a day ago | parent | prev [-]

Well I was comparing to python codebases before they added type annotations

Yoric a day ago | parent [-]

Which, sadly, is still the case of too many dependencies.

While I much prefer Python as a language, Go wins against Python by having a fresher ecosystem, with a higher baseline for type safety. Still pretty low with respect to Rust or mypy/pyright with highest settings, but much better than any of the Python frameworks I've had to deal with.

yyyfb a day ago | parent | prev [-]

I feel that the future for Python people who want type safety will eventually be TypeScript on nodejs. Go was intended as an alternative to C++. It seems that in reaction to the ungodly complexity of C++, the creators wanted to avoid adding language features as hard as possible. If the user could work around it with a little extra verbosity, it'd be ok. I feel they removed too much and maybe not the right things.