3 ms·
I understand why this rubs some people the wrong way, but it really is consistent with Go's vision since the start. I don't think Russ is trying to imply that t
by nyc640 7y ago
I understand why this rubs some people the wrong way, but it really is consistent with Go's vision since the start. I don't think Russ is trying to imply that the issues they are facing when designing the language (dependency management, generics, etc.) are unique or impossible to solve in any way. I think he is simply saying that they are complex problems whose solutions introduce complexity to the language and ecosystem, and when presented with such a trade-off, the Go team has always preferred to lean towards simplicity, even if it means not implementing a feature that some (or even many) developers want/need.
While I don't personally agree with many of the decisions they've made, I still respect the choices they've made and I think there is plenty of room for languages with competing philosophies. Because of Go's philosophy of not catering to every demand, it's never going to become the next Java or take over all of Software Engineering, but I think the Go team is fine with that as long as it continues to be useful as a tool for solving problems.
- erikpukinskis 7y agoThe best code is no code, and the best solution is sometimes just not trying to solve the problem.
- bmurphy1976 7y agoThey are building what they want. More power to them for making a tool that works for them first and not chasing every flight of fancy. I respect that philosophy because it's given me more of what I actually want and use in a platform than anything since Python. It's not for everybody but for those of us who really like it this is a relief from all the overcomplicated snake oil that's been shoved down our throats for the last 20 years.
- ilovecaching 7y agoC is a simple language and yet it constitutes the guts of most computers on this planet and Mars. Simple works. Go is really close to C. In fact, Rob Pike's Go CLI programs on his Github looks pretty much like a standard C program using getopt. Interfaces are just a nicer virtual function table. interface{} is just void *. In that sense, it's already treading ground that is proven to work. Go didn't have to do anything revolutionary because C was already great. I hope the Go team will continue to embody what made C great so the next generation can receive the lessons its taught us.
- pjmlp 7y agoThanks to UNIX adoption. C is the JavaScript of systems programming. Had it not been for UNIX workstations and universities adopting it, we would probably using BLISS, PL/I or something else instead and not bleeding billions of dollars per year fixing security exploits.
- hu3 7y agoIf someone told me last year that Uber had 1500 microservices written in a language that shares C's simplicity and some of its shortcommings I'd laugh it off. Same for companies like MasterCard, American Express, Salesforce, Target, Twitch, Netflix, Twitter, Dropbox and Cloudflare.