Hacker News new | ask | show | jobs
by floatboth 2803 days ago
I actually adopted GOPATH for everything. I use https://github.com/motemen/ghq to quickly clone non-Go projects into the ~/src/github.com/user/project style paths.

But… I don't like Go itself (anymore).

It's not just the 'if err != nil', it's more the general attitude/philosophy from which it comes. Go is anti-intellectual, the designers basically don't respect the user. "You're too stupid to use generics/Result<A,B>/monads/whatever" is what it feels like they think of you.

Go internals are more infuriating than Go language though…

Especially the Plan9-based custom assembler. It truly is a horrific atrocity. I've had to deal with it two times:

1. That assembler does not support all instructions and even addressing modes (!) of amd64, so people have had to create hacks like https://github.com/minio/c2goasm to run asm functions without the overhead of cgo. Please actually read that project's README, but tl;dr it assembles your code using a normal assembler and STICKS THE BINARY CODE INTO A GO ASSEMBLY FILE AS HEX CONSTANTS. This hack actually didn't work for me when I tried to use some SIMD code, so I had to resort to cgo with its call overhead.

2. I also tried (and failed) to port the Go runtime to FreeBSD/aarch64. This was the last straw, this is what made me actually hate Go.