Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I write a lot of Go, a bit of Rust, and Zig is slowly creeping in.

To add to the above comment, a lot of what Go does encourages readability... Yes it feels pedantic at moments (error handling), but those cultural, and stylistic elements that seem painful to write make reading better.

Portable binaries are a blessing, fast compile times, and the choices made around 3rd party libraries and vendoring are all just icing on the cake.

That 80 percent feeling is more than just the language, as written, its all the things that come along with it...



Error handling is objectively terrible in Go and the explicitness of the always repeating pattern just makes humans pay less attention to potentially problematic lines and otherwise increases the noise to signal ratio.


Error handling isn't even a pain to write any more with AI autocomplete which gets it right 95%+ of the time in my experience.


You're not wrong but... there is a large contingent of the Go community that has a rather strong reaction to AI/ML/LLM generated code at any level.

I keep using the analogy, that the tools are just nail guns for office workers but some people remain sticks in the mud.


Nail guns are great because they're instant and consistent. You point, you shoot, and you've unimpeachably bonded two bits of wood.

For non-trivial tasks, AI is neither of those. Anything you do with AI needs to be carefully reviewed to correct hallucinations and incorporate it into your mental model of the codebase. You point, you shoot, and that's just the first 10-20% of the effort you need to move past this piece of code. Some people like this tradeoff, and fair enough, but that's nothing like a nailgun.

For trivial tasks, AI is barely worth the effort of prompting. If I really hated typing `if err != nil { return nil, fmt.Errorf("doing x: %w", err) }` so much, I'd make it an editor snippet or macro.


> Nail guns are great because they're instant and consistent. You point, you shoot, and you've unimpeachably bonded two bits of wood.

You missed it.

If I give a random person off the street a nail gun, circular saw and a stack of wood are they going to do a better job building something than a carpenter with a hammer and hand saw?

> Anything you do with AI needs to be carefully reviewed

Yes, and so does a JR engineer, so do your peers, so do you. Are you not doing code reviews?


> If I give a random person off the street a nail gun, circular saw and a stack of wood

If this is meant to be an analogy for AI, it doesn't make sense. We've seen what happens when random people off the street try to vibe-code applications. They consistently get hacked.

> Yes, and so does a JR engineer

Any junior dev who consistently wrote code like an AI model and did not improve with feedback would get fired.


You are responsible for the AI code you check in. It's your reputation on the line. If people felt the need to assume that much responsibility for all code they review, they'd insist on writing it themselves instead.


> there is a large contingent of the Go community that has a rather strong reaction to AI/ML/LLM generated code at any level.

This Go community that you speak of isn't bothered by writing the boilerplate themselves in the first place, though. For everyone else the LLMs provide.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: