As I am a full-time mainframe/USS/UNIX/PC middleware programmer using various languages I was interested in reviewing this book for one main reason; its relevance to my job.
I don't generally like books of this size. Nearly 1400 pages is rather too many for my taste and suggests that the authors may have tried to put in too much material. In this case my feelings are confirmed, it isn't the sort of book that you can dip into while commuting - it wouldn't even fit in most briefcases.
As an experienced programmer who has used many different languages, I asked myself before reviewing it what would I expect from a book entitled 'C# for Experienced Programmers'. My answer was that I would expect that a book that showed how C# differs from, or is similar to, other languages that I know or have used before. Such a book does not necessarily need to be either long, or to contain many 'run-able' examples. What it does need to do is to highlight the syntax of the languageand, in particular, any areas where this is unusual when compared to other commonly used languages such as C, C++ and Java. I have mentioned C, C++ and Java because they are modern language implementations that are likely to have been used by most of the intended audience for this book. Older languages such as COBOL, FORTRAN and PL/I are rather different in style and programmers who are only experienced in these would need, in my opinion, a different type of book.
What this book provides is not what I would have expected. In fact I have to ask myself just what do the authors think 'experienced' means? There are about 150 pages describing Object-Based and Object-Oriented Programming with copious example code and coverage of how to use an object browser. A further 100 pages describe GUI concepts with yet more code and pretty GUI windows. So there are 250 pages describing concepts that anyone who claims to be an experienced programmer in any sort of environment must, at least, have been aware of and hardly needs a tutorial such as this to show them the way forward.
It gets better! There are 50 pages about XML and DOM: more concepts that any programmer worth their job would be aware of, especially if they are experienced. What next? Database concepts and SQL - well no experienced programmer would know about those, of course. The appendices are worse - how many experienced programmers need to know about number systems, job opportunities, HTML and XHTML?
If you are getting the impression that I didn't like this book you are right - but only because it not a book for what I would call experienced programmers. They simply don't need the masses of code examples and in depth explanations that it provides.
Deitel and Deitel ought to decide what this book is about. Is it about C# or the .NET platform? Is it about XML or HTML or XHTML? Or maybe it is intended for ex-mainframe programmers, in which case I don't think that one book, even of this size, would be adequate. Somewhere in the introduction or the book jacket the target audience should be made clear.
I think the book might be better titled 'All you ever wanted to know about C#, .NET and then some', but even then it fails in some ways. I wouldn't recommend it to anyone that I consider an experienced programmer. No doubt some people will like it and buy it - I wouldn't have looked at it in a bookstore just because of the size. It's handy as a doorstop, though. Not recommended.