InfoQ Homepage Go Language Content on InfoQ
-
Feature Gates in Client-Go: Enhancing Control and Simplifying Feature Adoption in Kubernetes
Kubernetes has integrated feature gates into the client-go library, providing developers and administrators with more granular control over feature adoption within their Kubernetes environments. Kubernetes components utilize the client-go library for API interaction. This library is also widely adopted across the Kubernetes ecosystem for building extensions like controllers, tools, and webhooks.
-
Rust-Written Borgo Language Brings Algebraic Data Types and More to Go
Borgo is a statically typed language that compiles to Go and strives to be interoperable with the existing Go ecosystem. The Borgo language adds to Go algebraic data types, pattern matching, Option and Result types, and more Rust-inspired syntax. The Borgo’s compiler itself is implemented in Rust.
-
Go 1.21 Toolchain is Now Reproducible to Help Safeguard from Supply-Chain Attacks
Go 1.21 toolchain is the first Go toolchain to be perfectly reproducible. This makes it possible to reduce the risk that a malicious actor can tamper with the output binaries, explains Google engineer Russ Cox, to carry through a supply chain attack.
-
LinkedIn's Open-Source "iris-message-processor" Achieves 86.6x Faster Escalation Management Speeds
LinkedIn developed a new open-source service called "iris-message-processor" to enhance the performance and reliability of its existing Iris escalation management system. "iris-message-processor" significantly improves processing speeds, being ~4.6x faster under average loads and ~86.6x faster under high loads than its predecessor.
-
AWS Lambda Deprecates Go Runtime
AWS Lambda is deprecating the go1.x runtime, announcing support for Go exclusively in the Amazon Linux 2 runtime. The announcement and the need to migrate by the end of the year to the custom provided.al2 runtime raised concerns in the Go community.
-
Keeping Go "Boring" in Go 1.21: How Google Grants Backward Compatibility
In a recent article, Google engineer Russ Cox detailed what Google does to make sure each new Go release honors Go's backward-compatibility guarantee. This includes generalizing GODEBUG in Go 1.21 to cover even subtle incompatibility cases.
-
Google Makes it Easier to Create Go Applications on Google Cloud
Google released four templates developers can use to bootstrap Go applications using gonew, an experimental tool aimed at instantiating Go projects.
-
Cadence 1.0: Uber Releases Its Scalable Workflow Orchestration Platform
Uber released a major version of its workflow orchestration platform named Cadence after six years in development. Uber and other companies use Cadence to build stateful services at scale using native programming languages.
-
CDK for Terraform Improves HCL Conversion and Terraform Cloud Interactions
HashiCorp has released a number of new improvements to the CDK for Terraform (CDKTF). These improvements include enhanced type coercion, iterators support, and function support. Other improvements target the experience of working with CDKTF within Terraform Cloud or Terraform Enterprise. This includes improvements to plan and apply and the automated creation of Terraform workspaces.
-
Open-Source Package ngrok-go Aims to Make it Easier to Embed Ingress into Go Apps
Ngrok-go is an idiomatic Go package that enables Go applications to securely receive network requests through ngrok's ingress-as-a-service platform as if they were listening on a local port.
-
Google Service Weaver Enables Coding as a Monolith and Deploying as Microservices
Google has released Service Weaver, an open-source framework for building and deploying distributed applications. The Go-based framework includes a set of programming libraries that enable writing applications as a single modular binary. The other component is a set of deployers that allow for configuring the runtime topology and running the application locally or in the cloud.
-
Go 1.20 Improves Compiler Performance and Extends Coverage Support
The latest release of the Go language, Go 1.20, improves compiler performance, bringing it back in line with Go 1.17. Additionally, the language now supports conversion from slice to arrays and revises struct comparison.
-
CDK for Terraform Improves Performance by Adding Namespaces
HashiCorp released version 0.13 of the CDK for Terraform (CDKTF) with significant improvements to performance. The release introduces a major restructuring of the language by introducing namespaces. The namespace improvement dramatically enhances the performance of synthesizing infrastructure. This release builds upon the 0.12 release which saw CDKTF move into general availability.
-
Go 1.19 Improves Generics Performance and Refines its Memory Model
Go 1.19 focuses on improving the implementation of the toolchain, runtime, and libraries, especially for generics performance, the language memory model, and garbage collection.
-
On Go's Generics Implementation and Performance
On the heels of Go generics becoming stable in Go 1.18, PlanetScale performance engineer Vicent Martà dissected how they work and highlighted some performance limitations of their actual implementation. He also provided a few handy suggestions about their usage.