InfoQ Homepage Go Language Content on InfoQ
-
Organizing Information about APIs with Google Registry API
Google Registry API aims to allow developers to organize information about APIs by uploading and sharing machine-readable descriptions of the APIs they use in development.
-
Go 1.16 Will Support Register-Based Calling Convention
The Go team is working to implement a minimum viable register-based calling convention in Go 1.16. This change could provide 5-10% throughput improvement, according to the Google Go team, while keeping backward compatibility for code using Go current stack-based calling convention.
-
Go 1.15 Improves the Go Linker, Small Object Allocation, and More
The latest release of the Go language, Go 1.15, focuses on improving the toolchain, runtime, and core libraries. Besides improving the linker and allocation for small objects, Go 1.15 deprecates X.509 CommonName, supports a new embedded tzdata package, and more.
-
Johnny Boursiquot on Serverless Go and SREs as "Diplomats"
In a recent InfoQ podcast, Johnny Boursiquot, site reliability engineer at Heroku, discussed a range of topics that included: why Go is a useful language for building Function-as-a-Service (FaaS) style applications; how Heroku implements the role of site reliability engineer (SRE); and why the ability to teach is such a valuable skill.
-
Go as a Scripting Language
Go's growing adoption as a programming language that can be used to create high-performance networked and concurrent systems has been fueling developer interest in its use as a scripting language. While Go is not currently ready out of the box to be used as a replacement for bash or python, this can be done with a little effort.
-
TinyGo Aims to Bring Go to the Internet of Things
Google-sponsored TinyGo is a new LLVM-based Go compiler to make it possible to run Go programs on microcontrollers, including the Arduino Uno and the BBC micro.bit, as well as modern browsers using Web Assembly.
-
Go Gets New Reflection-Based Protocol Buffers API
Go's new bindings for protocol buffers, Google's language-neutral data interchange format that aims to replace JSON for high-performance applications, aim to merge the protocol buffer type system within Go's type system and enable its manipulation at runtime.
-
Porting a Go-Based Face Detection Library to Wasm: Q&A with Endre Simo
Endre Simo, senior software developer and open-source contributor to a few popular image-processing projects, ported the Pigo face-detection library from Go to browsers with WebAssembly. The port illustrates the performance potential of WebAssembly today to run heavy-weight desktop applications in a browser context.
-
Go 1.13 Brings Centralized Module Mirror Proxy and Checksum Database
While leaving the language mostly unchanged, Go 1.13 brings a number of improvements to the toolchain, runtime, and libraries, including a relatively controversial default Go module proxy and Checksum database which requires developers to accept a specific Google privacy policy.
-
Slack Shares Strategy Used to Load-Test New Encryption Service
Slack’s engineering team has revealed the load-testing strategy that has become a critical part of their continuous delivery pipeline, and suggests it promotes greater ownership by engineers. While the Slack engineers stated they had minimal load-testing experience, they built it from scratch using Go and used a methodical approach that offers a roadmap for engineers facing similar challenges.
-
Go Contracts Will Enable Generic Programming
A new draft to add support for generic programming to Go is centered around the concept of contracts, which are used to constrain type parameters to types and functions. The draft also introduces type inference to simplify the use of generic types and functions by allowing developers to omit types in many cases.
-
The Go Language Team Rejects Its Try Proposal ahead of Schedule
At the end of quite a long public discussion, the Go team decided to reject the proposal of a built-in try statement for Go error handling. The decision came ahead of the official Go 2 schedule due to the Go community's negative reaction, writes Robert Griesemer, one of the original designers of the language.
-
QCon NY (Jun 24-28): New Talks, a Focus on the Skills That Matter & Why You Should Join Us This Year
In the recent Stack Overflow 9th annual survey of over 90,000 software developers, we learned that non-development work remains a productivity challenge for software managers and leaders. At QCon New York, the conference for senior software developers, we have many sessions to help you learn how others have overcome those challenges.
-
Google Announces Cloud Code: Extending IntelliJ and Visual Studio Code to Kubernetes Apps
Recently at Google Cloud Next 2019, Google introduced a new developer tool called Cloud Code. With Cloud Code, developers will get a set of plugins for development environments like JetBrains IntelliJ Idea IDE and Microsoft's Visual Studio Code editor.
-
Load Balancing Search Traffic at Algolia with NGINX and OpenResty
Algolia’s engineering team made the switch from round-robin DNS load-balancing to a mix of DNS and NGINX with OpenResty. The solution, which uses custom Lua and Go code, and Redis-based service discovery of backend servers, helped in distributing load across their app servers and preventing latency issues.