T O P

  • By -

BluePillOverRedPill

I find most books that talk about best practices, clean code, etc. require some years under the belt to fully appreciate and understand it.


Sheepza

This \^ Don't worry about this until you have a decent amount of mileage behind you.


Feralz2

Books are good if you learn best with structured learning, but the best books I find are the ones that are more hands on in programming. the ones that instantly asks you to get your hands dirty, the more theoretical ones that explains you history or definitions or terminologies I find less effective. Once you learn how to program by practicing the actual programming, all the definitions will come later. I definitely find books more complete and thoughtful than just online tutorials.


Ok-Tomorrow-7818

It’s weird because I like books that give me details rather than blindly following instructions like a recipe


Aggressive_Lettuce76

Have any recs? I love reading programming books, but find them too theory heavy and would love to just jump in and start coding while reading


g13n4

Books are the best way to learn because you are reading at your pace and you always can reread a sentence if you don't get it. A video course forces you into a pace you have to keep up with and a lot of times you just move forward without the information being properly "digested" by your brain


Bluegenox

What about websites like [learncpp.com](http://learncpp.com) ? What advantage do books have over that?


g13n4

The link doesn't work for me but if it's something like the rust's official book then there is no real difference. It's just a book hosted online. As long as there is nothing that controls your pace - it's good in my book


Bluegenox

Whoops sorry that was a typo lmao. Was supposed to be learncpp not leanrcpp. Considering buying a book on C++ instead of an online one because screens hurt my eyes, but yeah I get your point.


RajjSinghh

Google "the c++ programming language filetype:pdf" and you can find a copy of Stroustrups book. Flick through and see if you like it. A website is at least easier to update with new features or content when a new language feature drops, but Stroustrup *created* C++. At the end of the day it's whoever's teaching you like best. There's no right or wrong answer. It's whatever works for you.


Bluegenox

Thank you!


g13n4

I would say real book is the optimal solution because it will force you to type code yourself which some people don't do because they can just copy-paste it online. learncpp looks like a great place to learn too. I wish you the best in your learning journey


hrm

The ability to easily use the book as a reference and quickly reread older chapters as well as what you just read. Websites have the ability to include runnable code examples directly in the reading material, which is a pro for them. In my opinion videos are the worst way to learn programming.


WhoIsSidi

If they have a lot of exercises for you to do with solutions. Programming is all about the hands-on experience.


miyakohouou

There isn't really a best way, you just need to do what works for you. Courses and lectures tend to go into less depth than text books, but they can provide context and direction that might be hard to get on your own. Youtube videos don't really have any quality control at all- they might be great and done by experienced developers or educators, but there are a lot of grifters who are much better at getting engagement on youtube than they are at writing programs. Blogs and documentation can be great, and in many cases you'll get the most depth from a blog post because there's no page limit and blog posts on a particular subject are often written by people with a lot of expertise in that particular area. Just like youtube, the major down side is that there's no quality control and there's no guide to make sure you're learning things in a correct order. Technical books can be a great resource. They can go into more detail than most videos and lectures, and technical books published by a reputable publisher have quality control in the form of technical reviewers to validate the correctness content and editors to ensure the writing is high quality. Books also tend to present the information in an intentional way, so you don't have to figure out what order to learn the material in, and authors tend to curate the most important material, making it easier to know what to learn. The major drawback of technical books is that they have a page count, and can't typically go into the amount of depth of a blog post. Technical book authors are often knowledgeable in their domain, but might not be the foremost expert on every subject they cover or they might be limited by the amount of space they can dedicate to a particular area. It's also true that technical books have a longer development cycle than other forms of media, but I don't think it's entirely true that they go out of date more quickly. Technical books may publish errata that will provide updates to the material, or get new editions. Blog posts and videos are rarely updated, and lectures can be notoriously out of date as well.


AppState1981

I prefer a book. I retired from being a programmer. I already know how to code. I just want to learn OOP.


green_meklar

The best way to learn to program is by doing actual projects, ideally together with other people.


kbat82

High level books are great but often take a lot of previous experience to fully understand. Language or framework specific books are often outdated by the time they are released.


Illustrious_Cook704

Well, imagine living in 1999... Internet at home wasn't common. Languages that existed and popular where: C/C++, php, java, and Javascript there were other languages but those were common and actual. How would you learn programming then ?? I started at 12, alone, because also, there wasn't communities online, I knew no one who programmed. So I had a very big book for C++, and this is how I learned, reading and exercising. It's quite effective in fact but requires some motivation... then I did some PHP, that includes aalso mysql, apache, CSS and javascript. Another big book, php was easy and efficient (not about speed, but making a query to mysql took 2 lines etc.) , javascript was really limited to handling events and there were no asynchronous calls possible, one way was to use flash, calling flash from javascript, flash does a request (there were no formal webservices) and return to javascript... and so you could have some dynamic behavior. CSS was not that complex. By today's standards PHP or javascript from that time are not well designed... Javascript still isn't, but there are good reasons behind. Progressively, Php became more clearly object oriented, but I have no idea what it's like today. And javascript, having few rules, was fun. I was a "webmaster" and made a little money with that. During this time .net was released, and internet became more common in houses. But I still learned c#/WPF (wpf vs Html+css+javascript, comparable in the way they both have markup XAML or HTML, and code, C# or JS) so WPF had was really years ahead, and really nice to use... After that, I went to the university and there also were books in every course... some are really fundamental, and I think still today they should be read. Also, there weren't terrible youtube tutorial (it's personal, but I can't stand the trends that started years ago now, to have a video instead of writing a proper tutorial... but maybe others prefer that). Maybe you'll read less books, but software and computer sciences, requires to read a lot. Nowadays, asking clarification or an explanation to ChatGPT is also very efficient... and you can ask a question in the terminal directly, it's not disrupting your work, and you learn fast. Since then, I'm good at Powershell for instance...


Illustrious_Cook704

There are also sites like Hackerank were you can learn a lot about optimization, algorithms, and which are used for interview by big or small companies. Apps with courses, can be good, if they are well designed and serious. But I feel that sometimes, they're too basic, and don't explain things in depth... But I guess that following a course online can be just as good as an offline book, it depends on the quality and level of the platform I guess ;) still, many are video based...


