Everytime I have to use some python script I fucking groan. God, what a pain in the ass python is...

  • captcha [any]
    ·
    2 years ago

    Go's build system was good when it first came out but everything has gotten wildly better since. Rust's cargo at the moment is the gold standard AFAIK. The main issue with go's build system was $GOPATH. Go would insist on installing all dependencies globally onto the GOPATH. Meaning, if I was working on two different projects using different versions of the same dependency I would have to maintain an entirely separate GOPATH. Maybe go has stopped doing that recently but that's what I last saw.

    Most build systems now allow dependency versioning per project by default and if they're good will cache builds of the same version between projects.

    I'm mostly upset because if I dont have a GOPATh set and I install a go project from source it will make a ~/go folder without asking me.

      • captcha [any]
        ·
        2 years ago

        oh thank god, I've been scared to get back into go because of it.

        If you like C, C++ and Go then you'll like Rust as its a better attempt to dethrone C than Go was. The basic types, struct, enum, and trait are the most elegant and least burdensome system I've seen yet. But that borrow checker though really can be an obstacle. Everything must be safe. It can get really weird when doing async stuff but your getting safe async code for a lot easier than other languages.

        • PissPoorGrandpig [none/use name]
          ·
          2 years ago

          I adore Rust. The borrow checker can be a pain, but ~95% of the time you can simply read the compilation error and it will tell you exactly how to fix the problem. I think I had more issue with lifetimes at first, when I was trying to add too much state to my structs, but even that only takes a couple of weeks of hobby programming to learn really.

          I'd love to get a job writing rust instead of stupid php like my current job :sadness:

            • PissPoorGrandpig [none/use name]
              ·
              2 years ago

              it's much better than it used to be, but it's still not great. We enforce strong typing with phpstan static analysis, use enums everywhere (no magic strings), use a decent ORM w/ functional collection syntax, use proper SOLID principles, full test coverage, have everything in decent CI etc., so in general it's a passable language at this point. Slow, but passable.