I’ve never used a book for programming, I’ve always learned by mapping out what I want a program to do and then doing research for each step of the program. So I’m curious, do you prefer learning by book or by using the internet?
I really tried to learn by book but I never managed to do it, I kinda get bored or I forget what I learned after 2 days . I’m kinda doing the same thing as you, I find a project or an idea and I begin to research starting from the most basic stuff to more advanced stuff. Programming books are not for everyone, I guess
There is a way to go with books, you set up a week and 8 hours a day. then you map out the chapters you deem important and you blitz that shit for the entire week.
I use a programming book when I move to a new language.
I can never finish those books - just me.
I much prefer picking up https://learnxinyminutes.com/docs/go/ and trying to build something - if it was my first language though, I used codecademy.
we had to learn at least 3 languages at university. of the many texts we had to use, these two books are the only ones that truly worked for me
the C++ book has been updated a few times since I used it (cough old cough)
I really enjoy reading books, but I have to mix in a practical application to really cement the knowledge. I may read through once, and then go back and actively work on the contents while reading a second time.
I’ve never heard of that website you linked there, it seems pretty cool. I’ll have to give it a try sometime.
I fully agree on you with this, i can’t remember the last book i fully finished, i honestly have ditched the whole ‘Read a book, step by step’ way of learning, as i now incorporate just doing projects as the best way of learning, whenever i learn want to learn a new language, i watch some videos about it, start basic with ‘hello world’ programs and work my way up until i can make some basic projects. Although people learn differently, so my way of learning might be not right for you.
I’ve gone through several, mainly for Python and Go but for security. I did go through The C Programming Language once and I loved it. Highly recommend it, even if you don’t want to write C.
I did use programming Books they can help a lot. But it‘s on you how fast you learn and how much time you take.
Also definitely have to throw this out there. MIT uses this book religiously for a reason. It’s Lisp, but the principles inside are useful in any language.
They’re more like guidelines anyway
It’s interesting, but only for more “advanced” subjects. No need to buy a book on Python for example, when you can learn everything online easily
I have a slightly different opinion on this. As a college student who spent years before college self-teaching myself programming, there is a big difference between a comprehensive learning and learning as much as you need. This might change from person to person but after taking programming courses in college I realized I was never understanding the languages enough. I always learned as much as needed but never grasped the underlying concepts. That’s why I believe either taking an online (free is possible) course or going through a book would have a big contribution to your learning process. Having said that, never leave your practical projects and spend your entire time reading a book. Practice is THE way to learn what you learned.
Also, if you need book suggestions on many languages, I probably can give you one. Let me know on Discord if you have any question!
Thanks for the recommendations; anything specific about the pedagogy of these 2 textbooks versus the other one(s) you’ve attempted that was more easily digested?
Personally, I’ve learned a great deal from programming books. I think that two factors are important here:
(1) The book actually has to be good. Not all programming books are created equally. The book in question needs to be high quality. Generally, a given programming community can recommend at least one book that is popular & successful for them. A good example would be the Rust book, which also happens to ship with the Rust compiler.
(2) Learning Style. Do you learn well from books? Many on this thread don’t, but some do.
I’d recommend trying out an excellent book, such as The Rust Programming Language, and seeing what works for you.
I you just want to play around or do one-off prototypes, then your method is fine.
If you’re serious about learning to program in a specific language, or you’re serious about the project you’re developing, then learning from books is a must. Developing a big project using knowledge from random stackoverflow answers will lead to really bad code.
Honestly The only real way i learn something to a competent level is through books. Looking at the developer documentation is always annoying and time consuming. Whereas with a book, it’s similar to a tutorial, yet the author is paid a large amount of money to spend hundreds of hours compiling a book on a certain topic. So you know the Book is going to contain more in-depth and better explained information that a tutorial. Because The author is spending more quality time on the material.
Books leave with a good understanding of the topic, Like hand holding me through the process, and then once i feel confident in my knowledge i can then start working on projects related to that area. But ye The only real way to remember what you read is to constantly be making projects throughout reading, Don’t want till the end of a chapter. Create small programs which make use of every new concept you learn.
Though i would add if you already know a programming language enough, then you can easily learn and pick up a new language through quick tutorials as reference, as the only difference is syntax usually. However for more advanced and specific topics, books i feel are superior, especially when you have no experience in that topic.
Such as TCP networking programming, Linux Binary analysis , operating system etc etc.
I have read from books and they can be helpful especially when starting out however I find that you learn a lot from actually coding and learning from your mistakes.