5 ms·
>Go doesn't have the guts to replace Java, because of the hostile mindset of its community when it comes to writing reusable, general purpose libraries. the fam
by voidlogic 10y ago
>Go doesn't have the guts to replace Java, because of the hostile mindset of its community when it comes to writing reusable, general purpose libraries. the famous "you don't need that with Go" is something pushed by go maintainers themselves.
Go has a pretty comprehensive stdlib. And a huge and growing community of 3rd party libraries. I left .NET and Java for Go around 0.9 and since then I have seen Go flower into an ecosystem I am far more productive than. The Go devs have a bias against complexity, they hate Abstract Factory Factory Singletons :P, but that does have much impact on community developed libraries. The Go community does have a strong bias towards libraries and against frameworks, but IMHO, that is generally healthy. The only concrete example of what you are talking about is the current lack of generics support.
- shadowmint 10y agoI think the issue here is the hostility of the go community historically to pretty much any kind of criticism on pretty much any front. (want generics? too bad! don't like the syntax for [thing]? too bad! want a framework? you're doing it wrong! want to test without using actual sending network traffic? BAM! 50 downvotes on SO for 'poor question'. Got some feedback and post it to golang nuts? HA! Prepare to be shouted out) ...but slowly we're seeing things move to a more moderate and mature state now where people are actually solving problems (like vendoring and SetDeadline()), rather than just pretending everything is ok, and building really good things with it, like go-kit. It's just go growing up and being used seriously by people; but to be fair to the parent post, if you've used go in the past, I can see why you might have some opinions about it not being run by grown ups. Worth having another look though. These days, it's pretty good.
- geodel 10y agoHow did it become good? Has generics been added? or syntax changed? or framework comes bundled with Go? Seems all example you gave are some libraries being written which shouldn't be big deal.
- shadowmint 10y agoI'm talking about the community, which has tangibly improved. There are also technical improvements (as I mentioned) and frameworks (as I mentioned). What more do you want? Generics? No. You still can't have those. Different syntax? No. You still can't have that. ...but maybe, now, if you go and talk to people about it, they won't flip the table about it, and you can have a conversation about it with folks on the gopher slack where everyone is reasonable and thoughtful both about legitimate concerns and future directions for change. In my oppinion, that's a big deal...
- pkaye 10y agoCan you tell me what is the issue with SetDeadline()?
- shadowmint 10y agoThere's no issue with deadlines; I'm talking about people using deadlines instead of just hanging forever in go routines, and how contexts have been merged in stdlib in 1.7 (https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/ https://blog.cloudflare.com/the-complete-guide-to-golang-net...)
- justinlardinois 10y agoSounds like the Python community.
- deleted 10y ago[deleted]
- coldtea 10y agoNot even close.