Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What's the worst programming-related or technical book you've ever read? This can be any book which one way or another can be connected to programming, as long as it's not fiction.

share

locked by Yannis Rizos Jun 24 '13 at 1:01

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Mark Trapp, Rachel, Jonas, Homo Sapiens, ChrisF Oct 16 '10 at 17:51

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

10  
I was browsing my library, but I wasn't able to find it... Probably because I throwed it into the trash... I can't even remember the title, but that was about COM+ –  user2567 Sep 24 '10 at 9:44
2  
Fictional as in the book doesn't exist? Or fictional as in a fiction book? –  Joe D Sep 24 '10 at 16:05
1  
and where is the reopen btn? –  mlvljr Nov 11 '10 at 0:59

28 Answers 28

Worst. Book. Ever.

It's the size of a phone book, and it's laid out like a sort of recipe book. It's basically a massive collection of thousands of code snippets for accomplishing various tasks, taken completely out of context and often wrong or broken or dated.

The only thing more hilarious is their follow-up book, Jamsa's C/C++/C# Programmers Bible. Because those languages are totally interchangeable, right?

Would you buy a book on programming from this man?

share
4  
+1 for C/C++/C#. Actually, I'd like to do a +1 for C/C++ as well. –  alternative Oct 17 '10 at 12:52
1  
+1 for mentioning C++/C# interchaneability... I use C++ codez in my C# all the time. –  Anonymous Type Dec 29 '10 at 3:31
3  
What's next... C/C++/C#/Java? Or Perl/Python/C++/Ruby/Java/VHDL/Prolog? –  muntoo Sep 15 '11 at 4:19

There are far too many to list.

All of the SAMS books qualify.

I generally don't care to remember the dumb books. I sometimes just rip them down the spine (if they are paperback) and throw them out or burn them. I have not bought too many books recently.

share
7  
You could still name one or two. –  zneak Sep 27 '10 at 18:27
3  
You burn books?!! –  Rook Sep 15 '11 at 4:35

book cover

Verification of Sequential and Concurrent Programs, Second Edition, by Krzysztof R. Apt and Ernst-Rüdiger Olderog.

Maybe it was the subject matter, but I distinctly remember this as being the driest book I have ever read. Getting all the way to the end was a genuine soporific challenge.

share

How to do everything with PHP and MySQL by Vikram Vaswani. That book set me back so much when learning programming at first. Horrible code, constant mixing and matching of code and markup, complete ignorance of OOP the barest nod to security throughout and just plain ignoring PHP5, which even then, wasn't exactly brand new.

I wrote a blog post on programming books in which I had this picture comparing the two first PHP books I got.

Compare the size

Guess which has the more accurate title?

share

Head First C#. Shame to the Head First family IMO.

alt text

share
8  
can you elaborate why you think this? –  RodH257 Nov 6 '10 at 2:19

Programming Microsoft Visual C++, 5ed (Kruglinski, Shepherd, Wingo)

Not that the book was bad, but its title is very misleading, especially to people new to C++. The preface of the book promises to teach you how to program in VC++, and a background in C but not C++ is all you need. Truth be told, you absolutely cannot learn anything about C++ from this book.

I owned this book for about 10 years, and recently (after working for a C++/Windows job for 4 years) I started to find a few chapters to be a bit useful when explaining stuff to new hires.

People wishing to learn Windows Programming are advised to: (in chronological order)

  • Learn C (and preferably get a CS degree)
  • Find a C/C++ project team and join it, and focus on the pure C/C++ part of programming to master it
  • When something is needed, learn straight from MSDN (it has improved a lot in the last 4 years). Ask your coworkers for code snippets.
  • Finally, read this book. It will start to make sense.
share

A Computer Science Tapestry: Exploring Computer Science in C++

This was assigned reading when I was in college. Apart from being totally soporific, this book presents things in such a convoluted way, I doubt I could have parsed it without prior programming knowledge: most of my class, in which there was only one experienced coder beside myself, was completely lost.

