4 ms·
> Well, if they're brainstorming something better, then I'll wait to use your language until you solve all the basic problems first. Yet people can write distr
by grumpydba 8y ago
> Well, if they're brainstorming something better, then I'll wait to use your language until you solve all the basic problems first.
Yet people can write distributed databases, monitoring tools, dns/DHCP servers in go.
ANd they deliver stable and performant solutions with thousands of institutional users.
How come, if the basics are not solved?
- rowanG077 8y agoThat is a meaningless statement. You can do anything in (almost)any language that doesn't mean the basics are solved.
- mirekrusin 8y agoThey did pop up in short period of time and go projects are generally considered quite stable - how can you achieve those without "basics being solved"? IMHO basics is precisely what they did solve exceptionally well.
- weberc2 8y agoThe 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.
- Retra 8y agoYou're being ungenerous. The way they are using "basics" implies that they don't have the basics they expect to have for the problems they want to solve. The fact that someone else has the ability to solve other problems using the tool is irrelevant, and only highlights that you have different expectations.
- pjmlp 8y agoI used to write full blown applications in Assembly as well.
- grumpydba 8y agoWith thousands of institutional users? Implementing distributed databases?
- pjmlp 8y agoAs much as old time mainframes and Novell NetWare based applications could have.