5 ms·
> Every single encounter I have had with Go has been a burning pile of unpleasantness. Can you elaborate? > It may be fast but it's fragile FWIW. Go explicit
by sumitgt 8y ago
> Every single encounter I have had with Go has been a burning pile of unpleasantness.
Can you elaborate?
> It may be fast but it's fragile FWIW.
Go explicitly focuses on language stability over fancy new features.
- slaymaker1907 8y ago> Go explicitly focuses on language stability over fancy new features. I think that might be the problem... C is probably the most stable language around in terms of features, but it is probably the language that is most prone to bugs and security flaws that is in common use.
- sumitgt 8y agoYes, but it is very difficult to introduce the same kind of bugs in Go code considering you are no longer doing intricate memory management, etc.
- laumars 8y agoC also has raw pointers, manual memory management and a bunch of other unsafe practices that Go doesn't. In comparison to C, Go is practically a scripting language.
- slaymaker1907 8y agoTotally agree there. However, I think the metaphor might still hold that Go applications are brittle due to lack of features due to the ugly hacks you have to use to get around the lack of features. For instance, due to the heavy usage of manual error checking, it can be very easy to call a function and forget that it returns an error thereby ignoring that error. Bringing down your whole application due to a single error is bad, but silent failure is almost always much worse.
- zaphar 8y agoGo will complain loudly if you don't use a captured error value. It will also complain loudly if you don't capture the error value. This makes it harder in Go to ignore an error than most other languages. In fact a common complaint of Go is that it forces you to do something with the error when you would rather not. I'm left to wonder what you are imagining would result in not handling errors on accident in Go.