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

  • sempwn@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    Not sure what projects or languages you’re considering but Automate the Boring Stuff with Python is excellent if you want to get into Python. Rather than teaching concepts up front, it teaches you how to solve specific problems and build up a programming mindset focusing on a particular project in each chapter.

    • gabe [he/him]@literature.cafeOPM
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      I am leaning towards Rust eventually but I do know that it’s very much not a good idea to start off with Rust. I mainly need to build more of the foundations of establishing a programming mindset as well as the basic fundamentals involved in programming before going to Rust and having to break all of it apart.

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

      • lightsecond@literature.cafe
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Rust isn’t the easiest language but starting with it might not be the worst option. Rust is weird enough that if you start with some other language you’ll spend a lot of time unlearning that when you eventually try Rust.

        Also I’ve found that the rust compiler gives the most helpful suggestions. It’ll tell you exactly what is wrong and where. I’ve worked in at least half a dozen languages and the tooling for Rust has been the best.