I gave up after reading only a fraction of the book and tried using it to hold up the end of a wobbly bookcase. It wasn't great at that, either: a little too thick and the cover was slippery.

share
  1. Anything and everything written by Herbert Schildt. Calling this one book is probably a bit of a stretch -- it's more like an eternal case of food poisoning committed to paper.

  2. Fractal Programming in C, by Roger T. Stevens. As Leonard Plinth-Garnell would have said, "Exquisitely awful!"

  3. Numeric Recipes in [C | C++]. Lots of "recipes", but 1) the code is really Fortran with C-family syntax, and 2) many (most?) of the algorithms is propounds are numerically unstable and generally best avoided.

share

It has to be "Wicked Cool PHP"

I bought it because it had a robot with a hammer on the front cover,what could go wrong? I thought. Turns out everything. Pointless examples, terrible code and incorrect security information throughout.

alt text

share
3  
I bet you never buy another book with a robot and hammer on the cover! –  kirk.burleson Nov 15 '10 at 1:50
4  
You would think that Kirk... –  Toby Nov 15 '10 at 20:26

I can't remember the name - later I might see if I can dig it out - but there was an ASP.NET book I had that had all the code snippets (and there were a lot) as Visual Studio screenshots. It seemed cool at first because it showed me exactly where to go in the IDE (I was just learning at that point). After a while though (Chapter 2, I think), I found I knew where everything was and I was just finding the shots too difficult to read.

Pro C# by Andrew Troelsen was mostly very good, but someone needs to teach the man to use examples properly. He'd teach one technique for a topic (let's say multithreading), then teach another and compare the two. The problem is that rather than simply updating the first sample with the new code, he'd write a totally new application that does something totally different, and throw a bunch of extra concepts into the mix as well.

share
  1. Let Us C - Yashavant P. Kanetkar

  2. Object Oriented Programmig with C++ - E Balagurusamy

share
3  
+1 for the swcond one. This book is not known outside India at all, but is quite famous in universities in south india. Perhsps the fact that the author was the vice chancellor of a university helped this fame. The contents are more like it was written by someone who just completed a semester in C++. –  Nivas Oct 15 '10 at 7:29
6  
+1 for "Let Us C" for the name alone. Ouch. –  Anna Lear Oct 15 '10 at 13:04
1  
@Nivas : Yeah ! Both Bala and Kanetkar's books are crap still most of the students in Indian universities are referring that book. –  Chankey Pathak Oct 15 '10 at 16:43
2  
I would upvote this more times if I could. Both Bala and Kanetkar have destroyed many many young minds. –  missingfaktor Oct 16 '10 at 9:43

Hardcore Java

alt Hardcore Java

