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

  • cl333r
    replied
    Originally posted by Ironmask View Post
    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.
    Yeah, I like Go far better than Rust, but Go's package management and naming is.. a complicated mess. Also, it doesn't even have an easy self update mechanism like "rustup update".

    And yeah, Go's if/else mandatory usage is archaic.

    Leave a comment:


  • andrebrait
    replied
    Originally posted by bug77 View Post
    So, a case of grass being greener on the other side?
    What do you mean? I only ever wrote one service n Go, and occasionally interact with it trying to find out what went wrong on Minikube.

    Nowadays I do Java 90% of the time, followed by Python and C. I only mentioned exceptions are not perfect because nothing really is, but it's by far a lot better than Go's ad nauseum if else for anything that isn't trivial.

    Leave a comment:


  • bug77
    replied
    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?

    Leave a comment:


  • cynic
    replied
    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.

    Leave a comment:


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

    Leave a comment:


  • andrebrait
    replied
    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.

    Leave a comment:


  • Ironmask
    replied
    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.

    Leave a comment:


  • onlyLinuxLuvUBack
    replied
    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

    Leave a comment:


  • bug77
    replied
    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.

    Leave a comment:


  • andrebrait
    replied
    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.

    Leave a comment:

Working...
X