Read Free Books or Take Udemy Online Course? What is the Best Option?
I started to get a lot of private messages on Reddit. It makes me feel really good and even a little embarrassed. Most recently, I was asked - is there any point in reading technical literature, because everything changes almost every day, and new versions of books do not come out as often as we would like, unlike online courses, when you can always find the latest version by simply sorting the courses by update date.
This is a very good question that I want to answer today. I will say right away that these will be my thoughts on this topic, my thoughts based on personal experience and the experience of several guys whose threads I read in preparation for writing this article. I do not pretend to be the true truth, it's just that my opinion may suit someone and the reader agrees with me.
Code on paper?
This is a meme for all time, I'm sure. It seems to me that everyone who is related, even mediocre, to the code, has come across this. I ran into this on my first programming exam. I needed to write C++ code on a piece of paper. It was a horror that still wakes me up at night.
Computer Programming - Meme
Programming books are not much different from this. You read the theory on loops in Python and you don't have the opportunity to run the code, see how it works in the book. Yes, you can retype code in the IDE, but does anyone really do that? I'm not sure. And this is the main problem of books. What's the point of typing code in books if you can't really play with it. The maximum that you can do is to consider the syntax in more detail, draw on the pages with a pencil. With a pencil? When was the last time you wrote with your hand?
To be honest, I never understood this. I did not understand why programming books are popular, because they are not as effective as possible and waste too much time for the student. It's good when the code is only 13 lines, but if it's code with 13 functions on 7 book pages. You never want to type code like this by hand.
This is a huge advantage of online platforms. For example, on Udemy, there are built-in code compilers where you can copy the code, run it and see the result. Everything is trite and simple - the classic process of modern learning. BUT! I still think that learning to code from books is good for beginners. Will explain.
I know two foreign languages and I learned each of these languages by a simple method - I prescribe everything I read, I write everything I hear, I write everything I say. This gave me the opportunity to cultivate a complete immersion in the language. Linguists have proven that memory trains well if you write more in the language you are learning. I think it works great with programming languages as well. Yes, it’s too lazy to write 360 lines of code and I really don’t want to do this, but by writing each character, each semicolon, memory is brought up. You yourself will not notice how you remember all the syntax. Unfortunately, apart from syntax, when you learn to program from books, you will not remember anything.
How about documentation?
A wise person will say - why should I remember the syntax, if there is documentation and tutorials. And indeed it is. For example, I never memorized the CSS syntax for web design, I always relied on either ChatGPT or tutorials on the web. My logic is simple - why memorize what you can google. It's hard to argue with this. Once upon a time, books may have been popular, when there was nothing but documentation on programming languages, and programming books themselves were a simplified version of this documentation, but now, with so many materials on the net, are the books really still relevant.
Unfortunately yes. You may have noticed that the authors of books on programming are now writing more niche products. For example, you will not see a book on the basics of Python - just no one will buy it. Why buy it if there are free tutorials on the net. However, the authors create more niche content, such as "how to automate your life with Python" or "how to properly optimize your code and make it easier for other developers to understand". I think the authors are well aware that it is useless to compete with free tutorials, so they get out as best they can.
This also applies to books on information security and penetration testing. For me, this is generally a separate genre of technical literature. The fact is that the authors of such books always write content that is either not so easy or impossible to find on the net. When I was preparing my graduate project on ethical database hacking, I found on the net only the very basics, the simplest things that a freshman is capable of. For more complex things, I turned to the books and methods of professionals. Then I was surprised that I should read books on hacking. It even sounds ridiculous.
Do books have soul?
Let's just forget about it. Let's forget about how pleasant it is to hold a real book in your hands, about how the paint smells on the pages, about how pleasant it is to iron a glossy cover. You work or want to work in IT. You cuddle with a laptop for 20 hours a day and carry it everywhere - on the subway and on dates. The laptop is your third kidney. This is your best friend. If you want to sniff books, then read Dostoevsky. Technical literature has nothing to do with it.
I want to give you a small example where I want to illustrate what is the only value of books and a clear advantage over online courses. It's all about completeness, complexity. I am currently reading a book on game theory. It's kind of like easy math. I have fun in my free time. This is a fairly detailed book (400 pages) on how to apply the mathematical approach in life and business.
Udemy - Game Theory
When I read such literature, I have no questions left - when I read it, questions arise in my head and immediately after that there is a chapter where I get answers to my questions. That's how all books are. But here I found a few courses, for example, on Udemy and what do I get? I get superficial material (I compared the first three courses that are closest to the topic), after which there are even more questions.
If, while reading a book, my thoughts and questions are looped and have the shape of a circle, that is, when I have a question, I get an answer, then my thoughts after such courses would have the shape of a tree. Questions are multiplying faster than I can get answers to the previous ones. Of course, this is a single example, but I think you get my point.
My Thoughts about Books and Courses Visualization
If you ask me to tell you in one sentence what to choose - books or courses, then I will tell you - if you are just starting and want to get a base for further developments, then take courses, if you need some special niche, then it is best to contact books, because there are author's methods and specific solutions to the problems of this particular niche.
I hope I answered the question that I was asked in private messages in this article. Again, this is my personal opinion. Be sure to share yours, create a Reddit thread, and feel free to share your opinion. Good luck with your studies.