Published Apr 27, 2022

The Power of Go | Beyond Coding Podcast #50

Patrick Akil dives into the world of Go with Hannes de Jager, Kevin van den Broek, and Goos van den Bekerom, discussing the impact of generics, the unique challenges and efficiencies of Go, and the mindset shifts needed for its adoption, offering insights into coding practices and organizational hiring processes.
Episode Highlights
Beyond Coding Podcast logo

Popular Clips

Episode Highlights

  • Generics Intro

    The introduction of generics in Go has sparked varied reactions among developers. initially missed generics when transitioning to Go but later found them unnecessary for his projects, as existing interfaces already provided sufficient flexibility 1. noted that the absence of generics encouraged developers to think critically about problem-solving, which can be beneficial 1. highlighted the extensive process behind implementing generics, emphasizing the community's involvement and the commitment to backward compatibility 2.

    The way they went about it is just fascinating to me because it's not like generics was built in a year, it's not like two years. I think it was already five years in the running.

    ---

    This meticulous approach ensures that generics enhance Go without disrupting existing codebases.

       

    Developer Views

    Developers have mixed feelings about the introduction of generics in Go, with some appreciating the potential for reduced code duplication. observed that newcomers to Go often struggle with writing functions that are similar but inherently different, a challenge generics could address 3. argued that the "Don't Repeat Yourself" principle might be overvalued if it leads to unnecessary abstraction, which can complicate code maintenance 3.

    If you address separate concerns and you use the dry principle to say, but it must be the same piece of code just because it sort of looks the same, then what you're really doing is you're tying two systems together that's going to break together if you make a change.

    ---

    The discussion underscores the importance of balancing simplicity and maintainability in software development.

Related Episodes