This book was written by a person that truly did not understand the finer points of java. He didn't even understand by ref or by val parameter passing. I'll quote the top rated amazon review: (it's a 1 star)

In the preface, the author states that the goal of this book is to transform a developer from the intermediate level to a true guru. In the back cover it even promises that "you'll master the art of writing error-prone (sic!) code", and the reference to "error-prone code" sadly finds its confirmation once one starts reading.

It takes about two chapters to demolish the author's credibility as a guru, and you will be reading the rest of the book with a skeptical eye, doubting every assertion that looks questionable and suspecting that the author is talking well above his level of competence, and patronizing about it too!

The first chapters are an atrocious review of some Java concepts, densely packed with serious mistakes, not typos, mistakes (plenty of typos too).

As an example, on page 9 the definition of the `for' statement is wrong, a simple check of the Java Language Specification would have spared the author some embarrassment.

On page 15 the author gives us wrong rules for labels in Java, and in the same page he confuses the logic of the 'break' and 'continue' statements, providing also a logically wrong code example, just to screw-up things even better.

I would not know how to describe the section on "Chained deferred initialization" on page 53, "raving" maybe. This one is cited in the errata page at oreilly.com, and the "author regrets that it slipped through the proverbial cracks". I am more concerned that something like that has been actually written (complete with code samples!), than that it has passed unscathed through editing and reviewing. Let's hope it was written by somebody else playing with the author's laptop. Somebody who does not know what JVM means.

There are also less severe but equally confidence-abating points, like, on page 25, the form:

new String("A button to show" + text);

which we should not find in books for guru wannabes.

The author is probably a productive software architect, some points, later in the book, are interesting, though nothing could be defined advanced, but he does not know Java better than an average developer, and this book does not add very much to an intermediate level, apart, maybe, from a warning about writing books: writing a book can transform you from a good developer into a bad author.

It is sad that we are flooded with such mediocre and unprofessional "error-prone"publications from such once reputable publishers, from time to time I still re-read and enjoy the conciseness, clarity and value of classics like K&R's "The C Programming Language" and I wonder why today's output is so vastly inferior.

As one of the few exceptions, I strongly recommend Bloch's "Effective Java" (Addison-Wesley) which is truly a book written by a guru. After reading that one, "Hardcore Java" will seem even emptier.

Its errata on O'Reilly is (last time I checked) 20+ pages long.

edit: just checked it, default settings in word, it's 23 pages long.

share
1  
If you notice, the current page for the book says there's no errata for the book. You have to dig it out. –  Malfist Oct 15 '10 at 13:26
4  
O'Reilly books are very poorly edited... I am not impressed with them as a publishing company. –  snmcdonald Oct 25 '10 at 1:59

I still remember how bad this book was:

Oracle9i: A Beginner's Guide

Oracle9i: A Beginner's Guide

I was angry reading through it. I'll quote from my Amazon review:

Almost immediately, I was disappointed: Chapter 1 is a tribute to how amazing Oracle is and how godlike Larry Ellison is and it's filled with pages and pages of revenues and sales. What a waste of paper. Then Chapter 2 tells me how to use newsgroups and Google: more wasted paper. I come to Chapter 3 and I think I finally get into learning something. Then I notice they concentrate on Sun Solaris as the operating system which isn't very helpful to a person trying to learn this on his own at home.

Then on page 84 I read, "In earlier releases of the Beginner's Guide, we walked you through the Oracle server installation. With Oracle 8i and now 9i, it's too big a topic to cover in a book this size." That's how they start out their step-by-step walkthrough of setting up your first Oracle database. Oh, the last step reads, "12. Read the rest of this book." To me, the book wasted 80 pages then tells me installation would take too long. Very disappointing.

share
3  
sounds like a waste of paper! –  Matt Ellen Sep 24 '10 at 10:37
1  
You don't run Solaris at home? I did during that window of time when it was free... –  Brian Knoblauch Sep 27 '10 at 17:47
4  
Wow. Sounds like an amazing book. –  Vetle Oct 4 '10 at 20:14

The worst book I ever read was Ingegneria del codice by McConnell Steve.

alt text

Yes, it is the Italian translation of the best book I ever read: Code Complete. But the translation was so bad that I had to buy the original version. It has been the last translated technical book I bought. Since then, I only read technical books in English.

share
28  
+1, translations (in any languages) ar almost always bad. –  MAK Sep 24 '10 at 14:05
7  
+1 Oh yes translations. French is my native language, and I had to buy original books a couple of time. Now I buy the original version and no more translations. –  user2567 Sep 24 '10 at 14:17
5  
@gablin: I'm pretty sure he means "Are there any programming books worth reading in any language other than English?" –  Tim Goodman Sep 27 '10 at 20:27
2  
@Mark C: are you on extacy or something like that ;) ;) ? 6 big comments in 30 minutes. Why not asking a question instead ? –  user2567 Oct 15 '10 at 9:15
3  
@Mark C, easy now. The basic problem is that a translator needs to be very well technically founded to be able to understand what to translate, and orally well founded to be able to express it fluently in another language. I believe editors have simply underestimated this. –  user1249 Nov 28 '10 at 2:46

Oh, and, well, controversially, this, I guess:

Stroustrup 3rd ed

Stroustrup's The C++ Programming Language, third edition. It's not the worst programming book I've ever read by a long chalk, but it's certainly the most disappointing.

I remember liking the second edition, which was, at least, an attempt at writing in the same terse style as K&R's C masterpiece. Sadly, that edition predates templates and other features of the modern language, so isn't much use today.

The third edition jettisons any attempt at that terseness, ending up with a book three times as long as its predecessor, filling up its pages with endless tedious discussions of the author's ideas of best practices for object-oriented coding and software development in general.

Somewhere in between all the rambling there's a description of how the C++ language works, but good luck finding it. It's a sprawling mess of a book.

(Much like the language, eh?) (Sorry, that was uncalled for.) (Well maybe a bit called for.)

share
7  
I actually read it cover-to-cover in school and thought it was a decent read. Am I the only one who likes this book? –  Doug T. Oct 15 '10 at 15:54

Pro PHP Security

Pro PHP Security by Snyder & Southwell for Apress.

Whilst I've met a lot of webdev books and tutorials with an extremely poor attitude to security (hence this cry for help), this book reaches new depths by having code packed full of security holes in a book that is supposed to be all about security.

I never read it in full, with loads of chapters barely touching on PHP, but even a cursory flick through revealed HTML-injections (XSS) in almost every example, even in the chapter about how to avoid XSS attacks. There's SQL-injection. There's directory traversal. This is in the ‘how to do it’ examples, not the ‘here's a common mistake to avoid’ bit! There are even (inadequate) suggestions on how to ‘safely’ use eval and system, which could much more sensibly be replaced by the word ‘DON'T’.

What solutions it does offer are largely wrong-headed and discredited approaches based on ‘sanitising’ or randomly escaping at the input stage, instead of really understanding how text escaping works and how you need to do the right kind of encoding as and when output in a particular format is required. This misunderstanding is a widespread cause of broken apps and it is heartbreaking to see it in a ‘security’ book. And then there are the totally bizarre recommendations like adding an ‘admin lock’ column to all your tables to try to enforce access logic. Whut? Oh, and the code's a mess of mixed-up logic and markup, natch.

4 stars at Amazon! Buy your copy now!

share
1  
It does sound wonderful! I'll have to keep an eye out for it. –  bobince Oct 15 '10 at 23:11

Pragmatic Version Control using Subversion - Easily in the bottom rung among all the Pragmatic Programmer books I've read till now. Extremely thin on content. Some might argue that this book is for absolute beginners who are starting out with version control, but that's rubbish - whatever the book has, is not actually worth writing a book for.

share
3  
Agreed. The free online Subversion book (svnbook.red-bean.com) is much better. Also, the index in Pragmatic Version Control using Subversion is useless for finding what you want. –  Dan Dyer Oct 2 '10 at 15:59
1  
@SnOrfus: I use command line svn all the time -- both on the linux servers, and locally on my Mac. I have a svn GUI (Versions) which is great for browsing, looking at logs, blame, etc, but I find it faster to pick out specific subsets of files to commit, or look at logs for specific date ranges, via the command line. –  khedron Oct 16 '10 at 18:34

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

The shame was that I love DDD, love the ideas presented in the book and the author is intelligent and knowledgeable; but I've tried reading this book through maybe 5-10 times now and just can't do it. The author needs to know when to stop talk, stop going on tangents, stop providing 'did you know' or 'story about this paragraph' sections on damn near every single page and stop trying to name drop on every paragraph.

Bottom line: The book's got some good information/ideas, except that they're buried in so much BS, that you'll never get to them. This book could have been 1/4 its content, and it would have been good.

share
1  
I agree with SnOrfus. This one seems like it should be great, but it reads like a stream-of-consciousness rant. Sometimes I'm in the mood for it, but in general I prefer a little more structure in a book. –  Chris Farmer Sep 27 '10 at 13:50

This book was our reading list for a module on C++ in college.

It seemed to be a kinda of 2 for 1 purchase so we wouldn't have to buy a UML book.

The book's huge size combined with no flow and an obsession with ants is why it get my vote.

alt text

I think it may be in the running for the worst cover on a computer book.

share
11  
Kinda messed up how a book about programming loves its bugs so... –  cHao Sep 24 '10 at 16:56
6  
@cHao: Well, it is a C++ book... –  Mason Wheeler Sep 27 '10 at 16:20
2  
+1 for "obsession with ants". That made me lol. :D –  missingfaktor Oct 16 '10 at 12:24
3  
That's the most amazing cover I've ever seen! –  muntoo Sep 15 '11 at 4:16
1  
And the emphasis on Web programming? WTF? Who the heck uses C++ for that? –  Marnen Laibow-Koser Oct 10 '11 at 0:40

Programming in C++ by Dewhurst and Stark:

Programming in C++

It may not have been the worst ever. It makes my list because the first edition cover looked exactly like K&R's The C Programming Language, so I was expecting a work of similar quality. I got a copy 20 years ago, just as C++ was starting to get widespread notice. This book taught the syntax, but it did nothing to show a C programmer how to take advantage of C++'s features. I found it a very frustrating book.

share

I've come across lots of bad programming books, but those have always been ones that I just happened to come accross (e.g. in a bookstore, at a friend's place etc.). The only really bad book that I have ever bought and tried to follow that turned out to be utter garbage was Java 2: The Complete Reference by Herb Schild. The TA actually recommended that book.

alt text

I spent the whole semester wondering why that book was filled with irrelevance (that book isn't sure whether it is a tutorial or a reference IMHO). I know of some people who have liked it and claim they derived some benefit from it, but I just ditched the book near the end of the semester and focused on the class notes. Later on I found better books on Java, and really learnt the language.

Edit: Someone actually "borrowed" the book from me after some years, and failed to return it. So, I guess a least one person liked it.

share
8  
Herb Schild: that explains a lot. He has a long history of poor (to put it nicely) C and C++ books. –  Richard Sep 24 '10 at 17:07
1  
I've got that one. I didn't think it was bad, but I didn't think it was especially good either. I got what I needed out of it. –  Brian Knoblauch Sep 27 '10 at 17:49
2  
Someone once said "If you want to before a java guru, this is the book for you". Some professor once remarked "This is an advanced book. Read it after knowing the basics of Java". The "Complete Reference" tag has a great influence on college goers and professors in India. –  Nivas Oct 15 '10 at 7:25
1  
@MAK I completely agree. I had a copy, and I became no Java guru with this book. What I meant was this book is considered a great one in some universities here. I and thats bad news because thats where people start learning these stuff, and whatever book the professor suggests is considered good. I myself don't like this book. –  Nivas Oct 15 '10 at 9:01
3  
Anything by Schildt is on my avoid list, and not just because Peter Seebach ripped him to shreds on his first book on C. +1 for this. –  Tim Post Oct 15 '10 at 12:54

I have yet to come across a book that I haven't found useful.

I don't know why that is, but it is the way it is, isn't it?

share
3  
Perhaps you haven't used any terrible books, or perhaps you are too generous: A book can be useful but still cost ten times the time and effort to glean the same value of another book. –  Mark C Oct 15 '10 at 8:17

Please forgive me... I was in college and was fascinated with Y2K. The book proved to be boring and like the hype, was all sensationalism. Complete garbage.

Time Bomb 2000

share
2  
Y2K was the most sensationalism which I ever see on programming. It was a real, but not that much. –  bigown Sep 24 '10 at 16:54
3  
Yes but there was a method to the madness, IT shops found it a great way to get new equipment and people to fix some long-standing issues nobody wanted to pay for fixing before. Ther was lot of work charged to Y2K that had nothing to do with it but did have to do with the fact that it was easy to get money if you cried, Y2K. –  HLGEM Sep 24 '10 at 19:40
1  
I've already got my copy of "Time Bomb 2038" reserved. I just have to bank on UPS or whoever delivers it will have already switched to 64-bit systems by then. –  Workman Dec 18 '10 at 3:10
1  
+1 for asking for forgiveness. However I think we both know you won't ever be forgiven for buying this. –  Anonymous Type Dec 29 '10 at 3:31

Any book that allows you to teach yourself X in Y hours.

I've read some in the past but once read you don't know any details whatsoever about X and you can't use the book as a reference for X either. After discovering that it seems better to go for the big books.

share
3  
THIS. The only SAMS book I bought that "teaches me" VB.NET in 21 days was so ridiculously out of sync with reality that I literally threw it away. –  Jonn Sep 24 '10 at 15:21
1  
I may get shouted down on this but I think as a corollary, the "C for Dummies" books were actually pretty good for what they were trying to do. The guy who wrote them invented the "for Dummies" concept (and sold it), so he was a pretty adept technical writer. They might not hold up so well now if I go re-read them but they did stand out to me at the time as a good exception to the "___ for Dummies"/"___ in ___ hours/days" being crap rule. –  Schnapple Sep 24 '10 at 15:54
7  
To me, the "for Dummies" books are great for what they are -- a compact (if less detailed) explanation of a complex concept, geared toward people that don't already know much about it. They'd probably suck as the only reference, but they go a long way toward helping someone who's new to the concept wrap their minds around it, without oversimplifying to the point of being wrong. That's more than i can say for a lot of other books. –  cHao Sep 27 '10 at 18:41

I don't remember the title, but I recently saw a high school text book for Visual Basic. The first two chapters were not about coding or even VB related (A history of BASIC would have been an improvement.).

The school could have saved a lot of money by just Googling 'VB Hello World'.

share

alt textalt text

If you find this crap in a tester's cubicle--immediately fire him/her. This book is for imbeciles written by an imbecile.

share
3  
What's wrong with it? –  Matt Olenik Sep 24 '10 at 14:01
5  
Everything. It teaches nothing, 0. The whole "book" is just a dumb list of outdated software and (very) naive paraphrasing of software QA terms. If a person finds something interesting in this "book" then such person cannot be in software development/testing. –  Henry Flower Sep 24 '10 at 15:11
2  
What if I find it nailed to the wall of the tester's cubicle with a dagger?... –  mjfgates Jun 21 '12 at 9:32

UML in a NutShell (1st edition).

UML In a NutShell

Essentially unreadable, needed reviewers to tell the author to start again with some explanation, not just a summary of the standards.

The 2nd edition, on the other hand, is readable and useful.

share
18  
But the cat is cute! –  Lorenzo Sep 24 '10 at 15:16
8  
@Lorenzo: The topic of cats' attempt to take over society by appearing cute is off topic. –  Richard Sep 24 '10 at 17:06
1  
I own 'Algorithms In a Nutshell'. The O'Reilly Errata section has over 50 entries last time I checked. The samples are horrible and most of them are wrong. The book fails to cover a few basic algorithms let a long complete them. 'In a Nutshell' is a horrible series. –  snmcdonald Nov 15 '10 at 1:03

We had a course at the university about knowledge systems. The book was real bad, it wasn't finished and hard to read. The teacher did not follow the book (although it was required for the course) and the exam consisted of multiple choise questions not related to both the book and the course. But fortunately the teacher reused questions of previous exams so the students learned them.

share
4  
This sounds like "bad prof" not (just) "bad book" –  Inaimathi Sep 27 '10 at 17:10
1  
"The teacher did not follow the book (although it was required for the course)" I could have said that for 75% of the courses I took in university. –  Steve Evers Sep 27 '10 at 21:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.