My fellow software engineer, It's the year 2024...

bahmanm@lemmy.ml to Linux@lemmy.ml – 281 points –
Bahman M. (@bahmanm@mastodon.social)
mastodon.social

Shameless plug: I am the author.

122

You are viewing a single comment

Golang puts shit specifically in $HOME/go. Not even .go. Just plain go.

Why is it so difficult to follow industry standards

That's what happens when you don't set $GOPATH I think

That doesn't make it better.

It makes it insofar better to me that you have the option to change it. You can't change Mozilla programs to use anything but .mozilla (apart from modifying the source code of course) so for me seeing the folder is at least a way of telling me that the variable is unset.

The better question is which folder is suited the best to store the stuff that goes into $GOPATH

Just because something is worse, doesn't make the other thing good. A sane and standard default, as others have mentioned, is a small bar to meet.

Of course, but that's not the point. There should be a sane default, and there isn't one

Go pisses me off with that. I separate projects the way I want but go wants every project written in go in one big directory?

I really didn’t like this either. It’s quite surprising, because the rest of Go tooling is quite nice. Not having a venv, or at least something like pnpm-style node_modules is weird

Why would go have a virtual environment or dep tree like node_modules equivalent, it’s not interpreted or dynamically linked.

With modules, dependencies can be vendored.

Obviously it’s not, but you have to download all this shit somewhere before compilation. That’s the whole point

off the shelf go was too annoying for me

Nowadays I set GOENV_ROOT to an XDG location and use goenv instead.

8 more...