Discover the best of the web!
Learn more about Digg by taking the tour.
Programmers Don't Read Books -- But You Should
codinghorror.com — If programmers don't learn from books today, how do they learn to program? They do it the old-fashioned way: by rolling up their sleeves and writing code -- while harnessing the collective wisdom of the internet in a second window. The internet has rendered programming books obsolete. It's faster, more efficient, and just plain smarter to get your
- 804 diggs
- digg it
- drifter, on 04/30/2008, -4/+33"But the majority of people still don't read. Or write. The majority of developers don't read books about software development, they don't read Web sites about software development, they don't even read Slashdot. "
Maybe they read Digg? Nah, Digg isn't even tech anymore.- daithiocoinnigh, on 04/30/2008, -6/+3here is your precious old "tech orientated digg"
http://digg.com/news/technology - neoform, on 04/30/2008, -1/+10That quote is total crap.
Assuming all programmers don't read books is flat out false. Any experienced programmer does not have time to sit there and toy with the language hoping to pick up the nuances of whatever language they're learning.
I've read numerous books on various programming languages and each one has helped me greatly in improving my skills as they explain how and why things are they way they are, something that you cannot learn by fooling around in an IDE.
- daithiocoinnigh, on 04/30/2008, -6/+3here is your precious old "tech orientated digg"
- RonniSR, on 04/30/2008, -4/+2Might be that there is so much info about this topic on the web.
There is a lot of good books out there which is worth reading.
But mainly i stick to the good reliable sources on the web to expand my knowledge. - tomazkovacic, on 04/30/2008, -0/+42I think you should code WHILE reading a book about programming.
- Spuy767, on 04/30/2008, -1/+6And not just the ***** tutorials. Aim to complete something that you have to think about and you'll find that your learning process is much easier.
- bhavinp, on 04/30/2008, -1/+4do {
OGC
}
while(true)- wiresjr, on 04/30/2008, -1/+7They say those working at the Office of Government Commerce have a firm grip on reality.
- bhavinp, on 04/30/2008, -1/+4do {
- Spuy767, on 04/30/2008, -1/+6And not just the ***** tutorials. Aim to complete something that you have to think about and you'll find that your learning process is much easier.
- Narcowski, on 04/30/2008, -29/+1Wait this showed up FP with 34 diggs and 0 comments? WTF DIGG algorithm, WTF.
- blackbeardtron, on 04/30/2008, -2/+5***** off. These comments make me furious. Who cares how it got to the front page? It's here now. Either read it or don't, digg it or bury it, just STFU.
- tomazkovacic, on 04/30/2008, -4/+3Oh, well look at this guy over here... these kind of comments makes him FURIOUS ...
Nerd please ... what are you going to do? Wear ur storm-trooper suit and go mad? Uhuhuhuhuhu ... I'm so scared!
- tomazkovacic, on 04/30/2008, -4/+3Oh, well look at this guy over here... these kind of comments makes him FURIOUS ...
- ventralnet, on 04/30/2008, -1/+2Their algorithm seems to work due to the popularity of the site..
Next instead of just saying "wtf" it will be an ad for his own competitive site. - Narcowski, on 04/30/2008, -1/+1Yay, my new most negative comment ever!
- blackbeardtron, on 04/30/2008, -2/+5***** off. These comments make me furious. Who cares how it got to the front page? It's here now. Either read it or don't, digg it or bury it, just STFU.
- Morghin, on 04/30/2008, -1/+13I've tried to read some of those programming books. The problem is that it's so much more fun to try and fail at coding yourself for 1 hour than it is to read a dull-ass book about the topic for 2 minutes. Plus, the internet is free, and to young, budding programmers books are not.
Unless you download the book of course. - gr3yn3t, on 04/30/2008, -1/+75 hours reading about how awesome a programing language is = 1 hour of actual coding in it.
- covertbadger, on 04/30/2008, -3/+9Maybe. But then, 5 hours reading about algorithms or data structures is = 10 years of writing boilerplate websites in php.
- lord2800, on 04/30/2008, -0/+2Wholeheartedly and enthusiastically agreed.
- covertbadger, on 04/30/2008, -3/+9Maybe. But then, 5 hours reading about algorithms or data structures is = 10 years of writing boilerplate websites in php.
- Frecklefoot, on 04/30/2008, -1/+7The subject of this article was news to me, since right now I'm knee-deep in Head First Design Patterns and just finished C++ Coding Standards (which isn't about coding standards at all). I've learned most of my programming skills from books (and by actual coding). The Internet is great, but, unfortunately, for programming information, it actually kind of sucks. For every Good Site with useful information, there are about 200 Rotten Ones. And those rotten ones are, for some reason, easier to find.
- SpaceMonkeyZero, on 04/30/2008, -0/+31I hate accidentally clicking on a link to experts-exchange in my google results.
- NailerNforce, on 04/30/2008, -1/+5Check the google cache. It gives you a chance to see the answer without paying.
- Philluminati, on 04/30/2008, -0/+7If you scroll down RIGHT TO THE BOTTOM of the article the answer is ALWAYS there for free.
- BoneheadFarker, on 04/30/2008, -0/+4They fixed the Google cache bug. But yeah...the first answers you see say you have to pay to see them. And then the answers are provided at the very bottom anyways. Experts Exchange does things in a strange way...
- Spektr4, on 04/30/2008, -0/+4Holy god, yes! That site is clearly cloaking or doing some other blackhat trickery to rank so well in Google. There is no way it should turn up so frequently in the search results. ***** that site!
- NailerNforce, on 04/30/2008, -1/+5Check the google cache. It gives you a chance to see the answer without paying.
- asus2000, on 06/30/2008, -0/+2With 240 pages that book isn't too over-weight. I think for the most part he is referring to the 500+ page bomb shells.
- imikedaman, on 04/30/2008, -0/+10"For every Good Site with useful information, there are about 200 Rotten Ones."
And the article (which I'm assuming for irony's sake that you read) says the same thing about books. The only difference is that it doesn't even cost a dime to weed out the cruddy websites.- BoneheadFarker, on 04/30/2008, -4/+0Man...You can tell it's too early in the morning. I thought that said "...it doesn't even cost a dime of weed..."
- SpaceMonkeyZero, on 04/30/2008, -0/+31I hate accidentally clicking on a link to experts-exchange in my google results.
- hinmanj, on 04/30/2008, -1/+13I have about 15 game programming books on my bookshelf that I bought thinking "WOW! I CAN'T WAIT TO READ THIS!".... I have read none... I've read about 1/4 of one, haven't opened most of the others. At least they make good references...?
When I have a problem, I just search google, I've never even opened any of my reference books before, the internet is much quicker/easier.- fermcg, on 04/30/2008, -2/+1s/bookshelf/ebooks/ ???
- ventralnet, on 04/30/2008, -0/+2Yea, I usually get through a few chapters then see another shinny book to get to read the first few chapters.. a vicious cycle.
- NanoStuff, on 04/30/2008, -0/+2So just how good of a programmer are you? Some things you can't find with Google because you don't know what you're searching for.
How do you get a query for "Tell me all the awesome things I don't yet know about PHP"?
You will never be more than adequate if you don't thoroughly understand the language you're programming with. You can't do that just by searching for things you need, you need to read about the things you didn't know existed and never knew you needed.- hinmanj, on 05/01/2008, -0/+1Well, I'm only a 3rd year CS major at the moment, so I'm not an astounding programmer. Basically anything you could ever want to know about a programming language is online. Anything in a book is online nowadays. .NET languages, Java, PHP, things like BOOST and STL... all their documentation is completely online, organized better than any other book.
I have gigs worth of eBook's to cover me in case I can't find something online, but most things are just quick problems where googling solves it in seconds.
- hinmanj, on 05/01/2008, -0/+1Well, I'm only a 3rd year CS major at the moment, so I'm not an astounding programmer. Basically anything you could ever want to know about a programming language is online. Anything in a book is online nowadays. .NET languages, Java, PHP, things like BOOST and STL... all their documentation is completely online, organized better than any other book.
- libkarl2, on 04/30/2008, -0/+0NanoStuff is right. Plus, there are some books that are virtually indispensable, (and highly influential) depending on what language you're using. The Camel book, the K&R 2nd ed, the Petzold, Code Complete, and Advanced Programming in the UNIX Environment (to name a few) are considered to be the among the finest in their respective areas. Having these within reach at all times is A Good Thing.
If all you do is web programming, and have no interest in hard computer science theory, then you are likely to be able to get away with nothing but google/wikipedia... even then.. try tackling a Julian to Islamic calendar date conversion without a copy of Astronomical Algorithms (Meeus).- hinmanj, on 05/01/2008, -0/+1heh... I actually got K&R and the gignormous Unix book last semester for a C class. Alas, I have not really opened them.
- loconet, on 04/30/2008, -3/+28Programmers don't read book? what kind of stupid statement is this. I'm a programmer. I have been working in the field for around 10 years and have recently gone back to University. I don't read books? My colleagues don't read books? I think there is major misunderstanding here. "How-To PHP tutorials" cannot replace a good Computer Science book. They are not going to replace my Graph Theory book, my advanced algorithms book nor will they replace The Gang of Four's Design Patterns book. Programmers worth their salary know this and don't rely on reading 1/2 hour tutorials to gain long term knowledge related to the field. We read books period. We are constantly reading - code, online articles, e-mails, documentation, etc, etc... AND Books!.
Not only do we read technical books but believe or not a lot of us are actually interested in other things as well. We'll read economics books, history books, politics books, philosophy books, biographies, art books, science fiction novels, etc, etc. Yes we spend most of our time in front of a computer reading digitized text but we also spend a considerable amount of time off the screen where a good book can be of great "edutainment" value.- alex77, on 04/30/2008, -2/+3Gang of Four? SNORE! Much rather read head first design patterns. Pictures AND has a girl on the front!
- covertbadger, on 04/30/2008, -2/+5For someone who claims to read so much, you apparently didn't read the article. Nobody said no programmers read - the argument is that MOST programmers don't read, and it's true. Do you think your average big-company Office-automation developer reads graph theory books? Do you think the people whose code shows up on thedailywtf know when a circularly linked list is a better choice than a vector? Aw hell no. And, like it or not, they're in the majority.
- loconet, on 04/30/2008, -2/+1Of course I was not saying that ALL programmers read books. I'm sure not _ALL_ do. I was generalizing like you are but I still don't agree with the statement that "MOST" programmers don't read books.
- covertbadger, on 04/30/2008, -0/+3I suspect it would be interesting, but highly subjective, research should anyone try to figure it out. However, I have little difficulty believing the majority of programmers don't read books. If you've mostly worked at tech companies and hang out a lot with techie people it would be easy to believe otherwise, but I'm unfortunate enough to have spent a few years in large non-tech companies that happen to dabble with a bit of dev now and then, and trust me you will find the majority of the world's programmers (for loose definitions of the word 'programmer') in this sort of environment.
- neoform, on 04/30/2008, -1/+1"Programmers Don't Read Books"
You did see the headline, right?- covertbadger, on 04/30/2008, -0/+2OK, you've got me there. I did the whole digg thing backwards, assuming people read the article and not the headline. Wishful thinking on my part!
- loconet, on 04/30/2008, -2/+1Of course I was not saying that ALL programmers read books. I'm sure not _ALL_ do. I was generalizing like you are but I still don't agree with the statement that "MOST" programmers don't read books.
- karolisonline, on 04/30/2008, -4/+2maybe You read books because You are in field for 10 years, but younger developers who are of age 18-22 work in a different way, when we started to program, we already had internet, OS like Win2000 (or even XP), so from the first day we started to work in this field we used Internet, so we don't use books.
- neoform, on 04/30/2008, -1/+5I'm 25, I've read about 14 programming books. Almost every one of them helped me greatly.
You're confusing the "18-22 programmers" with "the digg crowd" which is composed of bloggers and other newbie programmers who think they can learn everything from blog based tutorials.- lord2800, on 04/30/2008, -1/+1Yep. I'm also in the "18-22" crowd (even though I'm now 23...) who reads programming books. Especially programming books about generic programming, instead of language specifics. I find it's much more useful to know how to implement a heapsort in php using as little memory as possible than to read a book on how to develop a data-driven website in php.
- neoform, on 04/30/2008, -1/+5I'm 25, I've read about 14 programming books. Almost every one of them helped me greatly.
- Philluminati, on 04/30/2008, -0/+8Your right. I can easily learn a programming language based purely on the results of Google searches. I have never read a book about VB.NET and yet I get paid to do it everyday. You don't always need books to learn programming languages. Especially if you go from low level languages to higher ones. (I'm not sure this is true in reverse however).
But I *did* need to read books on OO Programming, Software Engineering, Java, Design Patterns, Networking Theory, OS Fundamentals etc back when I was at university.
The internet contains the answers...but the books contain the wisdom. Only one will make you smarter and a better programmer.- fokov, on 04/30/2008, -0/+3Exactly! I wrote a game mod without "knowing" C (Quake 3 mod). However, I would never say I was every a C developer because I know how different it was to write c++ code to do the same thing as my java applet that I had to do in school. You can get things done, but I bet 99% are done the wrong way. I hired a guy a while back that used google to be a developer. His code was horrible and would use loops needlessly, causing horrible logic code, and performance. Of course once I read the code during a code review [, previously someone else was in charge of him, my time was only meant to be spent doing real work since I was the best dev here, ] I knew that there was no way he would be able to get the knowledge we required him to have within a short time period. So I fired him. It is so sad when people come to a developer job and can't write code to do simple tasks or understand loops without executing the code. These were simple assignments in school, and not one of the people I interviewed for the junior developer had these skills. Some of the best books I've read were the MIT Algorithms book (was actually used to teach us in school too), Writing Secure Code 2nd Edition by Microsoft, Applied Crypto by the Man, and CLR (C# edition) by Richter [since I'm a .NET developer this had huge amounts of inside information about the runtime].
However, this is the old argument that we have all heard before. High level developers use tools and frameworks without having to know how they work. Sometimes this is OK, sometimes it is not. I lean toward the not OK side because I believe people should know what they are doing. Otherwise you get stupid people writing dynamic SQL inside a stored procedure thinking it is 100% safe since they read stored procedures is one way on how to stop SQL Injection. Oh well. Do what you want to do, but if you have a boss like me, those few nights reading an advanced topic book and understanding it might get/save you a job.
- fokov, on 04/30/2008, -0/+3Exactly! I wrote a game mod without "knowing" C (Quake 3 mod). However, I would never say I was every a C developer because I know how different it was to write c++ code to do the same thing as my java applet that I had to do in school. You can get things done, but I bet 99% are done the wrong way. I hired a guy a while back that used google to be a developer. His code was horrible and would use loops needlessly, causing horrible logic code, and performance. Of course once I read the code during a code review [, previously someone else was in charge of him, my time was only meant to be spent doing real work since I was the best dev here, ] I knew that there was no way he would be able to get the knowledge we required him to have within a short time period. So I fired him. It is so sad when people come to a developer job and can't write code to do simple tasks or understand loops without executing the code. These were simple assignments in school, and not one of the people I interviewed for the junior developer had these skills. Some of the best books I've read were the MIT Algorithms book (was actually used to teach us in school too), Writing Secure Code 2nd Edition by Microsoft, Applied Crypto by the Man, and CLR (C# edition) by Richter [since I'm a .NET developer this had huge amounts of inside information about the runtime].
- CHAD3814, on 04/30/2008, -1/+1See the thing is, I think the tutorials on the internet actually cover about 90% of "real programmers" jobs. I have also been in the field for 10 years, and while I've needed to dig into some books a few times a year, mostly I have not.
There isn't much need for someone to implement red-black trees or huffman encoding in php.
NIST's Dictionary of Algorithms and Data Structures - http://www.nist.gov/dads/- covertbadger, on 04/30/2008, -0/+1It depends on the problem you're trying to solve, not the platform or the language. The back-end for my company's website (whilst not written in php, admittedly) has some fairly complex tree structures in place for processing data changes. If you write blogging software or online brochures for a living you might get away with it, but if you're writing anything non-trivial you'd be astonished how widely-applicable graph theory is.
- fermcg, on 04/30/2008, -3/+4quoting the text: "I wouldn't trade my programming bookshelf for anything. I refer to it all the time."
The funny part is that looking to his book shelf the thing that stands out is "Moving to VB.NET"
If he moved to VB.NET guess where he came from... poor guy- Mossmaal, on 04/30/2008, -1/+8vb6 FTW!!!!
- fokov, on 04/30/2008, -0/+2Believe it or not [ I hate VB programmers BTW] VB6 still can pull in a good salary because some companies have spent millions on their projects. However, since Microsoft's P&P team released their application to automatically convert vb6 to .net (1.1 I think) I see no point in staying in that world. Oh well, legacy developers while if not smart and update their skills, can still pull in large amounts of money maintaining those applications. To each his own.
- bbabics, on 04/30/2008, -0/+2There is a great divide among great and mediocre/novice programmers. I believe it's important to try and figure things out for yourself, that way you have a solid understanding of how YOU would solve a problem. However, with that being said, I believe there's a flip side to that as well. I'm sure we all agree that 5 different programmers could solve the same problem 5 (or more) different ways. So, I think it's important for programmers to see things from different perspectives of other programmers and there's no better way to do that than by reading books or combing over a good blog or tutorial.
- Grimdotdotdot, on 04/30/2008, -0/+8The old-fashioned way has nothing to do with the Internet.
The proper old-fashioned way was to get a program that someone else had written, change it, and then try to figure out why it didn't work.- imikedaman, on 04/30/2008, -0/+7No, the *real* old-fashioned way was to punch a few extra holes into the card, insert it into the machine, push a hoop with a stick for 10 hours, then come back and see what changed in the output.
- p0tent1al, on 04/30/2008, -0/+1old-fashioned? maybe.
proper? there is "proper" way to learn programming. There are many ways of learning, and none are easy.- Grimdotdotdot, on 05/01/2008, -0/+1I debate that. I don't think there is a 'proper' way to learn.
- smotpoker, on 04/30/2008, -0/+3This is true to some degree at least. Personally I read like one book on programming in C and one on general computer science before I made my first real attempt at writing any programs.
From then on I mostly just read tutorials, manual pages and websites to learn the other 3-4 languages I know (and build knowledge on the first).
The reason is that most programming books are too expensive and present/illustrate little that is new. Perhaps when they don't cost $50-100 each to present material that is like 90% shared in many of the books, people will begin embracing them again. Until then, I only use books when I am on a long road trip or some other situation where I do not have a computer or internet handy - tolgafiratoglu, on 04/30/2008, -0/+5Reading books is not a must but reading is a must. Programmers should at least read articles in internet frequently.
Because of this many code around is still written in procedural.
Many programmers don't know what's patterned programming, eg. MVC or ORM.
The damage of this is: 5 years later, the next programmer goes into depression to change procedural garbage code.- covertbadger, on 04/30/2008, -3/+1Aargh, beware the bandwagon. Who's to say that in 10 years we won't be sneering at MVC? And who's to say that a procedural approach isn't the right way to tackle some problems? Never assume that what we are doing today is automatically right.
- tolgafiratoglu, on 04/30/2008, -0/+2Yes, some scalable projects don't need patterns. But if you're developing something which can be coded for the next 10 years, you should find a very modular standard which leads team-work and walks in the way of "don't repeat yourself". That way doesn't have to be MVC. Any pattern is OK, as long as it's a modular standard good for team work. We all know that procedural coding is not good for none of these.
- covertbadger, on 04/30/2008, -0/+1So you're saying that everything written in, for example, C - a procedural language - is repetitive and impedes teamwork? Wow. I'm sure that'll come as a huge shock to the thousands of programmers who have been happily working on unix-derivative systems and tools since the 70s. Quick, someone phone Linus, RMS, Ritchie, Knuth, de Raadt, Bernstein etc and tell them they've got it all wrong!
- tolgafiratoglu, on 04/30/2008, -0/+1No, I don't say that way. But if in any language there's a huge team work pattern based design is a good thing. If there's a chance to work pattern based, coder should better use that way, if there's not, there's not, so procedural is the only chose. The best of best is to combine object oriented and pattern based design.
I don't know how Linus worked in his project, it's not my profession. But it's kind of an innovation. For Linus, completing that work is a revolution, which world needs and no matter how his product was released in its first days. Few of us really can handle such a programming task (not me, I guess), and in that programming issue, there're more important things than pattern. But in programming process, yes, pattern based design is an important thing, there'd not be that many books and scientific work on that area otherwise.
Do what you believe and how you know. But believe me, saving today can "sometimes" sink tomorrow, but for important number of projects a programmer create, there can be no need for a pattern based design.
What I'm talking on is huge projects. In web development a community portal or a search engine can be such huge project. Pattern can be based on architectural needs or other needs, in arc. needs MVC is a good chose as an example. But to create a very simple company site, or a Facebook Application, no need to run an MVC-Framework
- tolgafiratoglu, on 04/30/2008, -0/+1No, I don't say that way. But if in any language there's a huge team work pattern based design is a good thing. If there's a chance to work pattern based, coder should better use that way, if there's not, there's not, so procedural is the only chose. The best of best is to combine object oriented and pattern based design.
- covertbadger, on 04/30/2008, -0/+1So you're saying that everything written in, for example, C - a procedural language - is repetitive and impedes teamwork? Wow. I'm sure that'll come as a huge shock to the thousands of programmers who have been happily working on unix-derivative systems and tools since the 70s. Quick, someone phone Linus, RMS, Ritchie, Knuth, de Raadt, Bernstein etc and tell them they've got it all wrong!
- tolgafiratoglu, on 04/30/2008, -0/+2Yes, some scalable projects don't need patterns. But if you're developing something which can be coded for the next 10 years, you should find a very modular standard which leads team-work and walks in the way of "don't repeat yourself". That way doesn't have to be MVC. Any pattern is OK, as long as it's a modular standard good for team work. We all know that procedural coding is not good for none of these.
- covertbadger, on 04/30/2008, -3/+1Aargh, beware the bandwagon. Who's to say that in 10 years we won't be sneering at MVC? And who's to say that a procedural approach isn't the right way to tackle some problems? Never assume that what we are doing today is automatically right.
- asus2000, on 06/30/2008, -1/+2When you walk into a programmer's office and see a shelf full of new books you have to look at the creases formed on the book's binders to see if anyone has actually cracked them open or if they're just being a POSER WANNABE!
- covertbadger, on 04/30/2008, -1/+3Or you could, y'know, ask them a few questions to get a feel for their knowledge. I look after my books - I've worked through SICP a couple of times and yet the cover is still pristine. On the other hand, a colleague at work has a brand-new uncreased data structures book - but that's because he's had to buy it again after using the old copy so much it fell to bits.
Have you ever heard the phrase "don't judge a book by its cover"? It's remarkably apt here. - Spektr4, on 04/30/2008, -0/+2I worked with a guy like that--some of his books were still shrink-wrapped! However, he was a great programmer. He just had a habit of buying books and not reading them.
- covertbadger, on 04/30/2008, -1/+3Or you could, y'know, ask them a few questions to get a feel for their knowledge. I look after my books - I've worked through SICP a couple of times and yet the cover is still pristine. On the other hand, a colleague at work has a brand-new uncreased data structures book - but that's because he's had to buy it again after using the old copy so much it fell to bits.
- asus2000, on 06/30/2008, -1/+129 out of 10 programming books are mostly for reference and should be used as such. There is no sense in "reading" one of those from cover to cover. Philosophical texts however are a different story.
- swizz, on 04/30/2008, -0/+1amen brother
- bromanct, on 04/30/2008, -1/+3I will make an absolute statement and wait for people to agree or disagree. In the end, it will accomplish nothing but waste time.
- Diggyan, on 04/30/2008, -0/+4If you guys want to read a programming book full of awesomeness, then go for "Code Complete". It's the best computer book I've ever read. Fun to read, simple examples, very useful contents and can benefit any programmer in any language.
- toastmonster, on 04/30/2008, -1/+3Give me an API reference and a command line over a book any day. Most development libs/langs have a faster release cycle than the time it takes to get anything to press, but there are heaps of cool sites and blogs out there with tutorials and screencasts that release new material the day incremental releases come out.
- covertbadger, on 04/30/2008, -0/+2Except that new language features are a tiny, tiny part of becoming a good programmer. If you do all your learning from API references, you will get no exposure to all the much more important stuff you need to be a great developer. You know, data structures, algorithms, design, math, that sort of thing.
- spaceyraygun, on 04/30/2008, -0/+2it's easier to use the internet as a resource if you have dual monitors. but flipping back and forth between your editor and browser is annoying on a single view. besides, the internet makes it more likely that you'll just copy and paste and not learn anything. i love my o'reillys!
- karapuz, on 04/30/2008, -2/+1Good idea, books are good.
But what's with the Amazon affiliate links to books?
I think this article is just an idea by the author to earn some cash from Amazon.- darkism, on 04/30/2008, -0/+3The article is about books. An article about books will naturally include links to buy said books. Not using affiliate links is leaving money on the table and just plain stupid.
God forbid the guy try and squeeze a few dollars out of something he took the time to write.
- darkism, on 04/30/2008, -0/+3The article is about books. An article about books will naturally include links to buy said books. Not using affiliate links is leaving money on the table and just plain stupid.
- coustoe, on 04/30/2008, -0/+1This is so true, I never buy programming books anymore. The industry and technologies change so fast (6 month cycles), really im not going to buy a book on .net 3.0 when it becomes obsolete when .net 3.5 comes out, and as long as you have the fundamentals all you need is the SDK and some good reference web sites to code these days.
But I agree there with the author there are some great paradigm shifting fundamental books that you must read that were probably never given to you in college. But those are far and few in between.- NailerNforce, on 04/30/2008, -0/+3That is why you read books about core programming techniques which apply to everything you do.
- Seph7, on 04/30/2008, -1/+2I hate reading anything where ctrl+f /cmd+f doesn't work.
- JQP123, on 04/30/2008, -0/+1I've occasionally considered writing a book titled; "How Programmers Effectively Killed Their Own Profession". But since programmer's don't really read or care about being "professional", there's obviously no market for it. It's kinda sad but about the only thing that many programmer's really care about --- is their computer. The display monitor is their primary source of stimulation.
- NICU, on 04/30/2008, -0/+1People turn to the internet because they're lazy, I mean because its faster and more efficient. I do it too - its faster and more efficient (and I'm too lazy to open my dusty books).
As a programmer myself, books on programming suck. Read other books about business or economics or anything slightly job-related that you find interesting. Read Joel on Software, that's one of the best books I've ever read. Just read something, its a great way to get away from your computer screen and you just might learn something useful. - catfart, on 04/30/2008, -0/+0Well, you still have the chance to read those books online, using services like www.books24x7.com. At least you'll have the latest editions for the same subscription.
- Kotoyumu, on 04/30/2008, -0/+0Well its more like if I can't find a book on it near, without ordering it, then I turn to several sources online to study on. Yet, if I can get a book on it, then I would.
- username484767, on 04/30/2008, -1/+2I code, have been for 20 years, never read a programming book
- diggydougie, on 04/30/2008, -0/+1But there's always the occasion where no matter how much you search the internets you come up empty. And then you crack the book and there's the answer on page x.
- catfart, on 04/30/2008, -0/+1Sometimes the answer is in the preface indeed. That's why I like programming books, they will not teach you everything, but a good book will save you a lot of time.
- NailerNforce, on 04/30/2008, -0/+2As a programming student just about to finish his degree I can definitely say that there is a huge difference in skill between those of my peers who read programming books and those who don't.
- BlaenkDenum, on 04/30/2008, -0/+1I started with books back before I had Internet. I then began to just use online documentation when I got 56k. I would read Deitel programming books while other kids played counter strike. The Internet definitely has helped out more though.
- SabrinaHeaven, on 04/30/2008, -0/+2A direct consequence of this "intelligent" approach: Nobody can write tutorials for *****.
- Spektr4, on 04/30/2008, -0/+1I can recommend Don't Make Me Think. It's interesting and a good read. You won't think about design the same way after reading it.
I hope I'm not weird, but I look forward to finding a good programming book and reading through it, the same way a normal person might pick up a novel. - fuzzynyanko, on 04/30/2008, -0/+1I agree with his point #1. For every 8 books I bought in the past, 1 of those were actually useful. Of course now I know how to filter the crappy ones from the good ones, so the ratio is down to around 0.75 bad books for every good book. It was sad that I bought the latest edition of a book for this one API, and later paid $5 for a used copy of a book off Amazon that continually references Windows 95, and the book written in the Windows 95 era is superior.
- njcu, on 04/30/2008, -0/+1Used to read them when I was back in high school when I didn't have deadlines but now it's easier to look something specific up online and test it out. If I used a book I would have to sort through basic theory which I already have a grasp of then read through the steps of the example just to find the bit of code I need. It takes too much time and I'm spoiled with the instant gratification provided by the net. I have on occassion had to resort to books when the net sucks & I need to better understand of what the heck I'm doing, so I do have a large pile of books hanging around.
- boot20, on 04/30/2008, -0/+1I require books for things like syntax and basic semantics of the language (that I may have forgotten). Programmers DO read books and DO need them. However, most of the books out are crap. I need a quick walkthrough of the gotchas and the stupid things NOT to do.
Perhaps the current batch of writers need to go back and read the K&R book to see how it should be done. - HeavyWave, on 04/30/2008, -0/+1"So in a sense everything contained in this book has already been written one way or another. The newest information will never be in print, that’s just the nature of the web."
Books, web pages - they are all just a way to present information. - gfox, on 04/30/2008, -0/+0I've recently been teaching myself to use Dreamweaver and learn css. It would be impossible for me without a book. I don't care how much fiddling around and looking on the internet I do, I'm not going to find a comprehensive source that tells me what everything does and how it all functions much less how to layout a page in css. (I'm learning from Dreamweaver CS3, The Missing Manual).
- techbuys, on 04/30/2008, -0/+0Most programming books teach syntax, and sometimes give some actual routines or simple applications that may or may not be useful in the real world. I think it would be much more helpful if books taught proper programming TECHNIQUE... this is not something you can find on the Internet by doing a Google search. And it might help improve the quality of the stuff out there (coff coff vista coff coff)
- nicko68, on 04/30/2008, -0/+1I hate reading books. Thank God for Google.
- nmyra, on 04/30/2008, -0/+0i second this
- ninesky01, on 04/30/2008, -0/+3yeah, whatever... if you're a PHP programmer... okay, search google. try and learn C++ from the web... ha ha ha...! sure...
the web is good for errata though... and learning a new technique. but learning an entirely new language is crazy.
actually, i should clarify. sure you can learn anything from the web... but, your style will be broken with a hodgepodge of strange styles and methods, and it will take you twice as long, if not more time, to learn how to do it.
books are a nice linear way to learn a new skill.
PEACE - baldbean, on 04/30/2008, -0/+0They both have their pros and cons of course. Books allow me to write and make notes on specific pages. On the web, I usually run into the same source code and explanation as the last page I looked at. Though the web has a **** load of terrible code, it is cheaper than going to Borders everytime a new SDK is released. What really annoys me though is how people just copy paste code from the web into there own project. That's how you learn alright.
- p0tent1al, on 04/30/2008, -1/+2Books and education (college or not) in my opinion are the best way to build a great foundation in a language. Why is that?
* If you attempt to jump straight to the internet to learn a language, you will be overwhelmed by all the different programmers who all do things a different way, have different naming conventions, etc. When you first start out, you should learn to do things consistently, and you can't get this from looking at 10 different tutorials from 10 different sites.
* Many times on the internet, programmers disagree. Go to a forum and ask a question, there is a significant chance that you may get 2 entirely different answers. You may also get an answer that is wrong, which is not too rare when your asking on the internet.
* It is fairly easy to find a great resource for a language you are looking on Amazon or a book store. Attempting to scour the internet and gain a well-rounded understanding of a language? Good luck.
Some tips about using books to further your education:
* Like the author of this blog states, the signal to noise ratio of the books out there is absolutely horrid. You can't wander into a bookstore without prior knowledge of a language, and pick the book with the prettiest pictures on a fancy; without knowing the language, you have absolutely no idea if the book is going to be good. You should only buy well reputed books that are known in the community. Checking a books reviews on Amazon is also a good way.
* Do not buy Dummies books. You know, "(insert language here) for Dummies". Every one I have ever owned is absolute garbage. When I first started programming when I was in High School, and figured out that programming was what I wanted to do with my life, I actually picked up a Dummies book. I got halfway through the book and got stuck. I tried for months to troubleshoot my code, and eventually gave up. Years later I eventually got back into programming (thankfully), and found out much to my chagrin that said book had multiple errors and was impossible to get through if you were going straight by the book. Just trust me on this, Dummies books are decent sources, but for every Dummies book, there is a book that is much better on the subject.
* Code "while" reading. Don't attempt to read 2 books and THEN start coding, it never, never works. You should read a little, try a little, read a little, try a little. Also you should always get to the point where you want to try out something fun, and then you start to piece it together, using knowledge you already know, and looking up anything else you don't.
* Once you have a great foundation under your belt, THEN you can move to the internet, and start learning great tutorials and such. Most of those tutorials are aimed at people who have at least a basic understanding of the language anyways.
Just my 2 cents, I wished I would have known all of this when I had started. - tama00, on 04/30/2008, -0/+0Anyone who learns to code by using the internet learns to copy. Im sorry i have to say that cause in all my cases with dealing with people who have learnt of the net its true. they think oh no i dont know how to solve this problem, eh ill just google it and copy their code and then they add that to all the code they have copied out of tutorials combined with the code they copied of their friends and when they get stuck they just post up on a forum and copy someones answer.
in contrast to someone who learnt it themself from a book knows design methods correctly and the steps to solve problems which they have practiced instead of copied. i could go but any real programmer knows what im getting at. - Filter, on 05/01/2008, -0/+1The internet is where I learned to code for the most part. I did pick up a book but it only taught me some basic principles not how to code.
- jdupez, on 05/01/2008, -0/+0Programmers do read books. You need to know how to read before tackling a programming book!
I am learning a java course using mainly the book. Yes it takes intelligence to learn from a book, and its one of the best ways to learn (assuming it has programming projects)
Browsing Digg on your phone just got easier with our enhancements to the