What Go Lang Future Holds , Summary Of Rob Pike GopherCon Talk
- Serjo Agronov
- Go , Web frameworks
- February 23, 2024
- Reading time: 3 minutes
Part of the series: Go Features
- Part 1: This Article
Table of Contents
Golang: What the co-creator thinks got right and wrong
In a recent interview, Golang co-creator Rob Pike shared his thoughts on what the language did well and where it could improve. Pike is a well-respected computer scientist who has made significant contributions to the development of several programming languages, including Go. His insights into the design and evolution of Go are valuable to anyone who wants to understand the language better.
Golang’s mascot: A stroke of genius
One of the things that Pike believes Go got right is its mascot, Gopher. The friendly, cartoon gopher has become a beloved symbol of the language and has helped to make it more approachable. Pike believes that the mascot has played an important role in the success of Go.
Portability: Making Go a language for everyone
Another thing that Pike likes about Go is its compiler, which is written in C. This may seem like an odd choice, but Pike believes that it was necessary for rapid development. The C compiler is very efficient, and it allowed the Go team to quickly create a working compiler for the language.
Formal specification: Bringing clarity and stability
However, Pike also sees some areas where Go could improve. One area is dynamic interfaces. Go’s interfaces are powerful, but they can also be a bit tricky to use. Pike would like to see more automatic checking of interfaces to help prevent errors.
Concurrency: Making Go a powerful tool for modern programming
Overall, Pike is very positive about Go. He believes that it is a well-designed language that is well-suited for a wide range of tasks. However, he also sees some areas where it could improve. His insights are valuable to anyone who wants to understand Go better and to help it continue to evolve into an even better language.
Go supports concurrency through goroutines and channels. Goroutines are lightweight threads of execution that can be used to run multiple tasks concurrently. Channels are a way for goroutines to communicate with each other. Go’s concurrency features make it a powerful tool for writing modern, scalable applications.
Not everything is perfect: Room for improvement
Overall, Pike is very positive about Go. He believes that it is a well-designed language that is well-suited for a wide range of tasks. However, he also sees some areas where it could improve. One area is dynamic interfaces. Go’s interfaces are powerful, but they can also be a bit tricky to use. Pike would like to see more automatic checking of interfaces to help prevent errors.
Another area where Go could improve is in its support for arbitrary precision integers. Arbitrary precision integers are numbers that can have any number of digits. They are useful for applications that require very precise calculations, such as financial applications. Go does not currently support arbitrary precision integers, and Pike believes that this is a limitation of the language.
In addition to the points mentioned above, here are some other interesting takeaways from Pike’s interview:
- Pike believes that Go’s simplicity is one of its greatest strengths. The language is easy to learn and use, which makes it a good choice for beginners and experienced programmers alike.
- Pike is also a fan of Go’s concurrency features. Go’s goroutines and channels make it easy to write concurrent and parallel programs.
- Pike is not a fan of generics. He believes that they can add complexity to the language and make it more difficult to learn and use.