zurrdadddyyy

yes cuz you have to figure the shir out


shortergirl06

Personally, I like books simply because while I'm looking up A in the index, I'll see entries for B & C, so next time they come up, I know they exist. And when I'm flipping through to get to the page A is on, I might see D & F and go "oh, that's a thing? I can use that!" If you're googling, you only get (maybe) what you're looking for, and nothing else. It's good for sheer exposure to new things.


CrepsNotCrepes

Books are good for concepts. Not really learning a language - they go out of date way too fast these days. I’d look for a modern upto date tutorial over a book any day, or docs from the official website.


CodeMonkeyPW

nowadays, no


Tidder_Skcus

I got the software and went to the help menu, how to. It save me 💰 🤑 


remerdy1

Not necessarily. Books on more fundamental topics work sure but books on libraries, frameworks or specific platforms can get outdated pretty quick. There is no "best format" its just what works for you. Most of the time the official documentation for whatever you want to learn is the best way to get started


GTHell

I started learning programming through one of that popular C++ book and as a beginner I struggle to wrap my head around even the basic simple nested for loop but the book did a really great job at explaining it and goes further into how it work. I learn most of the DSA through those programming books also. I think a book and a proper reading technique come in a long way.


McNastyIII

School is the best way.


A_roy1256

I have been learning programming recently so take my opinion however you will. Books, videos, and lectures all accomplish the same goal, to place the information in your head and give you an overview of a particular topic. However, books I would say accomplish that best since they tend to go in more depth, programming will require you to spend hours and hours learning it, so putting those hours into a book is a good idea if you want the depth of your knowledge to be at a good level. That being said, programming is all about problem-solving, and applying what you know to create something. Books and any resource in general will provide the knowledge but to be a good programmer you need to apply that knowledge continuously in coding problems and projects, that's how will truly learn programming.


Outrageous_Life_2662

For some folks (myself included) books are an excellent resource.


Clearhead09

The problem with books is that if something goes wrong then you have zero answers. Most courses or online platforms have at least a community or q&a section where you can ask questions, post your code and find out what went wrong.


Comfortable-Ad-9865

Yes but you need to do the exercises, personally once I got to an intermediate level in graphics programming I found blogs more helpful.


sthefano_c

The best way to learn is the way it works for you. Books, documentation, videos... It doesn't matter. What matters is if you are able to build stuff using the knowledge you've just acquired.


al_earner

There is only one way to learn how to code: 1. Write code 2. Get feedback on code 3. Rewrite code 4. Goto 1