Remix.run Logo
vander_elst a day ago

Currently onboarding to go. For me personally, it's too opinionated e.g. for: error handling, mutability, unit testing, naming conventions, lack of features like sum types.

As a new joiner, some things have a "religious" feeling, like: the go gods have given us THE language and we must use it their way, without questioning too much.

I have the feeling other languages are less opinionated and this allows for more ergonomics and comfort when developing.

chikere232 a day ago | parent [-]

I suspect it's designed that way intentionally.

It's a language built to make it hard for new joiners to mindlessly add complexity, as the language itself will fight you. It makes it hard to add dependencies that aren't very visible and vendored in, it makes it hard to change how the language behaves with overloading, preprocessor magic or macros, and so on.

It's built to fit Google specifically, with their army of new grads, and deep investment into reinventing all the dependencies themselves, and having a huge monorepo.

If you're not google, you're gonna have a bad time, which is also good for google.