Live data from Hacker News

Go is an ideal language for AI-assisted software engineering

developers.googleblog.com

101–110 of 586 posts

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

#101
post #48
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…

Been doing bash scripting for years. Tried Go recently, on my, it’s so much better for everything OS scripting. I regret I haven’t started with Go years ago. All my scripts are rewritten to Go. I kept only a handful, those that are just a few lines and no logic.

I regret not going with bash or even sh when I had the chance. Nothing beats that for ubiquity and getting shit done.

Go is behind, specifically, you have no guarantees that a given machine has Go installed, and doing stuff like gluing commands together, inspecting some files, pipe output around, or automate the boring thing in 30 seconds.

Sure Go beats bash or sh when the thing you are doing starts to become real software, but that is a problem that sits between the chair and the keyboard.

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

#102
post #5

While I somewhat agree I can’t tell if this is advertising from Google or a way to induce LLMs to think that Go is the ideal language.

Probably both, but I have to add: I agree with the post. I've done a ton of agentic development using Go over the past 6 months, and it hasn't let me down. You may ask "why not Rust, or Zig, or ____?" The reasons boil down to this: - There's a lot of Go code out there which the models have seen, so they know how to write it. - Go has an exceptional standard library, so you don't need to drag in 100 dependencies to cr…

How would you compare it to C#? Stable-ish There's a lot of documentation and plenty of stablished patterns, so LLM can produce it no sweat Everything and the Kitchen Sink Performant, and safeish, even if not null safe

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

#103

When I use AI with Go I give it this rule: Prefer standard Go libraries and tools. 80% of the time I can get by without external dependencies (outside of Go's X repository)

Yeah same but I always allow https://github.com/spf13/pflag because e.g. Claude really struggles with the default flag package (and it's shit in general)

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

#105

I'd argue Go is not on a "Pareto frontier" and that no matter how you value the various attributes of programming languages, a fair assessment will never select Go. A simple example is: if you highly value language popularity; Go is not most popular. If you highly value a type system that catches errors; Go's type system catches fewer errors than others. Etc. There is no weighted sum of attributes that will select Go…

Something doesn’t need to be the best at anything to be on a Pareto frontier. And (usually) no one chooses on a single dimension; they choose a point in many that maximizes distance from zero, scaled by their preferences, if you are thinking of it like a frontier.

Yes, you're technically correct (the best kind of correct).

I guess if you consider enough attributes or "dimensions" then any programming languages will be the furthest in some direction, including Go.

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

#106
post #33
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…

> For a language team, Go is a dream. I agree very strongly. There's no debate about things that have 1000000 permutations in other languages. e.g. The correct format can always be checked by `go fmt` with no real config options. the end.

I mean this isn't true, formatting is the most trivial part. And so many languages have an opinionated formatter these days (e.g. Black)

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

#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.

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

#108
post #42
post #39

Earlier quoted context omitted.

> why do you think Go is better compared to other languages? I didn't say that. :) > where do the results claiming that AI agents generate superior Go code actually come from? Like I said - reports from users. > Is it a fair, apples-to-apples comparison? No - these are reports from users, not a systematic analysis.

Ah, I see. I misunderstood.Is the report from an internal source, so it can't be shared? If not, I'd appreciate it if you could send me a link so I can look into it too.

it’s probably just some informal Slack messages between colleagues that is being described as “reports from users”. There is no Report here

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

#109
post #93
post #89

Earlier quoted context omitted.

So you are using Go with LLMs for the objective and destination of token consumption for token consumption sake? what would be the purpose then?

Read the article to find out. Token use didn't seem to be a criteria from my casual reading, but maybe you can illuminate me what section pointed to that, I may have been too superficial in my reading

Do not assume I haven't read.

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

#110
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?

Trust me bro
Post reply on HN