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.

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+
–
user2567Sep 24 '10 at 9:44

2

Fictional as in the book doesn't exist? Or fictional as in a fiction book?
–
Joe DSep 24 '10 at 16:05

28 Answers
28

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.

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.
–
JonnSep 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.
–
SchnappleSep 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.
–
cHaoSep 27 '10 at 18:41

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.

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.

+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++.
–
NivasOct 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 PathakOct 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.
–
missingfaktorOct 16 '10 at 9:43

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 worst book I ever read was Ingegneria del codice by McConnell Steve.

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.

+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.
–
user2567Sep 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 GoodmanSep 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 ?
–
user2567Oct 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.
–
user1249Nov 28 '10 at 2:46

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.

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.

Herb Schild: that explains a lot. He has a long history of poor (to put it nicely) C and C++ books.
–
RichardSep 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 KnoblauchSep 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.
–
NivasOct 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.
–
NivasOct 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

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.

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.

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

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.

Y2K was the most sensationalism which I ever see on programming. It was a real, but not that much.
–
bigownSep 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.
–
HLGEMSep 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.
–
WorkmanDec 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 TypeDec 29 '10 at 3:31

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.
–
Alexander GromnitskySep 24 '10 at 15:11

2

What if I find it nailed to the wall of the tester's cubicle with a dagger?...
–
mjfgatesJun 21 '12 at 9:32

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.)

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.

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.

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 FarmerSep 27 '10 at 13:50

@Lorenzo: The topic of cats' attempt to take over society by appearing cute is off topic.
–
RichardSep 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.
–
snmcdonaldNov 15 '10 at 1:03

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 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'.

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.

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.

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 DyerOct 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.
–
khedronOct 16 '10 at 18:34

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.

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.

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.

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.

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 COct 15 '10 at 8:17