4 ms·
Someone had to say it. My first impression of Go was that its creators have not worked on a modern, large scale system in decades. And they probably have not. G
by papito 7y ago
Someone had to say it. My first impression of Go was that its creators have not worked on a modern, large scale system in decades. And they probably have not. Go skips about 40 years of advances in language design and code maintenance. We have stack traces for a reason. We have exceptions for a reason.
We came to it as software has become more complicated. The fact that you have to assemble the path to the root cause of an error yourself is completely bonkers.
- kyrra 7y agoThe creators were working on Google Search and tired of various aspects of it, and tried to fix their annoyances with Go.
- AlphaSite 7y agoI think it depends who go is competing with. C, Java, Python, etc, it makes a different set of trade offs.
- vijaybritto 7y agoAre you sure about this?? Go is being used to build some of the most important software in devops and databases today. Maybe its the thinking thats different but certainly it doesn't make codebases complex by itself.
- papito 7y agoLike Terraform? Yes, so? That doesn't change my opinion. It takes serious experience and skill to write good Go code and tests at scale. I don't really understand why people claim that Go is a simple and straight-forward language. For a "Hello, World", maybe, but once you hit the gotchas, the fun begins.
- pm90 7y agoWhat gotchas are you talking about?
- theshrike79 7y agoCan you name a language with no "gotchas"?
- papito 7y agoFor example, going through all my code to make error checking consistent and to make sure I did not swallow the cause of an error was exhausting.
- nilkn 7y agoIt can be difficult to reconcile comments like this with the reality that Go was designed at Google to address difficulties developing large-scale applications and even Kubernetes is written in it. I agree with many criticisms of the language but sometimes that criticism seems to enter its own sort of echo chamber.
- papito 7y agoMy understanding is that Kubernetes is some of the worst Go code out there.
- deleted 7y ago[deleted]
- nilkn 7y agoI don't get the impression that's a conclusion you came to on your own, and I don't find what is essentially hearsay or gossip to have a very high information signal in general.
- staticassertion 7y agohttps://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301 https://medium.com/@arschles/go-experience-report-generics-i...
- nilkn 7y agoThat boils down to Go needing generics, which I agree with. I don't think we're completely in disagreement. I'm just skeptical that the language is quite as bad as you're sort of suggesting. That article falls short of condemning the k8s codebase and instead just says it could be better with generics.
- staticassertion 7y agoTo be clear I'm not the person who stated K8s has a garbage codebase or whatever. I was just linking relevant material (and I should have clarified that in my post instead of drive-by posting - sorry, was distracted). I agree with what you're saying.