Programmers Don't Read Books -- But You Should

Hi Dude,

hows the Job at Amazon going? :wink:

Hi Jeff,
I read your blog for some time (almost a year) and I love it. But I just had to say; I disliked your comment about PHP. I know it was a joke, but stillā€¦

I started with PHP (as a regular script-kiddy ;), went back and forth between a whole lot of other languages (including REAL languages, such as Java), but am now back to PHP again. Why? Because the power of PHP is endless. And they keep developing the language, which is a good thing.

I just wanted this off my chest, because everyone who seems to call himself a ā€˜goodā€™ or ā€˜respectableā€™ programmer seems to dislike PHP. But I challenge every one of those programmers to get the best out of the language. Because what most people do with PHP might be lame, but what you actually CAN do with PHP is certainly not.

P.S: I blame the general PHP books for giving PHP its bad name. There are so many PHP books where the scripting (easy hack-fix mentallity) is explained, but almost none seem to care about the great OO-sides of PHP.

Things will be better for us PHP-programmers one day :frowning:

The quality of technical books varies, from author to author, from publisher to publisher. Around the time of the original Internet bubble, like the tech market, the book market was flooded with crap.

I think the typical quality has improved, but thereā€™s still a lot of useless stuff out there. You donā€™t need books on syntax ā€“ web references, rich IDEs, robust compiler messages and Intellisense-like features take care of syntax.

There are, however, certain software books worth reading. GoF, Fowler, most of the Pragmatic Bookshelf, McConnell, etc. There are also more technical books on specific products worth reading, like Richterā€™s stuff on .NET that really gets deep under the hood.

On that same note, there are LESS technical books that every good developer, or anyone with any sort of ambition, ought to be reading, like The Innovatorā€™s Dilemma and Crossing the Chasm.

Jeff,

This blog made a great read. It would be great if you could take a look at another problem which programmers need to look at. This would be the approach on taking up a new technology in a time constrained project. An analogy would be the following:

If you are asked to learn to drive a car within a specified time, does it make sense to spend some time and effort to learn rudimentary ideas about internal combustion engines, gearboxes and brakes? It is entirely possible to drive a car without knowing about anything under the hood. But does having the basic knowledge help in anyway?

I have blogged about the approaches at http://wesleyneo.wordpress.com/2008/05/01/learning-methodologies/ It would be great if you could provide some insights into this.

Thanks,
W.

No new blog today? Iā€™m guessing youā€™re not reading a book but are instead playing GTA4 non-stopā€¦

I read alot of programming books and canā€™t remember any language that iā€™ve learnā€™t solely with writing code. My style : read about the language , write some code and optimize code.Tech blogs are gradually replacing programming books.Is that a good thing ?

I found the Head First Design Patterns book to be a very easy and interesting read.

The Art of SQL was also a very useful book.

My view is there are four types of programming books ā€¦

1 : Overview how to - Most of your top 5 : no specific language (maybe for examples) but lots of explanation of why : Buy to Read

2: Getting started - Dummies guides, xxx in 48hrs etc - Mostly good books, but read once and throw away so better to read online? : Donā€™t bother? with a very few exceptions (The C Programming manual)

3 : Reference books - (overlap with 1) in depth algorithms and guides and lookup tables : Buy to keep

4 : How to Guides : Cut and paste step by step guides - Usually badly done, out of date, and mindless with no explanation and so worse than useless (except in a very few cases) : Avoid!

Using online tools is much quicker.

When I started programming, I read MANY books. Over time, as my skills improved, I found I read fewer books and used the Internet more. Looking back, I think that once I had the base skills I needed, learning new languages was just a matter of adapting to different commands/syntax.

I found a lot of my big thick ā€œreferenceā€ books at goodwill for about $2 each.

Mostly I refer to official manuals, but I also read books.

ā€œAnd yes, it will always be better to have a paper book of 900 pages than a big pdf file to read in a screen.ā€

Thatā€™s entirely a matter of habbits and opinion. If you just want to go read your book on the beach sipping your drink and look like in a movieā€¦ well, you have no other choice.

If you want to search trough books concerning your probmlem at hand, WHY would you have to get up from the computer and start flipping pages if instead you could enter a search and have the references list of WHOLE LIBRARY!!!

I would say there are (still) SOME uses for books printed on paper but I would be brave enough to say, that most of them are ā€œhistoricalā€ or traditional nature. Books on paper will be something you will see only in museums in 50ā€¦100 or so years, when everything will be digitized and recallable on devices with more convinient user interfaces.

Even today books are printed ā€œon demandā€ā€¦ which already tells me that itā€™s a thing of a convinence, not necessity.

Programmers should be first to drop this aristrocratic abstraction of information as ā€œbooksā€ and start seeing well packaged chunks of ā€œthe flowā€, ā€œlearning sessionsā€, ā€œverbal experienceā€ or whatever is suitable according to content. I understand this is a paradigm shift that will not be well accepted until generation (or two) changes.

This does not stop programmers as technologycally un-challenged people to adopt such attitude YESTERDAY.

Or as your article already kind of confirmed, they mostly have done this in one way or another.

So this is "A Good Thing"ā„¢. Programming books are prime candidate for trying out digital distribution models, go with it! And take your publisher on the ride with you.Then complain that sales have dropped.

Right now your article mostly says:ā€œLook, Iā€™m cool the old way! And you should be too, becauseā€¦ emmā€¦ ojeah! reading stuff on the computer display is shit!!ā€

My proposal: buy a better monitor. It probably costs only 2ā€¦3x more you paid for your current crap.

Personally I find programming books to be a great resource for building my programming skills/knowledge. I especially favor Oā€™reilly books.

frankly, i donā€™t think you can beat a good book when starting out in a particular technology. you can ramp up much quicker cranking out a book than piecing information together on the internet. for the quick answer, the internet is the best.

you can also gauge someoneā€™s knowledge in other tech fields by the books they have on their shelf. for example, i probably wouldnā€™t hire you if youā€™re an oracle dba and never read a tom kyte book.

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers) (Pragmatic Programmers) [ILLUSTRATED] (Paperback)
by Michael Nygard

It changed the way I think when I am programming. It helps me keep the big picture in view.

People donā€™t read books because they donā€™t care about why things work the way they do. Like any other profession or endeavor taken seriously, one needs to know not only the what, but the why.

I hear a lot of comments about the price of coding books. I am not sure what city you live in, but I live in Milwaukee, WI and have checked out your top 5 books (and many others) from our public library for free. True I donā€™t have them on hand as a reference, but that is what the internet is for. I am looking more for high level concepts. They also give me some direction in my internet searches.

My proposal: buy a better monitor.

Uh-huhā€¦ where can I get a 1000dpi high contrast display that requires no power to use, that I can scribble on and can be stuffed in my bag, thrown around and then read in the bath?

Iā€™d love to hear your example of a ā€˜better monitorā€™.
ā€œMan books are expensive! You can read this stuff just as easily for free on a $3000 monitor.ā€

I like Oā€™Reilly Safari and Google Books - very useful for looking stuff up quickly, but I wouldnā€™t want to read through all 960 pages of Code Complete on a screen - no matter how good the monitor was.

Can you honestly say you would?

Iā€™ve been wrestling with this train of thought for the past couple months. Not only are many developers not reading, some are refusing to embrace technology. Iā€™ve met developers who donā€™t own computers, refuse to even use IM etc, and who donā€™t read period. When talking with these developers you discover that most of their practices rely on voodoo, superstition, and 3rd party information. Itā€™s terrifying!

Iā€™ve been toying with the Knuth books, they look so fun, but in reality I donā€™t know how practical they would be. :slight_smile: