Live data from Hacker News

Eleven Years of Go

blog.golang.org

101–110 of 170 posts

Re: Eleven Years of Go

#101
post #99

I'd like to hear some Java devs opinions on Go. On one hand I'd like to try and learn something new, on the other hand, everything I could do in go I would probably do better in java (as in I know how to do it already)

The vast majority of my work has been on the JVM - and most of that in Java. I tried Go for a while, and came away pretty unhappy.

First, similarities: Go seems like a really good language for building software for teams. It's straightforward and simple, and generally what you see is what you get. That's great.

Where it wins:

- having a standard formatter is amazing

- having a compiler that is fast, and an executable that starts fast and runs quickly is great

- the built-in http stuff seems better than what was available in Java's stlib for years

- channels are nice

- lower resource usage, especially memory

- by breaking with the JVM, you get to abandon a lot of bad patterns because they simply aren't available

Where it loses:

- I simply don't need pointers for the places I want to use Go

- the GC, though different, still needs tuning/consideration for high-load, and if I have to mess with GCs I want the options available to me on the JVM

- the dependency management story was rough for a while, though that seems to have settled into something more mature

- the error handling is unacceptably anemic

- the type system is unacceptably anemic. I'm not even talking about generics (maybe I am) - it just seems moronic to have to subvert it with "interface{}" all the time, which also renders the documentation pretty opaque to me.

Overall Go is a solid tool, and I see why it's so successful, especially for network stuff and command-line tools. It's hard to overstate how great an experience it is to have a fast-compile loop and I really envy that (I feel this way any time I use most languages not on the JVM).

And for learning something new, there's nothing novel that I've seen in Go. If you want to use it because it is pragmatic and efficient, that's a great reason.

Re: Eleven Years of Go

#102
post #87

I use Go quite a bit, and I have the exact opposite experience from a lot of these testimonials. Someone else mentioned go just works, they don't have to fight the tooling, or that they worked on a go program that works five years later (which language does this not apply to). ??? I've had quite a few problems with things like plugins for go deleting unused imports because I am in the habit of saving frequently. I re…

> I've had quite a few problems with things like plugins for go deleting unused imports because I am in the habit of saving frequently.

This is not the language or tooling's fault, but likely your IDE's doing. You can set it up not to run gofmt/goimports on save.

Re: Eleven Years of Go

#103
post #3

I had different opinion than guy who joined the Go team in 2019 (Ian Lance Taylor). I was banned from their github repo, my AdSense sites were removed from Google's index, my AdSense CPC dropped by 2/3. My github account was "flagged" aka disabled from being seen in public. I was on github for 7 years. I received nonsensical "not in accordance to policies" messages from AdSense all of a sudden when that happened aka…

Was that you? https://www.reddit.com/r/golang/comments/gzvf70/go_developer...

Oh snap, that would've been way funnier if the OP didn't show signs of genuine mental issues.

Re: Eleven Years of Go

#104
post #16

Earlier quoted context omitted.

Ian Lance Taylor has been nothing but tirelessly patient and helpful when interacting with the community from what I've seen. This story doesn't pass muster without more details, least of all because you seem to think Ian joined Go in 2019.

He seems to be this honest and stable user: https://www.reddit.com/r/golang/comments/gzvf70/comment/ftim...

That post quotes Ian and refers to him in the third person -- I'm pretty sure it's someone else summarizing the situation. Both the Reddit user and Ian (in the quoted text) appear to be taking a level-headed approach to the situation, though.

Re: Eleven Years of Go

#105
post #99

I'd like to hear some Java devs opinions on Go. On one hand I'd like to try and learn something new, on the other hand, everything I could do in go I would probably do better in java (as in I know how to do it already)

The vast majority of my work has been on the JVM - and most of that in Java. I tried Go for a while, and came away pretty unhappy. First, similarities: Go seems like a really good language for building software for teams. It's straightforward and simple, and generally what you see is what you get. That's great. Where it wins: - having a standard formatter is amazing - having a compiler that is fast, and an executable…

thanks for a great comment, I feel similar about most of the stuff

Re: Eleven Years of Go

#106

Earlier quoted context omitted.

