3 ms·
The parent should have said, "Go is regularly used to ship..." instead of "Go can be used...". The fact that Go backs all sorts of complex, interesting software
by weberc2 8y ago
The parent should have said, "Go is regularly used to ship..." instead of "Go can be used...". The fact that Go backs all sorts of complex, interesting software testifies that it has solved the basics extrememly well, and if you're going to argue for a definition of "the basics" which doesn't respect shipping software then your argument is self-defeating. "Generics" isn't an end unto itself, after all.
- apta 8y ago> The parent should have said, "Go is regularly used to ship..." So does C, C++, Java, etc. That statement is meaningless. It just means that with enough contortion, you can write some code in golang that works. But that doesn't mean mean there aren't better, safer ways to write code. As others said, you can write large systems in C, but we still see the fallouts of using a very limited and unsafe language. And the funny things is, how do some of these larger projects get around golang's limititions? They write code generators to emulate mocking and generics, ending up with a weird mix of code that is difficult to manage. I saw this at my current employer, where they use golang for most of their backend. It's funny that I always think that even writing in Java would make the code base a lot more maintainable and even shorter and less verbose.
- weberc2 8y ago> So does C, C++, Java, etc. That statement is meaningless. You're not following the conversation. The question is "Does Go solve 'the basics'?", not "Is Go better than C, C++, Java, etc?". I noted that Go solves 'the basics' for any meaningful definition of the term, as evidenced by regularly shipping useful software; I didn't claim that "regularly shipping useful software" makes it better than other languages. > And the funny things is, how do some of these larger projects get around golang's limititions? They write code generators to emulate mocking and generics, ending up with a weird mix of code that is difficult to manage. I saw this at my current employer, where they use golang for most of their backend. It's funny that I always think that even writing in Java would make the code base a lot more maintainable and even shorter and less verbose. This is a fallacy. A code generator is a pain in the ass to work around generics, but it's entirely possible and likely that the efficiencies gained by Go (versus Java or other candidate languages) more than justify the losses due to a code generator compared. It's also entirely possible and likely that people are throwing code generators at problems (like mocking) that don't require or benefit from code generators.
- grumpydba 8y ago> So does C, C++, Java, etc. That statement is meaningless. It just means that with enough contortion, you can write some code in golang that works. Indeed it's as capable as those languages in this domain. The productivity is higher though, thanks to the stdlib.
- pjmlp 8y agoGo's stdlib is a tiny portion of what Java and .NET offer.
- grumpydba 8y agoYes those are two bloated stdlibs.
- pjmlp 8y agoOn the contrary, they are feature rich with capabilities that Go still hasn't found a proper way to support, like something comparable to Swing. Naturally turning into name calling is easier when running out of arguments.
- grumpydba 8y agoYou say this as if swing is a plus for java. It looks alien everywhere. Is it used by eclipse by the way?
- pjmlp 8y agoIt is used by JetBrains products, a fairly small company selling developer tools, you might have heard you them. They happen to sell an IDE for Go.
- weberc2 8y agoJava hasn't found a proper way to support something comparable to Swing. :) If Java's standard library is reasonably sized, what is your idea of a bloated standard library? How often do you use SOAP? Applets? Open MBean? CORBA? Relation? > Naturally turning into name calling is easier when running out of arguments. I like many of your posts. This one is just gratuitous ad hominem.