Backward Compatibility, Go 1.21, and Go 2 - eviltoast

Boring is good. Boring is stable. Boring means being able to focus on your work, not on what’s different about Go. This post is about the important work we shipped in Go 1.21 to keep Go boring.

There will not be a Go 2 that breaks Go 1 programs. Instead, we are going to double down on compatibility, which is far more valuable than any possible break with the past. In fact, we believe that prioritizing compatibility was the most important design decision we made for Go 1.

    • Lorenzo@lemm.ee
      link
      fedilink
      Italiano
      arrow-up
      1
      ·
      1 year ago

      Would you consider Go as boring technology? 🤔 sometimes I feel that its simplicity gives less unknown unknowns, and more “boring”.

      • nebiros@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        well, boring tech link is about battle tested tech, not about hype, so, in that sense, yeah, seems “boring” to me, but I love it, :)

  • austin@programming.devM
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    The backwards compatibility promises of Go definitely makes upgrading a breeze. Java is pretty much in the same boat (except it maintains bytecode compatibility instead of source). When working with languages that don’t offer these promises it’s always a nightmare to upgrade to newer versions.

  • sjpwarren@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Never is a very long time. I Hope they can maintain that promise because having to write lots of code everytime there is a major upgrade is so costly. I agree with @mrkite, I wish Angular had the same idea and even Vue.