• sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    9
    ·
    4 days ago

    Go is fine, but it has its flaws. I prefer Rust because:

    • memory safety is a compiler check, not a runtime check, so you catch issues earlier
    • locks contain their values, so you can’t accidentally do anything unsafe
    • no nil (() is semantically different), so no surprises with contracts
    • everything is an expression, which lends itself really well to FP concepts
    • actual dependency management at 1.0
    • pretty much no runtime, so calling from another language is super easy
    • targets WASM and microcontrollers
    • no pointers (not exactly true)

    It takes longer to learn, but I’m about as productive with both now.

    • solrize@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days ago

      Thanks, “Comprehensive Rust” is readable so far, though I haven’t gotten to the “fun” (memory management) parts yet.