I want to get up off my ass and actually attempt to contribute to lemmy eventually if I can

  • Walnut356@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 year ago

    Nah, i dont think that’s true at all. Priority number 1 is learn the language that deals in what you’re most interested in. Priority 2 is learning the language whose ecosystem you can tolerate.

    Why? Because you learn most when you enjoy what you’re doing.

    I’m interested in performance and systems programming so i tried to start with c++. C++'s ecosystem and tooling are complete garbage and i spent more time fighting it than learning to program. I learned python for a specific project, but eventually started learning rust because i was frustrated with python’s lack of low level functionality (and speed).

    Rust has a lot of modern features that c++ doesnt (and that arent buried behind 20 years of “do this, no wait that’s bad, actually do this instead”). The tooling is excellent for beginners, and there’s lots of core and standard library features that simplify some of the stupid things about low level programming. And you dont have to start with all the low level fiddly bits, you can start with variables, conditionals, and functions just like you would in python or whatever.

    As for book recommendations:

    NOT the official rust book. Imo it assumes you already know at least one other programming language. It doesnt always go into enough detail about advanced concepts, but other times goes into WAY too much detail for true programming beginners.

    The two that i liked the most were:

    Programming Rust by Blandy, Orendorff, and Tindall

    Rust in Action by Tim McNamara

    I’ve also heard good things about Command-Line Rust by Ken Youens-Clark, but i havent read it myself.

    Also, dont be afraid to read language-agnostic books that cover general computer science concepts like Dive Into Algorithms, Understanding The Machine or Data Structures The Fun Way after you’ve gotten your feet wet.