AI Makes Golang One of the Best Languages
I'm Jacob - I run Sancho Studio a software consulting group, we help companies with technical leadership, strategy, and their AI SDLC lifecycle.
If there is one thing I've learned working with agentic coding tools like Claude Code, Codex, and Cursor it's this:
Large language models amplify inconsistent technology and ecosystems while reinforcing consistent ones.
Before AI, engineers would complain about JavaScript re-inventing itself on an hourly basis. There are hundreds of new frontend frameworks daily, with major players contending for adoption: Next.js, React, Svelte, Angular, etc. The State of JS survey found only three libraries (React, Jest, and Vite) captured over 50% of respondent usage while maintaining >50% retention — the survey itself calls this "a sign of a relatively fragmented ecosystem."
There are dozens of Python tools which accomplish varying degrees of consistency: are you using default pip3, poetry, uv? Which toolchain and whether you're cross compiling matters — fourteen tools is at least twelve too many, and xkcd 1987 was a joke in 2018 that became a spec by 2026. Are you using Python async or a task queue instead? Django or FastAPI?
From the pre-training standpoint, there are too many fucking ways to write these languages. Python and JavaScript are just examples, this extends to other fragmented ecosystems and languages.
The programming languages and technologies with low variance are represented better and executed more strongly by coding agents. When training a language model on a corpus of computer code (text), having high cosine similarity in the training data strengthens the model's ability to output likely tokens in the attention and MLP layers of the transformer.
This means that languages with strong compilers and standard libraries benefit the most. See a pattern, repeat a pattern. Rails does better than JavaScript because there are at least a dozen production grade JavaScript frameworks offering different Venn diagrams over the default features Rails provides. Convention over configuration was a win for human programmers as much as machines — as DHH put it at OSCON 2005, "flexibility is overrated… constraints are liberating."
This means that languages like with strong compilers and standard libraries benefits the most. See a pattern repeat a pattern. Rails does better than JavaScript because there are at least a dozen production grade JavaScript frameworks offering different venn diagrams over the default features Rails provides. Convention over configuration was a win for human programmers as much as machines — as DHH put it at OSCON 2005, "flexibility is overrated… constraints are liberating." Twenty years later DHH closed the loop himself: "Convention over configuration set the path for 20+ years of great training data for AI to use today."
The language that best represents a successful pattern is Golang. Much to the ire of programmers, Golang resisted many of the convenience or higher-level expressions like generics for years. Inadvertently, Google has created one of the best languages for coding agents to write.
I've personally written hundreds of thousands of lines of Golang over my career. As a programmer I found Golang to be infuriating. As an engineer enabled by AI, Golang is heaven.
Out of the box Golang gives you (and your agents) a massive leg-up on coding:
Concurrency out of the box - goroutines are much more powerful a primitive for coding agents than any other concurrency. They're simple, type-safe, and ubiquitously used. No what color is your function problems — Nystrom called it a decade ago: "Go is the language that does this most beautifully… Go has eliminated the distinction between synchronous and asynchronous code."
A std library backed by Google. The default net/http package alone probably runs double-digit percentages of the internet's micro-services. Google also funds and backs the crypto package — world-class cryptography libraries which I've used in production systems at Zoom and Keybase.
Strong compiler & toolchain with only one right way to do things: go fmt, go vet, and now go fix. The best possible combination for an LLM is a consistent corpus of non-breaking code to train on plus 'one right way' tooling for testing and development. gopls is a fantastic guardrail for agents for realtime feedback; additionally golangci-lint allows you to select coding styles and primitives you want to enforce statically — no prompting necessary.
Native-like performance with garbage collection. LLMs prove to be inconsistent in managing memory. Tools like Rust enforce memory safety at the type and borrow checking level. Writing C/C++ with a coding agent is hard because the training data contains lots of memory bugs, use after free, etc.
Small but known set of footguns in Golang. Nil pointers are difficult to trace down for human engineers in production stack traces; agents are quite good at this given the right tools.
Reading this, you should think to yourself: oh, this language and toolchain can write the majority of non-visual software I would want. Things from scripts that process data in parallel, CLIs, web servers, and TUIs. For all the same reasons Java is/was ubiquitous, Golang fixes what Java introduced while expanding on the myriad of locations it can run. GitHub's 2025 Octoverse report puts it plainly: the rise of typed languages suggests AI isn't just changing the speed of coding, but also influencing which languages teams trust to take AI-generated code into production.
The next CLI, backend server, or agent orchestrator can and likely should be written in Golang using a coding agent. The language is simple with strong primitives; it progressively discloses primitives like concurrency while removing the necessity to debug memory handling directly.
In a strange sequence of timing, right as I finished this blog post, Mitchell Hashimoto chimed in making the same point (I said it first).