Kennisbank › Go Rust › golang: Go and Rust
go rust starter 26 September 2026

golang: Go and Rust

Go and Rust are two modern programming languages that each emerged in their own way during the years when the need for efficient, safe, and scalable software

Go and Rust are two modern programming languages that each emerged in their own way during the years when the need for efficient, safe, and scalable software kept growing. Both languages were developed with a clear objective: solving limitations that developers experienced in existing languages such as C++ and Java. Although they ultimately have much in common — such as their focus on systems programming, performance, and safety — Go and Rust differ in their philosophy, development trajectory, and community. The history of both languages is closely tied to the institutions and people behind them, who made certain choices at crucial moments.

Go, also known as Golang, was first conceived on September 21, 2007. On that day, Robert Griesemer, Rob Pike, and Ken Thompson at Google began a whiteboard conversation about the goals for a new programming language. They were frustrated by the complexity of existing languages and the time required to build large software projects. In 2007, the world of programming was still different from today: GitHub did not yet exist, most computers still had only one processor, and few free, powerful development tools were available. The three developers wanted a language that compiled quickly, worked well on multiprocessor systems, and was simple enough to let large teams collaborate efficiently. The idea was to create a language that combined the power of C++ with the ease of use of modern languages.

After the first conceptual discussions, Ken Thompson began building a compiler in January 2008 to test the ideas. This was a crucial step: from whiteboard to working prototype. The language began to develop in the direction of what we now know as Go — with a simple syntax, built-in support for concurrency via goroutines, and a strong focus on readability and maintainability. At the end of 2008, Russ Cox joined the project. His contribution was essential to transform the language and its libraries from an experimental prototype into a serious, usable programming language. Cox helped shape the standard libraries and determine the direction of the language.

At the same time, in May 2008, Ian Taylor independently began working on a GCC front end for Go. This was an important development, because it showed that Go also attracted interest outside Google. A GCC front end means that Go could be integrated into the GNU Compiler Collection ecosystem, which made the language more accessible to a broader audience. Although Google continued to develop the project internally, this external contribution was a sign that Go had potential as an open-source language.

On November 10, 2009, Go officially became a public open-source project. This date marks the moment when the language was no longer an internal Google project, but became available to everyone. From that moment on, anyone could view the source code, contribute, and use Go for their own projects. The 2009 launch was widely noticed in the tech world, because Go seemed to be a breath of fresh air in a landscape dominated by older languages. The combination of speed, simplicity, and strong support for networking and concurrency quickly made Go popular among developers who had to build systems for large scalable services — think of web servers, microservices, and cloud infrastructure.

Rust has a different origin than Go. The language was first started in 2006 as a personal project by Graydon Hoare. At the time, Hoare did not work at a large tech company, but developed Rust in his free time. His goal was to create a language that made safe systems programming possible — in other words: low-level programming, such as operating systems or drivers, without the risks of memory errors that you have with C or C++. Rust introduced a revolutionary concept: the borrow checker system, which checks during compilation whether memory is used correctly, without needing a garbage collector.

In 2009, Rust received an important boost: Mozilla Research decided to sponsor the project. This meant that Hoare and later a larger team could work full-time on the language. Mozilla saw in Rust an opportunity to build safer software, particularly for the Firefox browser. The language gained more structure, better tools were developed, and the community began to grow. In 2010, Rust was officially announced, which further increased interest among developers. On January 17, 2012, a first public release followed, which meant that people could download and use the language, although it was still in an early phase.

The real milestone for Rust came on May 15, 2015: the release of Rust 1.0. This was the first stable version of the language, which indicated that the core features were fixed and that Rust was ready for production use. From that moment on, you could trust that code that worked in Rust 1.0 would also continue to work in future versions — a crucial point for companies that want to invest in a technology for the long term. The launch of Rust 1.0 was seen as proof that the language was not only theoretically interesting, but also practically usable.

Both languages — Go and Rust — emerged in a time of change. Go responded to the need for fast, simple, and scalable services in the cloud. Rust responded to the need for safety and control in low-level programming. Go chose simplicity and productivity: the language has few syntactic frills, a clear standard library, and strong support for concurrency. Rust, by contrast, chose safety and control: the learning curve is steeper, but the language offers unparalleled guarantees against memory errors, without sacrificing performance.

Although both languages are open source and have an active community, they also differ in their target audience. Go is often the choice for companies that quickly build scalable network services — think of Docker, Kubernetes, and Prometheus, all written in Go. Rust is more often used in contexts where safety and performance are critical, such as browsers (Firefox), operating systems, blockchain projects, and embedded systems.

The development of Go and Rust shows how different approaches lead to different solutions. Go was developed within Google from the start, with clear goals and a team of experienced programmers. Rust began as a solo project, later received support from Mozilla, and blossomed into a community project with worldwide contributions. Both trajectories show that innovation can come both from within a large company and from the free time of an individual developer.

In summary: Go originated in 2007 at Google, with Robert Griesemer, Rob Pike, and Ken Thompson as founders. Ken Thompson began the first compiler in January 2008, Ian Taylor worked on a GCC front end from May 2008, and Russ Cox joined at the end of 2008 to help shape the language. On November 10, 2009, Go became open source. Rust was started in 2006 by Graydon Hoare as a personal project, received support from Mozilla Research in 2009, was announced in 2010, had a first public release on January 17, 2012, and reached the stable version 1.0 on May 15, 2015. Both languages are now important players in the world of systems programming, each with its own strengths and areas of application.

← Terug naar kennisbank
← Terug naar kennisbank