top | item 42416229

(no title)

DogLover_ | 1 year ago

I have to agree with author. I don't see what people like about golang. It seems like people use it because it is cool but after a while people realize they are less productive with it.

discuss

order

omegabravo|1 year ago

Go is not cool, it's boring and readable. I don't need a diagram to understand what the code is doing compared to Java. I say that with deep respect for the JVM and all the problems that are solved with it. It's an incredible ecosystem.

I'm productive in Go because I realise most of my time isn't spent typing, it's thinking. I shy away from over abstraction and lean heavily towards composition.

If you're solving a problem that requires complicated type system - don't use Go. If you're writing a UI - don't use Go. If you like 20 layers of abstraction - don't use Go.

If you're writing a product like I am, with similar constraints, then Go is an excellent fit.

People for some reason like to pretend everyone is working on the same problem that they are, and have the same requirements they do.

This person doesn't like Go, and that's fine. I have no doubt I'd be able to solve their problem in Go, and I have no doubt they'd be able to solve my problem in Java.

DogLover_|1 year ago

Thats fair! I just don't agree with the readable part and thinking. I personally get tired having to look at all the archaic boilerplate to find the actual logic that I want to reason about.

ghthor|1 year ago

Go code just keep working with minimal maintenance. The last major maintenance that was required was the addition of go.mod, and for the most part of your project was using one of the community modules systems is was a completely automated maintenance.

Go has the least maintenance of any language I’ve used(or had to maintain), save some C/Cpp projects that target libraries with essential frozen APIs.

That doesn’t mean you don’t get to keep things up to date; go wants you to run the oldest possibly written go code with the newest go compiler tool chain w/ no effort. Just upgrade go and run your 10yo code probably without any changes needed.