Announcement

Collapse
No announcement yet.

Go 1.18 Released With Generics, Fully Integrated Fuzzing, ~20% Performance Improvements

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Go 1.18 Released With Generics, Fully Integrated Fuzzing, ~20% Performance Improvements

    Phoronix: Go 1.18 Released With Generics, Fully Integrated Fuzzing, ~20% Performance Improvements

    Go 1.18 is out today as a significant update to this Google-backed programming language while continuing to still maintain Go 1.x compatibility...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    And in other news, Google has changed the name of Go to Gone and subsequently moved on to other shiny new things. Sorry, yes a bad joke but someone had to say it.

    Comment


    • #3
      Great, now give me something better for errors than having to do an if after every single method call to check if the second element of the tuple is nul or not.

      It feels like C, but not in a good way.

      Comment


      • #4
        Probably the biggest release since 1.0. I already like Go (a lot) even without generics, I'll love it from now on.

        Fuzz testing is also damn nice.

        And what's generics without code making use of it? There are functions that leverage generics for dealing with slices and maps, too! Only they're in an experimental package, subject to change.

        andrebrait You don't need an if after each call. It's idiomatic to return a tuple, but you don't have to do it everywhere, use your better judgement. I mean, you would need to return an error from a function that checks the length of a string or anything like that, would you? As for 3rd party functions that return tuples, you can just use _ and skip checking, if you can prove correctness otherwise. I mean, sure, it's not the prettiest mechanism for error handling. But it gets better if you get past first impressions.

        Comment


        • #5
          Michael could you do phoronix benchmark maybe: go plus sqlite vs "old" go plus sqlite vs zig plus sqlite vs ( && for laughs: ) python with sqlite
          or json parsing / saving

          Comment


          • #6
            Did they fix their horrifically broken package management and public naming scheme yet?

            There's a reason Discord of all companies replaced all their Go code with a far better language.

            Comment


            • #7
              bug77 it's still a mich less elegant solution than exceptions, even if exceptions have their issues. And sure, very trivial code is mostly fine, but put together a couple of these functions and suddenly your code will become anything but clean.

              Comment


              • #8
                Having fuzzing integrated in the standard toolchain is actually a killer feature. I wish cargo offered it too

                Comment


                • #9
                  Originally posted by andrebrait View Post
                  bug77 it's still a mich less elegant solution than exceptions, even if exceptions have their issues. And sure, very trivial code is mostly fine, but put together a couple of these functions and suddenly your code will become anything but clean.
                  I do agree.
                  I kinda like Go but its error management (or the lack of it) is a major pain for me.

                  Comment


                  • #10
                    Originally posted by andrebrait View Post
                    bug77 it's still a mich less elegant solution than exceptions, even if exceptions have their issues. And sure, very trivial code is mostly fine, but put together a couple of these functions and suddenly your code will become anything but clean.
                    So, a case of grass being greener on the other side?

                    Comment

                    Working...
                    X