> The most frustrating thing about Go isn't even the language, it is the community for me. It is very business/corporate focused. Everything is all about Kubernetes/cloud. I apply for conferences/meetups non-stop, but never have any luck. It is always the same company reps. I am envious of the Rust community here, but maybe grass is always greener on the other side? As someone who's been writing Go full-time for over…

I think you hit on something that so many miss and it's the tooling for the job, as it were. Go and Rust are fundamentally different tools designed for fundamentally different tasks. While it's possible to use them for the same tasks, it's much more difficult. I would HATE writing a full and secure operating system in Go, while writing back end systems in Rust is doable, but at an unnecessarily slower pace than Go.

> I would HATE writing a full and secure operating system in Go

For the record, it _can_ be done.[0]

[0] https://dspace.mit.edu/handle/1721.1/122734

Re: Eleven Years of Go

#107

I am super happy that I invested in Go. I ended up working on TURN, WebRTC and DTLS and feel I made the right choice. The impact vs time spent was worth it. I don't think there is any other language I would have had a better experience. Either it is too niche, or it is so popular that the community is anemic. * https://github.com/pion/dtls * https://github.com/pion/webrtc * https://github.com/pion/turn Go is really g…

> The most frustrating thing about Go isn't even the language, it is the community for me. It is very business/corporate focused. Everything is all about Kubernetes/cloud. I apply for conferences/meetups non-stop, but never have any luck. It is always the same company reps. I am envious of the Rust community here, but maybe grass is always greener on the other side? As someone who's been writing Go full-time for over…

At the risk of being controversial, my guess is that this is because Go makes it very difficult to build abstractions at a level that are appealing or satisfying to most developers. This is the main reason I choose Rust or Python or literally anything else over Go for personal projects. Because I may or may not be more productive in Go if I keep working at it, and go has so many benefits over many other choices, but I mainly write software because I enjoy it. I typically do not enjoy writing Go (and I have seen this sentiment echoed widely). And I think that because enjoyment is much less important in a corporate environment, corporate representatives make up the lion's share of the enthusiasm.

Re: Eleven Years of Go

#108
post #87

I use Go quite a bit, and I have the exact opposite experience from a lot of these testimonials. Someone else mentioned go just works, they don't have to fight the tooling, or that they worked on a go program that works five years later (which language does this not apply to). ??? I've had quite a few problems with things like plugins for go deleting unused imports because I am in the habit of saving frequently. I re…

I have also found tooling, especially surrounding modules, to be a gigantic hassle. Using Goland has helped.

Re: Eleven Years of Go

#109

Earlier quoted context omitted.

> The most frustrating thing about Go isn't even the language, it is the community for me. It is very business/corporate focused. Everything is all about Kubernetes/cloud. I apply for conferences/meetups non-stop, but never have any luck. It is always the same company reps. I am envious of the Rust community here, but maybe grass is always greener on the other side? As someone who's been writing Go full-time for over…

At the risk of being controversial, my guess is that this is because Go makes it very difficult to build abstractions at a level that are appealing or satisfying to most developers. This is the main reason I choose Rust or Python or literally anything else over Go for personal projects. Because I may or may not be more productive in Go if I keep working at it, and go has so many benefits over many other choices, but…

To each his own. There is an equally wide group of developers who choose Go for personal projects as it’s in line with their taste. The joy of programming is in the eye of the beholder.

Re: Eleven Years of Go

#110
post #79

Earlier quoted context omitted.

There's a big gap in trends between new-wave "tech companies" and "enterprise companies". It's hard to cleanly define these categories aside from culture, but Go is plenty popular in the former (along with lots of other languages), and Java remains prevalent in the latter. Sounds like maybe Python spans both.

If I look for golang jobs in NYC I see just one job in the whole city. Sure a few more in the surrounding area and a bunch remote, but just one job. https://www.dice.com/jobs?q=golang&location=New%20York%20Cit... , NY,%20USA

Echoing others' points. The company I work for (fairly large tech company) uses Go, and is hiring in NYC, but has no roles listed on Dice. I know of at least two more definitely-not-small tech companies hiring in NYC that use Go, and their job listings say Go, but they have no job listings on Dice either.

Seems there may be a "cultural divide" on where job listings for different types of companies/languages show up.

Post reply on HN