Ian and Johnny join Kris to speculate on Google laying off the Go team, implications on the language's future, ownership of Go, API SDK development, transitioning to V2 packages, evolution of Go and SQLite, and a fun discussion on text editors, keyboard layouts, and calendars.
Go standard library introduces V2 packages for seamless compatibility and updates.
Microsoft launches Go blog and contributes to Go development, supporting Azure integration.
Semantic import versioning in Go facilitates smooth package transitions and compatibility maintenance.
Deep dives
Evolution of V2 Packages in Go Standard Library
The Go standard library is introducing V2 packages, starting with the math/rand package getting a new version. V2 packages will be able to do everything V1 packages do at release time, ensuring seamless compatibility. V1 packages will become thin wrappers over V2 packages, allowing bug updates and fixes from changes in V2 packages. This approach aligns with Go's compatibility promise, facilitating smooth transitions without breaking existing code.
Microsoft's Contribution to Go Development
Microsoft has launched a Go blog and disclosed their internal fork of Go, contributing changes upstream. This move aligns with Microsoft's aim to become a major open-source contributor and demonstrates increased investment in Go development. The blog highlights the growing compatibility and integration of Go workloads on Azure, reflecting Microsoft's commitment to supporting the Go community.
The Significance of Semantic Import Versioning in Go
Semantic import versioning in Go has been instrumental in enabling gradual transitions and maintaining compatibility in package development. While some challenges exist, such as managing numerous packages and versions, the system offers a structured approach to updates without major disruptions. The process allows for incremental advancements without the need for disruptive V2 packages, promoting smoother evolution within the Go ecosystem.
The Debate on Language Evolution and Decision Making in Programming Languages
The podcast episode delves into the approach taken by certain programming languages, highlighting the differences between centralized control and community-based decision-making. It discusses how language evolution can be influenced by incumbents in the industry who resist change due to the impact on their businesses. The episode emphasizes the complexities of technical decisions, revealing the broader factors that often influence language development and adoption.
Redis and SQLite Integration and the Resurgence of SQLite in Development
The podcast episode covers the growing trend of integrating Redis with SQLite and the increasing relevance of SQLite in modern development. It explores the advantages of using SQLite for certain use cases, such as its speed and stability, even referencing how the Library of Congress recognizes it as a dependable file type. The discussion also touches on the ease of embedding SQLite into Go applications and the benefits of the Neovim Lua plugin for seamless integration.
In this week’s episode we’re talking about the news! In this laugh-filled episode, Kris is joined by Ian & Johnny to discuss the future of Go, both the Go team itself and iterations of packages within the standard library; Microsoft creating a Go blog & a Go fork; and SQLite and Go.
Changelog++ members save 8 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
FireHydrant – The alerting and on-call tool designed for humans, not systems. Signals puts teams at the center, giving you ultimate control over rules, policies, and schedules. No need to configure your services or do wonky work-arounds. Signals filters out the noise, alerting you only on what matters. Manage coverage requests and on-call notifications effortlessly within Slack. But here’s the game-changer…Signals natively integrates with FireHydrant’s full incident management suite, so as soon as you’re alerted you can seamlessly kickoff and manage your entire incident inside a single platform. Learn more or switch today at firehydrant.com/signals
Fly.io – The home of Changelog.com — Deploy your apps and databases close to your users. In minutes you can run your Ruby, Go, Node, Deno, Python, or Elixir app (and databases!) all over the world. No ops required. Learn more at fly.io/changelog and check out the speedrun in their docs.