Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


How many books do you have to read when you're a programmer?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
50 replies to this topic

#1 tom_mai78101   Members   -  Reputation: 582

Like
0Likes
Like

Posted 24 April 2011 - 07:17 AM

I'm curious to know how many books do programmers read in their career lifetime. I have heard people reading over 20 books since high school. There are some people that read books, but didn't actually finish reading it completely (Chapter 1 through the Appendices), does that count as "You've read a book"?

And when you read, do you read the same parts over and over again once per books you have in your possession? Does that make some parts of the contents redundant?

This affects me setting a goal during my free time, to read about 15 programming books on C/C++, DirectX and OpenGL, and 2 big books on Java. And I would like for some opinions. Hopefully, it's not about what kind of books I have to read, just need the total amount. Thanks in advance.



Sponsor:

#2 joew   Crossbones+   -  Reputation: 4034

Like
2Likes
Like

Posted 24 April 2011 - 07:33 AM

1. No amount of reading is going to make you a good programmer.... writing code will.
2. There is no magic number of books you have to read and you don't just sit there reading front to back, what do you hope that would achieve? I have about 60-70 books on my shelf that I've used but it's just information at your fingers, not some magic that makes you code better. Not to mention after learning the basics it's more about reading papers and articles and putting together an implementation.
3. Why do you think you need 15 books on those subjects? You listed 4 subjects so if you think about it that should point to having 4 books, one of each subject, and then filling in the holes and advanced details once you have an idea of what you want to learn. Also why try to learn C++ and Java at the same time while learning how to program? Why not stick to one language while you're learning and then eventually learn others?

I have seen a few people ask something along these lines though so I do want to stress that reading a book is just going to give you information... which will be forgotten very quickly if you do not use / practice it while learning. You aren't going to sit down and read a book on C++ cover to cover like you mentioned, at least not if you want to actually learn how to write code and become proficient at it. You likely wouldn't suggest sitting down and reading a book on Calculus without working through the math will teach you anything, so why is programming different? You will read a chapter or so, do the exercises, try building your own small app using those techniques, etc. Quite honestly sitting down at the computer and playing around with a simple "Hello World" you're going to learn a lot more than simply reading a book from cover to cover without practical usage.

#3 Garnier   Members   -  Reputation: 102

Like
1Likes
Like

Posted 24 April 2011 - 07:36 AM

Don't know if this is a bad thing but I haven't read any books on programming.. but I've written a lot of code. If I need to figure out how to do something, I use google.

#4 Monkan   Members   -  Reputation: 725

Like
2Likes
Like

Posted 24 April 2011 - 07:58 AM

I wouldn't say I've completely read any books on programming but I've use lots for references and specific articles.
Like has been said, just reading books wont means can code.

Having said that there are loads of really useful books out there, as well as loads of websites.
"To know the road ahead, ask those coming back."

#5 owl   Banned   -  Reputation: 368

Like
0Likes
Like

Posted 24 April 2011 - 08:22 AM

I agree that more importantly than the number of books you read is the number of lines of useful code you write and how interested you are in writing them.
I like the Walrus best.

#6 Telastyn   Crossbones+   -  Reputation: 3754

Like
0Likes
Like

Posted 24 April 2011 - 08:26 AM

In addition to Saruman's fine post:

