I’ve been trying to learn Rust, so I’ve been reading the book by Klabnik, I’m on chapter 2 and it’s been pretty okay I have to say, I really like how he explains everything and how painless it make it seem. I’m not saying it’s not hard, my brain gets really tired after reading it and stuff but compared to other methods I’ve tried to learn any programming language it’s been my best experience so far in a long series of failed attempts.

Keep in mind, I know a bit of html/css and I did write a bit of Python last year but I do not know any programming language. I’ve tried learning Ruby and failed and so on, but I do not know how to code in general. I know I shouldn’t be trying to learn Rust as my first programming language but I really like the concept behind it so I’m going to try my best.

Now that you understand a bit of my background, I would like to ask if you could recommend me some books. I would love to know if there’s a book similar to Klabnik’s book but to learn front end web development. I’ve checked No Starch Press (the publisher that published the book) and they have some that could be good, but I’m not sure (https://nostarch.com/modernweb https://nostarch.com/CodingWorkbook). I also would like a book that explains programming concepts, for example, what are functions, what are statements, strings, macross, and so on, I understand or think I understand a couple of these stuffs, but I feel like reading a book that explains a bit the math behind them would be a good idea.

  • dinomug@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    3 years ago

    As I understand, your needs are more related to an absence of fundamental knowledge, than an a problem of learn X language/technology.

    I strongly recommend you this book:

    Structure and Interpretation of Computer Programs (SICP). One of the best books of computer science ever written. This book gives you a solid foundation about computer science in its most primitive concepts, for example, what is a program? what do we mean when we say that we build programs? what are variables and how values are associated to them? their life time, what are functions and what are they made of (procedures)? scalar values, values of (composite) values, why are data control structures built that way? macros, how data is represented, how the interpreter/compiler understands it, etc. etc. etc. In short, SICP is to computer science what Euclid’s elements are to mathematics.

    All this relying on a language known as Lisp (specifically Scheme and its variant Racket). It is not necessary that after the book you continue using it, be careful, it is quite addictive ;) It is included because as it is one of the languages with a very simple syntax and structure, it helps you not to abstract so much from what is really important: dealing with the problems, not with the language.

    It is a somewhat technical book, since it is academic, but it was created just for introductory courses (in 80’s and 90’s at MIT), not only for computer science, but also for other engineering and related careers. It includes many exercises that increase in difficulty as you advance between chapters, being at the beginning somewhat tedious because of the use of some mathematics.

    Some tips

    After reading the book you can move on to algorithm and data structure books.

    plus: learn databases (SQL/No-SQL)

    I do not recommend any of these languages to take as beginner:

    • C++/C#/Java: they have too many abstractions that can lead to confusions/misunderstandings that at a beginner level are unnecessary, like OOP. These concepts you can learn later with practice, and according to the type of project you need to run.
    • Rust is too advanced and can lead to headaches as it’s not very intuitive for a beginner.
    • JS is such a poorly designed language that it leads to many bad programming practices and misconceptions when approached without prior knowledge. Just take a look at scoping and closures to get an idea of what I mean.

    I recommend:

    • C
    • Python (very useful for algorithms and data structure)
    • Scheme/Lisp
    • ghost_laptop@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      3 years ago

      Sorry for the late response, I asked some random person on the internet and they told me that SICP is not a good book unless you are already an experienced programmer and that in general it’s not good and other stuff, I started reading it (until the first chapter) and found it pretty good. Do you think it can affect me negatively?

  • ksynwa@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    3 years ago

    I don’t know if there is a book like that for Rust. I have read one book, and skimmed two others (Programming in Rust, The Rust book and Rust for Rustaceans) and they assume a moderate to intermediate experience with the fundamentals of programming beforehand.

      • ksynwa@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        3 years ago

        Yeah sorry. You clearly ask this towards the end. There must be books like this but I don’t know of any. Sorry again.

  • apaoapa@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    3 years ago

    mas que libros te recomendaria cursos de udemy, pero yo pego muy lejos de lo tuyo, mas del palo del fron end

    • ghost_laptop@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      3 years ago

      y pero para eso hay que pagar, yo quiero gratarola jeje

      igual justo lo que me interesa aprender primero en lo que a desarollo web respecta es front end

      • apaoapa@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        3 years ago

        mepa que varios cursos de udemy estan para bajar por torrent yo te recomiendo los de angela yu y Maximilian Schwarzmüller que son a prueba de pelotudos (yo me incluyo)

  • leanleft@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    3 years ago

    “rust essentials”
    very easy to read.
    the problem is that the simple explainations dont really translate to real world scenarios where things are suddenly much more complicated.
    still good though.

  • pesekcuy@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    Hi there! My background is similar to yours, not knowing any programming language besides some Python basics and shell scripting, therefore I would also be happy to hear the book recommendations from fellow Lemmy users. Thanks for this post!