• 0 Posts
  • 72 Comments
Joined 2 years ago
cake
Cake day: July 5th, 2023

help-circle
  • Ironically, I learned Rust first, and later looked at Go. I found a lot of the syntax needlessly “different”. That being said, it’s still a decent language. Point being, a lot of the weirdness subsides once you understand why it’s there.

    Personally, I don’t actually care about the lifecycle and memory management stuff. What I like about Rust is:

    • An enforced error type that is very convenient to use with the ? operator. No more err != nil spam, but same amount of safety
    • ADTs with a host of wonderful features, like exhaustive match statements. Go enums are horrendously basic, let’s be honest
    • NO NIL!! Non existence is expressed with an Option type that, like the error type, comes with many conveniences
    • Generics from the start, meaning you don’t have older code that throws away type safety anywhere
    • Traits/Interfaces can be implemented for foreign/external types and types can implement external interfaces (duh)
    • Great tooling, good formatting tools, good LSP, that kind of stuff. Golang has that too

    Why learn Rust? For the same reason everyone should learn different languages. To learn new concepts and see new perspectives on old problems. It’ll make you a better developer even in your previous languages.




  • For bigger projects, anything with MANDATORY types is a must for me. Optional, not compiler checked hinting doesn’t cut it.

    Not that i hate the language, but I do hate the tooling around it. I don’t think I’ve ever had a pleasant experience with setting up a Python project. And all the data stuff is just wrappers for code in other languages, making the packaging story even uglier, even harder.


  • In my experience it HEAVILY depends on the language you’re using. Nothing beats Intellij for Java or Kotlin, but Rust and Go feel at home in any editor.

    I know that LSPs and DAPs somewhat take care of these, but the following are often easier in IDEs:

    • Refactorings, including really smart language specific ones
    • Support for fancy frameworks. For example, Intellij can analyse all annotations for Dependency Injection or Spring stuff, and will then tell you exactly how everything connects on a higher “framework” level. Arguably, this is a solution to a problem Enterprise Java created
    • Debugging is easier
    • In general, stuff works “well enough” out of the box. As a fan of Neovim, I’ve definitely been frustrated a lot the first time I had to set something up
    • Fancy integrations, for example linking frontend code calling backend code directly, or an entire little Database Manager builtin, with magic SQL code completion



  • We used to have a Python guy at my work. For a lot of LITTLE ETL stuff he created Python projects. In two projects I’ve had to fix up now, he used different tooling. Both those toolings have failed me (Poetry, Conda). I ended up using our CI/CD pipeline code to run my local stuff, because I could not get those things to work.

    For comparison, it took me roughly zero seconds to start working on an old Go project.

    Python was built in an era where space was expensive and it was only used for small, universal scripts. In that context, having all packages be “system-wide” made sense. All the virtual env shenanigans won’t ever fix that.









  • r1veRRR@feddit.detoMemes@lemmy.mlLove my bugs like I like my ..
    link
    fedilink
    arrow-up
    1
    arrow-down
    3
    ·
    2 years ago

    Having had lobster exactly once, I really don’t understand. The meat tastes like nothing, exactly like 99% of all meat. The only exception is a good beef cut, and that still has to be prepared correctly. Everything else is just about the butter, salt, spices.

    The manual part I can kind of understand, honestly. There’s something rewarding about working for your food. Though I did feel like I’m using more energy to get the food than I end up consuming. It’s like a lick-mat for dogs.





  • r1veRRR@feddit.detoTechnology@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    3
    ·
    2 years ago

    I do actually care about the content they “push”. Most fediverse apps are pointless to me exactly because they don’t have an algorithm. Unless you already know EXACTLY everything you’re interested in from the start, finding new stuff is the primary and best feature of the “algorithms”.