If you count ebooks (eg. The F# Survival Guide) then I probably read about 2-3 a year now. 4-6 a year was probably more accurate when I was transitioning from beginner programmer to barely competent programmer. And when I say read a book, it means reading the majority of the thing, occasionally skipping chapters on bits I don't care about (like implementing my own algorithm in the Regex book I own. Good to know I have that resource, not entirely useful when I was learning regex syntax). But spending enough time with it that you grok the concepts, get what you need from it, and can refer back effectively when you need more from it.

#7 tom_mai78101   Members   -  Reputation: 582

Like
0Likes
Like

Posted 24 April 2011 - 10:26 AM

In addition to Saruman's fine post:

If you count ebooks (eg. The F# Survival Guide) then I probably read about 2-3 a year now. 4-6 a year was probably more accurate when I was transitioning from beginner programmer to barely competent programmer. And when I say read a book, it means reading the majority of the thing, occasionally skipping chapters on bits I don't care about (like implementing my own algorithm in the Regex book I own. Good to know I have that resource, not entirely useful when I was learning regex syntax). But spending enough time with it that you grok the concepts, get what you need from it, and can refer back effectively when you need more from it.


I think I found a good method of reading books now. Yes, I do think that writing code is better than reading the book, but then I hit a few contradictions:

1. If you start programming from the beginning, you need at least 1 book as a guide to learn.
2. After reading the fundementals from the first book, you need other books to fill in lessons and subjects outside of the curriculum of the first book.
3. For those who learned at least 2 programming languages, you need at least 1 book for each language.

In total, in your possession, you should have a few books, but I see most posts say they learn by writing. That still counts as if you have read a book.

#8 owl   Banned   -  Reputation: 368

Like
0Likes
Like

Posted 24 April 2011 - 10:31 AM

It's similar to writing prose. You might have read a quatrillon books but reading a story is not quite the same as writing it.
I like the Walrus best.

#9 Telastyn   Crossbones+   -  Reputation: 3754

Like
0Likes
Like

Posted 24 April 2011 - 11:55 AM

I think I found a good method of reading books now. Yes, I do think that writing code is better than reading the book, but then I hit a few contradictions:

1. If you start programming from the beginning, you need at least 1 book as a guide to learn.
2. After reading the fundementals from the first book, you need other books to fill in lessons and subjects outside of the curriculum of the first book.
3. For those who learned at least 2 programming languages, you need at least 1 book for each language.

In total, in your possession, you should have a few books, but I see most posts say they learn by writing. That still counts as if you have read a book.


Quit trying to make some sort of generalized rules for these things. I don't have a book for each language I've learned. I have a number of books that are reference guides, some that are good for their concepts, but not for their examples. EVERYONE learns by writing. Do you really think it takes me a few months to read a book? No, it takes a few days. It takes a few months of writing code to turn reading into knowledge.

#10 supermoose   Members   -  Reputation: 103

Like
2Likes
Like

Posted 24 April 2011 - 12:36 PM

The way I do it is this:

Buy a book to get started in a language - a tutorial book, not necessarily a "resource" book.
Program in said language until you are stuck.
Buy a book on the subject of what you are stuck with.
Read said book start to finish, and learn a whole bunch about the theory around your problem, giving you resources to use if you change languages.

I read 2-4 books a year, usually. Many of them are not language specific at all.

#11 scgames   Members   -  Reputation: 2009

Like
0Likes
Like

Posted 24 April 2011 - 12:44 PM

Just to reinforce what's already been said, there are no set metrics when it comes to books or references or anything like that. You don't have to read or own any specific number of books; in fact, you don't necessarily need to read or own any books (although most programmers will end up reading/owning at least a few at one time or another).

Also, especially when it comes to technical subjects, quite often you won't read a book cover to cover, but rather will keep it available as a reference and refer to it as needed. Lastly, as often as not you can find the answers to whatever question you might have online (for example, MSDN is a good first stop for .NET-related questions).

#12 freeworld   Members   -  Reputation: 337

Like
0Likes
Like

Posted 24 April 2011 - 12:51 PM

just six programming related books. I've read alot more non prog-related books. I would never read a whole programming book, I do re read them all the time though. Especially when I have code block, it always refreshes my mind seeing how other work through things. Other than my big reference book, which is actually quite out dated now, I haven't learned anything from the books, other than theory of how things could be implemented.

Most my learning was done from actually coding and trying new things out, getting stumped, googling gamedev and trying the new things I find. Alot of it comes from experimentation and experience.
[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.

#13 mhagain   Crossbones+   -  Reputation: 9150

Like
0Likes
Like

Posted 24 April 2011 - 02:52 PM

Books are fine as a reference or if you need a quick crash course in something (although you'll often get the same from a really good SDK or help file) but they are not the be-all-end-all fount of all knowledge, and I think you're placing far too much importance on the use of books as learning material. As others have said, you need to start writing code and solving problems for yourself. No book can teach you how to think abstractly around a problem, or how to start recognizing that the way you're doing something may or may not be optimal for the solution you're trying to achieve, or how to instinctively determine the most probable source of a bug in your code. These are all skills that you need to learn the hard way - by doing, by making mistakes, by building up your own comfort with, knowledge in and experience of the tools you're using. What a book will teach you is the basics of what you need to know; it will often give you one way of applying a solution to a particular problem; it will be helpful in getting over any initial learning curves there may be. But that's all that there is to it; the number of books you've read doesn't make you a better or more broadly experienced programmer, it just makes you someone who's read a lot of books.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#14 OneThreeThreeSeven   Banned   -  Reputation: -52

Like
0Likes
Like

Posted 24 April 2011 - 03:06 PM

I have heard people reading over 20 books since high school.


Yeah this isn't 1795...

#15 joew   Crossbones+   -  Reputation: 4034

Like
2Likes
Like

Posted 24 April 2011 - 04:52 PM

3. For those who learned at least 2 programming languages, you need at least 1 book for each language.

I've written production code in about 8-9 different languages but the only actual language books I own are "The C Programming Language" and Stroustrup's "The C++ Programming Language" .. everything else such as C#, Python, Erlang, etc I've learned from reading online, documentation, etc. Most programming languages are quite simple with a very small number of keywords (in comparison to say C++) and if you have a solid foundation in programming it should be dead simple to learn a new language.

Quite honestly if you work in the lower level aspects of game development (i.e. rendering, physics, etc) you are going to be way more concerned with your math and algorithm skills than your wizardry in language or API X.

In total, in your possession, you should have a few books, but I see most posts say they learn by writing. That still counts as if you have read a book.

By this line I'm not sure if you've understood what I meant by learn by writing code. For example when just learning programming as a skill you should be reading chapter 1, going to the computer and doing any listed exercises, possibly doing some on your own, now you can move to chapter 2. You should understand all of the concepts before moving on, otherwise you are just completely wasting your time. So if your plan is to sit down and read an entire C++ book on the couch like it is a novel and then start programming something with your newly gained "knowledge" I would be surprised if you could get "Hello World" running. I just wanted to stress this as it is very important to actually write code, the books and online resources are just there to help you understand and be able to write the code. To put it into perspective just keep thinking of my earlier example of sitting down trying to read through an entire math text without doing a single problem, you likely won't be able to answer a single question at the end of reading the text unless you were constantly working on problems and messing around figuring things out on your own.

#16 MrDaaark   Members   -  Reputation: 3555

Like
0Likes
Like

Posted 24 April 2011 - 05:22 PM

I had written a ton of programs before I even read my first book. All the books I read are are just casual reading. The only time I really read a book to grasp a language was when I skimmed .net book zero to jump into C# from C++.

Reading 20 books about programming won't help you get better in the same way that reading 20 books about riding a bike, or 20 books about renaissance paintings will make you good at those skills. Programming isn't about memorization. It's about learning the concept of how it works, and then having the intelligence to know how to use the tools you have to solve the problems you need to solve to realize whatever programs you want to make.

Once you start to grasp how programming works, you will start to understand how all the concepts you learned can be combined to make different things. Then you might read books for different things, like how to code reliably or securely, but not so much to learn programming.

#17 D.Chhetri   Members   -  Reputation: 181

Like
0Likes
Like

Posted 24 April 2011 - 05:29 PM

Conclusion: Write code first then read along the way.
Edge cases will show your design flaws in your code!
Visit my site
Visit my FaceBook
Visit my github

#18 dublindan   Members   -  Reputation: 457

Like
0Likes
Like

Posted 24 April 2011 - 07:21 PM

My bookshelf consists of maybe technical 30 books, which I've accumulated over about ten years. Some are math books, some are programming books, some are game development books and a few books on multicore programming. I haven't read every page of every one of these books, but have probably read most of them by now. For example, I have physical copies of the Intel processor manuals, which are essentially reference manuals, so I obviously haven't read everything in them, but rather look them up as I need something. Other books I pick and choose parts to read and slowly work my way through (eg, Structure and Interpretation of Computer Programming I read spread out over a long space of time and Concepts, Techniques and Models of Computer Programming I have still 1/3 left to read).

As others have said though, reading alone won't make you a good programmer: programming will. Books are great for teaching you new things, especially difficult things you normally wouldn't learn on your own, but if you get a book with exercises, make sure to do them all as you won't learn much by just reading. Practice is much more important.

#19 Bregma   Crossbones+   -  Reputation: 5913

Like
1Likes
Like

Posted 24 April 2011 - 07:27 PM

And when you read, do you read the same parts over and over again once per books you have in your possession? Does that make some parts of the contents redundant?

I have several books that just seem to fall open to certain passages. Oh wait...

This affects me setting a goal during my free time, to read about 15 programming books on C/C++, DirectX and OpenGL, and 2 big books on Java. And I would like for some opinions. Hopefully, it's not about what kind of books I have to read, just need the total amount.

I'm sorry, I didn't realize you were talking about programming books.

Seriously, I have bookshelves full of programming books. More is better. Ask most successful published authors and they will tell you you need to spend as much time reading as you do writing, maybe twice as much. Programming is also a literate art and is no different in that respect. Broaden your horizons by standing on the shoulders of giants.

Like I said, I have shelves full of technical books. I have shelves full of back issues of IEEE and ACM journals. I have the 3-volume boxed set of TAOCP (who knew he would actually put out volume 4?). I still have all my textbooks from University because you never know when M-way external tape sorts will come back into vogue.

Don't take advice on what books to read from people who are take pride in their illiteracy.
Stephen M. Webb
Professional Free Software Developer

#20 EvilPirate   Members   -  Reputation: 100

Like
0Likes
Like

Posted 24 April 2011 - 07:36 PM

You don't have to read many books at all. Books will only get you so far as a programmer. But when it comes down to it, the only way to get good at it, is to do it.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS