Live data from Hacker News

Go is an ideal language for AI-assisted software engineering

developers.googleblog.com

141–150 of 586 posts

Re: Go is an ideal language for AI-assisted software engineering

#141
post #81

Earlier quoted context omitted.

That does not seem like a fair/accurate reference? The antithesis author states: "we’ve found bugs in every Raft implementation we’ve tested, including HashiCorp Raft, Aeron Cluster, OpenRaft, and MicroRaft"

You're misreading what I said. I didn't say other languages don't have buggy Raft/Paxos implementations, just that Go is yet to yield a single correct one.

I think you're projecting. You wrote

> Go still has not yielded a correct implementation of Raft or Paxos while there are dozens in Java, C++, and Rust.

That says that there are correct (i.e., bug-free) implementations in those languages. The GP noted

> "we’ve found bugs in every Raft implementation we’ve tested, ..."

which says that there aren't any correct ones. You then wrote

> I didn't say other languages don't have buggy Raft/Paxos implementations

which is a strawman. The issue is whether there are correct implementations. That there are buggy ones is irrelevant.

(FWIW I have no dog in this fight ... I'm just reading here.)

Re: Go is an ideal language for AI-assisted software engineering

#143
post #27

Definitely agree with this article. At Netflix, I lead the Go language guild. We've been seen increasing reports of users finding their AI agents writing better Go code than other languages, and increasing reports of projects favouring Go over other languages. Two additional notes I'll add: - Go has _great_ resources on writing good Go code, including treasure troves at https://go.dev/doc/effective_go and https://goo…

A sort of an amateur I found Go to be really good when used with language models. Simplicity and tooling helps I suppose and I expected it to. However I was pleasantly surprised with how they are also pretty good with Flutter and Dart. Again good tooling, good documentation and perhaps not much historical baggage like a python or a PHP would have. And no stack overflow to speak of pretty much.

Re: Go is an ideal language for AI-assisted software engineering

#144
post #27

Definitely agree with this article. At Netflix, I lead the Go language guild. We've been seen increasing reports of users finding their AI agents writing better Go code than other languages, and increasing reports of projects favouring Go over other languages. Two additional notes I'll add: - Go has _great_ resources on writing good Go code, including treasure troves at https://go.dev/doc/effective_go and https://goo…

Your post reminds me of what I love about Python, we have PEP-8 which is a style guide, and it kind of shifts how you write code a bit (for the better) which is something I sorely miss in other languages, I don't get the feeling people care about style guides for other languages very much.

Re: Go is an ideal language for AI-assisted software engineering

#145
post #107

I wouldn't say Go is IDEAL for AI coding, but it certainly has the case for one of the best programming languages that currently AI uses. Go definitely has its share of problems for human authors because it's so verbose and boilerplate heavy, which means it's less of an issue with LLMs than it is for human coders. Rust is comparatively worse, because LLMs don't make the same coding mistakes that humans do that justif…

> "because LLMs don't make the same coding mistakes that humans do that justifies the existence of the borrow checker" Citation absolutely needed.

Sure, what I mean by that is that LLM makes different kind of mistakes than humans, they usually take the shortest direct route to accomplish their task. You can see that with the Bun Rust rewrite, I don't think any human coder would put as many `unsafe` and `Clone()` and `Arc` in their code, so a lot of time, they would just attempt to bypass the borrow checker if they see it get in their way.

Re: Go is an ideal language for AI-assisted software engineering

#146
post #27

Definitely agree with this article. At Netflix, I lead the Go language guild. We've been seen increasing reports of users finding their AI agents writing better Go code than other languages, and increasing reports of projects favouring Go over other languages. Two additional notes I'll add: - Go has _great_ resources on writing good Go code, including treasure troves at https://go.dev/doc/effective_go and https://goo…

Isn't Netflix a Java shop

They use more than just Java. The UI was originally C#... I'm still surprised the front-end was C# but they went with Java longer term for the backend.

Re: Go is an ideal language for AI-assisted software engineering

#147
The LLMs will continue to get better at language stuff, better to tell them what to do on the basis of non-language stuff.

Stuff like like which compilation targets are available, or which has the most mature library for what you're doing, or maybe you're integrating with something that anchors you to a specific interface type.

Anchor your language choice to the problem you're trying to solve and the people you're trying to solve it for.

Re: Go is an ideal language for AI-assisted software engineering

#148

Earlier quoted context omitted.

Isn't Netflix a Java shop

They use more than just Java. The UI was originally C#... I'm still surprised the front-end was C# but they went with Java longer term for the backend.

When I worked at OpenConnect (Netflix's CDN) there was a lot of Python too, and I started porting a lot of the tooling to Go. By the time I left (2019), Go was really starting to take off outside of OpenConnect too -- but yes, there's historically a huge amount of Java there.

Re: Go is an ideal language for AI-assisted software engineering

#149
post #51
post #27

Definitely agree with this article. At Netflix, I lead the Go language guild. We've been seen increasing reports of users finding their AI agents writing better Go code than other languages, and increasing reports of projects favouring Go over other languages. Two additional notes I'll add: - Go has _great_ resources on writing good Go code, including treasure troves at https://go.dev/doc/effective_go and https://goo…

Uber reported that their Go code has quantitatively more concurrency bugs than code in other languages, and while to me it seems obvious from looking at Go's concurrency model, this is backed by actual data. Is there any quantitative data to back the claim that Go is better in an LLM based workflow than another popular language?

Uber has a history of blaming the tool - in Facebook fashion - rather than admitting their “talent” sucks and they didn’t hire on merit.

They used to blame Python a lot too - Python is slow compared to others but not so slow to matter that much, and you can build other services around it to handle certain work.

Facebook - who chose PHP - used to blame iOS/Obj-c as the reason they couldn’t build a decent Facebook native app in the early days (anyone remember Fastbook?)

I would take it with a grain of salt.

Re: Go is an ideal language for AI-assisted software engineering

#150
post #30

Who cares? Languages are tools, LLMs are tools. Use the ones more appropriate for what you are trying to do. Is Go better than CSS if you are doing web layouts? Is it better than zig if you are outputting minimal wasm deliverables? Is it better than swift if you are doing iOS specific development? Is it better than bash for OS scripting? Think about what you are doing and choose appropriately. This was true before LL…

> Who cares? [sorry, but that question is trolling]

People who want to use the most appropriate tool.

> Use the ones more appropriate for what you are trying to do.

What they are trying to do is find a programming language that LLMs work well with.

> So you are using Go with LLMs for the objective and destination of token consumption for token consumption sake?

The trolling gets more intense with each comment ...

P.S. Someone else responded:

> But this isn't a user story. The user story is what you should be picking the tool for.

I don't see how this is at all relevant to my comments. I'm certainly not going to argue about what some other party should or should not be doing.

Post reply on HN