Head First C#



Price: $31.49


Head First C# (O'Reilly Media, Inc.) - November 2007Publisher: O'Reilly Media, Inc. - November 26, 2007

ISBN-10: 0596514824, ISBN-13: 9780596514822

Author: Andrew Stellman
Jennifer Greene


778 pages


Head First C#





Customer Reviews

Good intro, but lacking in a couple of areas. 2010 edition is a must!

I have recently completed this book after starting a new job. I got the second edition (released in 2010), and I can say that the amount of errors is significantly reduced in this edition. I did not notice any as I was going through the book.

The book is a good intro to all concepts related to C# and .Net 4.0. I am an experienced OO programmer, and found the chapters introducing object oriented concepts to be rather tedious and excessive in their examples. I realize that OO programming is a difficult concept for many to grasp, but it was still too much. Honestly, aren't we getting to the point where these programming books can stop the heavy treatment of OO stuff? Kids are learning Java in high school these days, so they get a heavy dose of OO concepts early in their programming careers. Why do we need to keep dedicating 100 pages or more to objects in these books? But I digress...

I do have a couple of criticisms about the book. I found their treatment of events to be rather lacking. Events are one of, if not the most powerful tool to modern application developers, and there is only half a chapter devoted to the subject. The discussion they do have is pretty thin on examples, so I found myself having to experiment with the code they did provide to make them work. After this, the authors barely address events (custom or otherwise), missing several opportunities to show events in action. This leads me to my second criticism.

The book does not even mention decoupling of objects. In good application design, objects essentially use events to "talk" to one another. In this book, objects are handing out references to themselves freely to whoever wants one. There were several opportunities to make use of events to show decoupling of objects, but they chose not capitalize. After spending multiple chapters addressing encapsulation, inheritance, and even interfaces and abstracts, we can't spend even a little time on decoupling? I have seen this topic addressed very well in other books, and its a shame it wasn't done so in this book.

Finally, it would be nice to have a CD with the book containing code to establish a "base state" for each chapter. I quickly skimmed several chapters on concepts I was already familiar with. I was disappointed to find that later chapters were making use of code created in the previous chapters. Essentially, the reader is forced to do all the examples in every chapter. While probably by design based on the philosophy of the book, it was rather annoying as an experienced developer.

But overall, the book is a good one. With the exception of the (admittedly) minor issues above, it does a very thorough introduction of C#.

S. Brown
03 September, 2010


Great book for first time object oriented programmers

I have been out of coding for almost 10 years and decided to get back into it recently. Since I'm focusing on .Net technologies I thought jumping into C# would be the right step. I read most of the reviews for this book and the gist I got was: it was good for beginners, well written, but full of errors.

I have found only two of those to be true: The second edition of this book seems to be mostly error free. I'm about half way through and I *think* I've found only one error so far (this was very minor too). All of my code has compiled and I haven't had any issues at all. The book is very beginner oriented but moves at a good pace. The concepts come fast and things like class diagramming and coding styles are seamlessly worked in to the lessons.

The book teaches C# and object oriented programming from the beginning and I can't recommend it enough for someone who is starting out or has been out of the game for too long (like me). Make sure you get the second edition and you wont be disappointed.

evannever
01 September, 2010


Good introduction

Took me 1.5 wks to finish this book. Its got the great "Head First XXX" presentation format and layout that i'm used to and topics were presented clearly with lots of example applications you can work on and use those accumulated ideas to expand upon. Typos exist but which book doesn't?

One thing i found that wasn't there was topics related to threading and distributed programming. Not sure whether it has something to do with the sheer size of the book i.e. 800+ pages

Raymond Tay
16 August, 2010


Very satisfied customer!

Delivery on time and book in excellent condition.

As for the book content, I have never read a programming book that good in explanation while at the same time sticking to the point. I was able to start programming in a very small amount of time. I love it!

Fadi
30 July, 2010


Very satisfied customer!

Delivery on time and book in excellent condition.

As for the book content, I have never read a programming book that good in explanation while at the same time sticking to the point. I was able to start programming in a very small amount of time. I love it!

Fadi
30 July, 2010


Wonderful book brought down by poor editing and coding errors

This is my first foray into the Head First series and I must say I love how they approach teaching a new language. However, this book is far from perfect. It is plagued by poor editing and sloppy written exercises. I'm a second year graduate computer science student, and even I become quickly confused by the exercises due to the poor wording, and mistakes. I spend too much time trying to figure out not so much HOW to perform the exercise, but WHAT I'm suppose to be doing. The exercises tend to be poorly worded and/or have confusing errors which will have you puzzled. Otherwise, this is a great book and I love how it approaches teaching a new language. But the poor editing greatly brings it down. Into about chapter 7 I quickly lost any guilt in peeking at the solutions to the exercise, cause if you don't you'll probably being pulling your hair out trying to figure out what the exercise is suppose to entail.

Nicholas DiMucci
17 July, 2010


Follows the Head First model...

I've used two other HF books, and this one follows the same mold. Walks you through setup of your environment, and gets you coding quickly.

John Mark Locklear
01 July, 2010


Great book

I've been programing in VB.NET for a while and wanted to make the switch to C#. I had been programing in C# on some projects, but it was a struggle and I felt I was missing some of the framework basics.

This book presented the material in a great way and improved my understanding of .NET and C# considerably.

Highly recommend purchasing this book.


Don
23 June, 2010


Review in progress, 2nd Ed. (read before reading older reviews)

First, please understand this is my first review and I am still just a programming student and this is my first experience with C# but not the C language. I've taken two classes in C++ and one in Visual Basic, so I'm not a newbie but at the same time I still wouldn't consider myself intermediate.

I'm writing this review having only read the first 100 pages of the book because I wanted to state that, as of this writing, the current edition of this book that Amazon.com is selling (Pub: May 2010, 2nd ed) there have been NO errors. If you are considering purchasing this book, please be aware that (again as of this writing) there have only been 2 reviews of the newest edition (2nd ed, May 2010). All previous reviews are of the November 2007 edition which was apparently filled with errors. If only Amazon.com would list them separately we wouldn't have this problem.

Now, a brief review of the content. The first impressive thing about this book is that it takes into consideration how our brain works and learns and it explains this to you a bit before getting into the subject of the book. It uses a lot of pictures and repetition (repetition via text and program exercises) to help you remember things which studies have shown makes a big difference in the way our brain stores data. (I know this from reading 'Brain Rules' by John Medina).

Anyway, so far in the first 100 pages, we've lightly covered the basics; variables, if statements, loops and program structure (namespace, class, method, statements). When I say lightly, I mean it doesn't go into every type of variable or all the details of a method. I feel this is a good approach for a first time coder because trying to remember everything a method can do in one chapter just isn't going to happen. I should also mention that in the first chapter you go through a simple program to help you get the feel of the IDE (Visual Studio 2010).

That about summarizes my experience in the first 100 pages (mid chapter 3), I will add more to the review as I progress through the book.

For those interested, here is the Table of Contents (Summary):
Intro
1 Get productive with C#: Visual Applications, in 10 minutes or less
2 It's All Just Code: Under the hood
3 Objects: Get Oriented: Making code make sense
4 Types and References: It's 10:00. Do you know where your data is?
C# Lab 1: A Day at the races
5 Encapsulation: Keep your privates... private
6 Inheritance: Your object's family tree
7 Interfaces and abstract classes: Making classes keep their promises
8 Enums and collections: Storing lots of data
C# Lab 2: The Quest
9 Reading and Writing Files: Save the byte array, save the world
10 Exception Handling: Putting out fires gets old
11 Events and Delegates: What your code does when you're not looking
12 Review and Preview: Knowledge, power, and building cool stuff
13 Controls and Graphics: Make it pretty
14 Captain Amazing: The Death of the Object
15 LINQ: Get control of your data
C# Lab 3: Invaders
i Leftovers: The top 11 things we wanted to include in this book


Jacob D. Ryf
19 June, 2010


VERY VERY HIGHLY RECOMMENDED!!!

Do you want to learn how to use C#? If you do, then this book is for you. Authors~ Andrew Stellman and Jennifer Greene PSE, have done an outstanding job of writing the second edition of a book using Visual C# 2010 Express Edition, which uses C# 4.0 and .NET Framework 4.0.

Stellman and Greene, begin by showing you how with Visual Studio IDE, you'll never have to spend hours writing obscure code to get a button to work again. Next, the authors show you how to get a lot of work done by using IDE. Then, they show you why objects are really useful. The authors continue by showing you the ins and outs of C#'s data types, and how to work with data in your program; and, even help you figure out a few dirty secrets about objects. Next, they show you the power of encapsulation. Then, they show you how to subclass an object to get its behavior, but keep the flexibility to make changes to that behavior. The authors continue by showing you how interfaces let you work with any class that can do the job. Next, they show you how collections let you store, sort and manage all of the data that your programs need to pore through. Then, the authors show you how to write data to a file, and then how to read that information back in from a file. They continue by showing you how to write code to deal with problems that come up by using exception handling. Next, the authors show you what events are all about: One object publishes an event, the other objects subscribe, and everyone works together to keep things moving. Then, they show you how to build some software. They continue by discussing the Graphics object, bitmaps, and a determination to not accept the graphics status quo. Finally, the authors discuss how LINQ not only lets you query data in a simple intuitive way, but, how it lets you group data, and merge data from different data sources.

This most excellent book is a learning experience, not a reference book. In other words, this book makes assumptions about what you've already seen and learned.

John R. Vacca
06 June, 2010


Great book for those starting out.

I love the fact that the first chapter of this book finishes with you building a functional program. And with a target of building a classic game @ the end of the book makes reading this a true joy. I'm definitely going to start checking out more Head First books.

C. Nakagaki
08 April, 2010


Disappointing Book

I had read several Head First books and loved the concept behind the book line. With anticipation, I ordered this book as I wanted to learn C# 3.0. (I, however, have a programming background.) After finishing it, it was a disappointing read, and wasn't even entertaining at that.

The book just seemed to be difficult at times, and I quit following through on the examples after a while. Just started to read instead. Perhaps this was my mistake, as learning by doing is the best approach. The book's examples seemed to be a bit difficult for me to grasp. For example, the book used a beehive game as an example to OOP, and referred to it in several chapters. I didn't like the beehive simulation and found it difficult, even tedious, to go along.

I've resorted to reading another introductory book on C# 3.0 and have made better progress on understanding this programming language. Maybe, this Head First C# book 'broke-down' the dense concepts of the C# language, allowing me to easily understand it better on reading my next book about the language. For that, I guess I have this book to thank for.

Todd Elliott
21 March, 2010


I read the entire book and completed every exercise. Alone. Here's my opinion.

I finished the entire book. I did every exercise, some of them twice. It took months. Here's what I think.

The book isn't ideal for those who are completely new to programming. It devotes relatively little time explaining loops and other decisional structures. This book is better for someone with at least modest programming experience.

The book has a horrendous number of errors. The spelling errors alone are quite remarkable. Even though I have a later edition, it is riddled with mistakes. For instance, on the top of page 509, we are informed that "It's unusal for one of the..." , and on page 560, we are asked to participate in an "exrecise solution." The code you are supposed to use is equally horrific. This means that you have no confidence in the code, and that you can't be sure if you've erred, or the book's authors have erred. Programming is devastatingly difficult to learn, and the poor editing makes this process even more excruciating than it has to be. I doubt very much that the people who raved about this book actually did the exercises. The errata seems to be incomplete towards the end of the book.

That isn't to say that I hated the book. In fairness, I was really only an amateur programmer before buying this book. Now I am a competent programmer. That is because the book is logically laid out and emphasizes real, actual programming. (There are exceptions: the book introduces delegates using a delegate constructor that takes a method name as a parameter, without explaining what it is doing. (p.501) This is disorienting and confusing. ) But generally, you will learn to write real code from this book, if you are willing to devote many hours of time, many of which will be spent productively, some of which will be spent checking the author's mistakes and combing through errata.

Also, the book teaches you to use correct programming strategies--or `best practices'--as they are referred to in the industry. Stick with this book, endure the errors, and you will be a pretty decent programmer at the end. Don't give up: the 2nd half of the book goes much more quickly than the first half.

Owing to the irresponsible editing, I can't give this book more than 2 stars. But it may just be the best C# book available, a sad reflection on the industry. You might try Murach's C# 2008, I have worked through their book on Visual Basic and found it much simpler and better edited than the Head First C# book. But it will probably not teach you sophisticated programming like the Head First C# book that is the subject of this review.

Other Head First Books are wonderful. The Head First HTML/CSS book is fantastic, and helped me get into programming. And O'Reilly is generally in the top tier of technical publishers. This book is an exception. Still, the book is not cheap, and for this amount of money, the authors could have tested the code and spellchecked their work.

T. Butler
20 February, 2010


I read the entire book and completed every exercise. Alone. Here's my opinion.

I finished the entire book. I did every exercise, some of them twice. It took months. Here's what I think.

The book isn't ideal for those who are completely new to programming. It devotes relatively little time explaining loops and other decisional structures. This book is better for someone with at least modest programming experience.

The book has a horrendous number of errors. The spelling errors alone are quite remarkable. Even though I have a later edition, it is riddled with mistakes. For instance, on the top of page 509, we are informed that "It's unusal for one of the..." , and on page 560, we are asked to participate in an "exrecise solution." The code you are supposed to use is equally horrific. This means that you have no confidence in the code, and that you can't be sure if you've erred, or the book's authors have erred. Programming is devastatingly difficult to learn, and the poor editing makes this process even more excruciating than it has to be. I doubt very much that the people who raved about this book actually did the exercises. The errata seems to be incomplete towards the end of the book.

That isn't to say that I hated the book. In fairness, I was really only an amateur programmer before buying this book. Now I am a competent programmer. That is because the book is logically laid out and emphasizes real, actual programming. (There are exceptions: the book introduces delegates using a delegate constructor that takes a method name as a parameter, without explaining what it is doing. (p.501) This is disorienting and confusing. ) But generally, you will learn to write real code from this book, if you are willing to devote many hours of time, many of which will be spent productively, some of which will be spent checking the author's mistakes and combing through errata.

Also, the book teaches you to use correct programming strategies--or `best practices'--as they are referred to in the industry. Stick with this book, endure the errors, and you will be a pretty decent programmer at the end. Don't give up: the 2nd half of the book goes much more quickly than the first half.

Owing to the irresponsible editing, I can't give this book more than 2 stars. But it may just be the best C# book available, a sad reflection on the industry. You might try Murach's C# 2008, I have worked through their book on Visual Basic and found it much simpler and better edited than the Head First C# book. But it will probably not teach you sophisticated programming like the Head First C# book that is the subject of this review.

Other Head First Books are wonderful. The Head First HTML/CSS book is fantastic, and helped me get into programming. And O'Reilly is generally in the top tier of technical publishers. This book is an exception. The book is not cheap, and for this amount of money, the authors could have tested the code and spellchecked their work.

T. Butler
20 February, 2010


Definitely out of the best programming books out there.

I'm an asp.net web developer. I also work extensively with MS SQL. Before reading this book I thought I had some decent c# skills. Boy was I wrong. This book revealed a lot of holes in my programming. Let me explain why.

I had previously read a lot of reference type of books on C#. The kind of books that just explain things over and over. I hadn't read any books that really challenged me to figure things out on my own. This book is much different. Its a challenging, example and test driven approach that will have you writing very elegant object oriented code.

Don't be fooled by all the silly pictures, this is not a kids book. Some of the test and quizzes were difficult and really make you think. Granted if you're a CS Major and have been programming for years this book isn't for you. But if you're just the average joe (or jane) wanting to learn c# this book is definitely a great choice.



M. Torres
08 February, 2010


Excellent Rread. Made Learning C# Fun

I really enjoyed reading this book. The authors did a great job making learning C# fun. I have read several books on C# ranging from beginner to intermediate, though many were excellent, none provided entertaining examples and labs to work on.

Waleed Albalooshi
28 October, 2009


You really learn with this book

The author's dedication to teaching comes through clearly in this book. The exercises are well thought out. By the time you complete the exercises you feel like you have truly learned the subject matter. The bubbles approach makes it a lot of fun to read and serve to drive home each point very clearly. I highly recommend this book to anyone interested in starting to write c# code right away.

Carmen D. Mariscal
02 October, 2009


not pleased

Considerable effort was made to try to make the material "fun" using what amounts to doodles and various cute graphics devices. Sadly, this creative effort was not accompanied by clear didactic style. I read several chapters of the book and decided I needed another book because the chaotic and disorganized approach was actually more confusing than instructive. Any introductory work must be meticulous about not using concepts and terms that have not been previously defined; it should start out simple and build. Seems obvious, yet many books violate this simple rule, and this book is rife with examples. It is also completely unacceptable to have errors in the practice code that won't actually run when executed. It wastes the reader's time and energy. Look elsewhere.

B. Stanton
13 September, 2009


Too many puzzles

When I first bought this book, I was excited about the unique layout and the projects that I'd be creating. At Chapter 6, I am struggling to go any further. I'm bored of doing the crossword puzzles, matching, etc. I just want to write code. At this point, I'm probably just going to skip all the goofy "things to do" and just go through the brief exercises in the chapters.

Lori
26 August, 2009


Make sure you get copy printed on September and on since it has all the "Errata corrected"

Get a copy that was printed after September 2008 since it has all the "Errata corrected" (I checked publisher site before buying) I didn't buy it at Amazon because I wanted to make sure I got the latest printed copy with all the corrections. To my surprise I found printed copy with the date July 2009. This book is amazing. Programming is a huge pain to learn with books. But this is totally a fun experience.

Jacob Gonzalez
14 August, 2009


Good Read (so far)

What stands out most for me with this book is the relaxed style most computing books don't have.

OOP is very new to me, the last programming I did was over 15 years ago at University so I really do need a softly softly approach to get me back in to the swing and this book appears to be doing it's job quite nicely!

I've only had time to go through the first project and so far the book has made the experience an easier one!


Darren Finch
29 June, 2009


This book delivers what it promises

There are several reviews for this book that cite the poor editing of the first edition of this book. As I have found that the confirmed errata on the O'Reilly web site seems to be fixed in my copy, I can only assume I have the second edition.

This book isn't perfect; there are still some errors, BUT if you are really trying to learn C# and you've paid attention to what you've read in the book, the errors are not serious and you should be able to tell what was intended.

I suppose I should say that this book is just over 700 pages and I am currently on page 348. That means two things. First, I can't claim that there won't be problems with the text later in the book (but I doubt there will be), and two...

When I say I'm on page 348, I mean I've read every page preceding, followed every exercise and finished the first lab without 'cheating'. I haven't done that with a 'computer book' since Datamost published a guide to Applesoft Basic back in the early 1980's.

What do I really like about this book? Two main things. First, everything is explained, then repeated several times in plain language. If at first I don't understand, I only need to keep reading to have the explanation come at me again from a slightly different angle, and usually with a new code example or exercise. Second, I love (LOVE!) the labs. After learning and reinforcing several key bits of C#, you'll eventually reach a lab wher you are given the specs for a program. There are usually some details on what sort of approach you might take but otherwise you are on your own to use what you've learned to build the application. If you are serious about learning anything (including C#), nothing beats practice, practice, practice.

The forum for this book on the O'Reilly site is populated by helpful people who seem to be good at sharing information and helping clarify if and when you get stuck on something.

I would totally recommend this book, especially if you are a beginner.

John Sheppard
10 June, 2009


This was the best book on C#

This was the best book on C# that I have got. It is really a practical step by step learning. So I give the highest rate to this book.
[...]

Ali
03 June, 2009


C# educational books

A book Head first is a great book for beginners in C# programming. It shows you on a simple way how to start coding. I was really surprised how easy is to learn some basics. But still, it is only for the beginning - for something more the additional books are needs AND most of all, a lot of time invested into practising.
But still, great book, as I said it is a great book got getting basic knowledge.

Mitja Bonca
17 May, 2009


Lots of mistakes and a cumbersome book

I have read and learned from Head First books before, for example H F SOL. The SQL book was so good that when I decided to learn C# , my decision was already made: it had to be a Head first book.

However, the C# head first book is riddled with errata, the organization is poor . I did not like the tacky cartoons which are just a 'filler'.

The basics of Loops, Variables and conditionals are taught in a cursory manner.

All in all reading this book can be a hair pulling experience for a newbie.

May be the experienced reader C++ can benefit, but a newbie must stay away.

Instead, I subscribed to the http://www.learnvisualstudio.net and found a treasure trove. Something I can really use and learn.

M Khan

Mujahid Khan
02 March, 2009


The next best thing to taking a programming class

If you're anything like me, you may have initially picked up this book or one of the other books in the Head First series, flipped it open, saw all the insets, pictures, and little pieces of clip art that make it look less like a book on programming and more like one of those "One Minute Manager" type tomes, and then quietly set it down and backed away. Here's the thing: you owe it to yourself to not do that. Buy this bad boy and use it!

Why does this book work? You remember a larger percentage of things when you take something that's written and then apply it directly to a project than just try to memorize it. If you've gone within 10 feet of a corporate entity in the last 15 years you've probably heard the mantra of "you learn x% by listening, x+10% by reciting, and x+30% by reciting while slapping an angry linebacker in the face" (that last one may have been made up). Even if you haven't, you can probably remember some dreary lecture-based class in college where you don't remember a darned thing and can compare and contrast with another class where you had to, say, write regular reports covering the subject matter. Most of the time, you're going to remember more from the second class than the first.

The other part of this is that for me at least when I read a big long book on a programming language I'll get a couple hundred pages in, get the idea that I know understand the language well enough to tinker around in it, and then discover that in fact I know nothing about it and need to re-read everything. Having the nearly constant programming, problem-solving, and even crossword puzzles at hand means you're constantly testing your knowledge, meaning in turn that if you don't get something you only have to backtrack 10 or 15 pages rather than half the book.

From what I gather, earlier editions of this book were not well edited, which is really too bad. This is too solid a format for learning to allow it to be dismissed because of sloppiness. All I can say is, it's better now.

John Craven
06 February, 2009


Excessive errata makes this a painful and confusing read

I love the concept and layout of this book, but I simply can't recommend it. It is literally full of errors. I knew I'd be in for a rough ride as early as page 26 when the text claimed that Visual Studio requires your database to have a diagram in order to access the data. That is a howler of a technical error that should have been caught by a first draft edit! In fact, it was not corrected until the FOURTH PRINTING (See http://oreilly.com/catalog/9780596514822/errata/9780596514822.0908) I stopped reading the book at chapter 5, where the text informed the confused reader that using the "this" keyword before a property name in a constructor caused the public set accessor to be called, and omitting "this" caused the private set accessor to be called. Who checks this stuff?

While I give O'Reilly props for publishing errata and corrections online (earning them 2 stars instead of 1 in this review), I can't sit down with the book, plus 4 sets of errata, plus a re-published PDF of chapter 5, and enjoy the experience.

Kevin Sikes
31 January, 2009


Great concept, poor execution

I so badly want to give "Head First C#" five stars -- this is the way technical books /should/ be written -- but after having worked through a few chapters, I can't.

As a technical writer, I detest dull books that fail to engage the reader. Stellman and Greene's approach, loaded with Alice-friendly pictures and conversations, is a great way to keep the reader interested and involved. *

Unfortunately, the execution falls well-short of the goal.

The fundamental problem is that "Head First C#" assumes the reader knows little or nothing about programming. This is /not/ the audience for a C# book, because C# is a relatively new language, and beginning programmers rarely start with it. Those learning C# are usually programmers having experience with C++, Java, or some other object-oriented language. They're likely to be distracted reading about things they already know.

A book cannot simultaneously "focus" on two audiences. "Head First C#" should have ignored the newbies and aimed at programmers moving to C#.

One does not expect absolute perfection, but some of the explanations are poor, such as what, exactly, static functions and variables are, and why they're needed. As for delegation -- I haven't found /any/ book that explains it in the detail needed (not to mention that each writer has his or her own take on how and when it should be used). Delegation should be covered in full in its own chapter.

"Head First C#" is one of the most-poorly edited technical books I've seen. ** Not only are there garbled sentences even a perfunctory edit would have caught, but there are inconsistencies in the code, which can be thoroughly confusing even to experienced programmers. Indeed, the bad editing started with the acquisitions editor, who should have forced the writers to focus on the book's most-likely audience.

If only for its worked-through program examples, "Head First C#" is worthwhile. But buyers should be warned that, though it's in its fourth printing, with many errors corrected, you can still wind up (as I did) with a copy of the first printing, purchased in 9/2008. (The O'Reilley site has a list of the corrections, but it's a lot of work to enter them yourself.)

"Head First C#" /could/ be a truly great book, but it needs a thorough rethinking and reorganization. It is, perhaps, the supreme example of all the things wrong with the technical-book industry. But O'Reilley doesn't understand, and probably doesn't care.

* It isn't the only way, of course. Really good writing -- see Charles Petzold -- is the starting point. If the writing is good enough, you don't need many pictures.

** Novels can be poorly edited, as well. I can give examples.

William Sommerwerck
21 December, 2008


Like having an Instructor that you can Understand

I've written C# for a while now. But it's always good to go back and brush up here and there. This book is just a good read for both beginning AND experienced programmers. No matter how long you have coded most all programmers are always learning something new about OOP, as simple as it may be and this book does a good job bringing up those issues that a teammate or team lead most likely is not going to show you and so the experience/mentor type of situation happens right in this book as you read. It's pretty cool how they did this.

I don't know how many pages answered so many questions for me. For example it really teaches you about Interfaces well. It tells you WHY, beyond just the stupid general term of an Interface which doesn't really tell you jack outside of the basic definition of an interface...and really shows you in a well worded teaching-like way to explain WHEN you should use it and WHAT can happen. I also like the info about upcasting and downcasting.

What I like is that this book doesn't just give you a boring syntax read. It makes you understand all those little "uh huh" points that otherwise a book written with too much jargon will end up spinning your head. This book takes things step by step but talks about both simple but advanced subjects. One example of this is that while it's talking about simple things, it also talks about how objects are managed in the heap. That is invaluable because this is one of the hardest things for programmers to understand. There are a ton of small little things that affect the heap and reasons why things happen in the heap and this book tells you about it in a way you can understand while you read each page and example. This is a very effective way to teach an OOP language when you are combining 2 different thoughts in every page (memory and syntax).

So I recommend this book to anyone, even experienced programmers because it's a fast read that I'm sure everyone will find out some new things that you did not know about OOP even if you think you already know it all.

One thing to note by the more experience programmers out there. This book started out too slow for me. The concepts were way too novice. But realize once you hit the chapter "Types and References", it starts to become useful to you.

I also like the fact that it sneaks in little C# 3.0 tricks once in a while while you are reading basic C# 2.0 syntax examples and explanations. It's a good way to say "hey you could do it this way but guess what, you can do it even easier this way because this is a new feature in C# 3.0". Rather than always having a dedicated chapter to all C# 3.0, this sneaks in those situations where it makes sense to use a feature in C# 3.0 in various scenarios throughout chapters.

Basically this book teaches you rather than just give you paragraphs of technical jargon and no real-life information of how to use it. Half the problem with most books is that it lacks any examples or really good explanation of the SITUATIONS in which you would use certain OOP techniques and just stating how C# works without the why will not do much good. While a book can't tell you every situation, it gives you very common reasons and that's why this book is a gem. Practicing is also just as important but the "uh huh' moments will be resolved very quick just by reading this book front to cover very quickly.

If you happen to be a college student or recent grad or just someone trying to get more into OOP, this is an absolute must have.

Dave Schinkel
20 December, 2008


Book is more confusing than anything.

First let me tell you my background. I have a MCSE and my background is in Network Engineering and I am shifting my career to Software Engineering. However I took C++ in college and it was less confusing than this book. The information in this book is all over the place with diagrams, arrows etc, things written all over the place wondering what order are they really suppose to go to and it's confusing me more than anything. I am on Chapter 5 and at this point I am more confused than anything. I have decided to look for a better book at this point.
Hope you find this review useful.

D. Saini
19 December, 2008


Dissapointed by this book

Worked through the first 250 pages and just had to start looking for something else. The idea of illustrations is good but the delivery is not. It's like creating a coloring book for brain surgery - not going to work. Interestingly I always had questions at parts where there was no pencil markup so I could not make sense of things. At page 250, the book is still working on explaining classes and objects. The examples are dry and uninteresting, Very hard to keep focus on them. I found a free ebook on Microsoft site called C# for kids and I was able to get more out of the first 35 pages than from 250 of this book.

Hunzonian
21 November, 2008


SQL Express and Visual C# Exprees is a bad combination.

The authors provide instructions in Chapter 1 on page 18 for adding a SQL Service-based Database to a project. I never could get pass this step. There was considerable discussion in the O Reilly forum on this topic as many others were having problems getting past this step. I tried all of the suggestions offered but none helped and was disappointed in the authors shotgun approach for providing a solution. Obviously from the number of recommendations many more people made it past page 18 than the people who got stuck there. But as for me I have already wasted a week on this book and will not waste any more time. I bought this book because of the good experience I had with Head First HTML with CSS & XTML. But Head First C# no where nears matches the quality of Head First HTML.

Howard R. Hansen
16 November, 2008


Awesome series!

This series of books allows for easy learning. Each chapter is laced with humor and fun projects. It really makes learning the topics really easy. It's not a 'reference' book, but is intended to teach you the subject in an easy-to-remember fashion.

Avery
27 October, 2008


Best C# book Ever.

This is a great book that does not bog you down with technical terms and actually teaches you how to use C#.

Instead of learning how write hello world on the command console you start of in chapter 1 making a full GUI program that actually does something. The best thing is it is actual easy to make!

chobo2
21 October, 2008


Teaches in a variety of ways

I'm about a thrid of the way through the book and it seems to really tailor to anyone's needs by teaching the information in many different ways. This is a huge help for me because I am the guy who didn't know anyhting about C# programming before I picked this book up and now I'm more conifdent about my knowledge. I would suggest the Oriely line for others.




Chris A. Haun
18 October, 2008


Unique

This is unlike any other C# book I've come across, I wish it would have been the first one I'd bought when diving into programming for the first time. They've managed to make learning a programming language fun (a tall order). Everything is spelled out for the beginning programmer. There are plenty of pictures, notes, exercises, etc. to help you grasp what can be some pretty confusing concepts, especially if you're encountering them for the first time. It's also the only beginner's C# book I've seen that doesn't start you out writing console applications. In fact, you never write a single console app. Great book.

Todd L. Fortin
06 October, 2008


Great Book for Anyone Looking To Learn C#

I've been programming in C and C++ for a little over 3 years, but decided to look in the direction of C#/XNA for game programming. I picked up this book to learn about C# before diving into the XNA framework and it has helped tremendously. Not only am I learning C#, but I'm learning it in a context that is fun and exciting. Many of the examples in the book are based around games. It doesn't get much better than this.

Ben M. Schwartz
19 September, 2008


Delivers as Promised

Background:
After getting a degree in engineering and landing a job finance, I was tasked with writing an extensive analysis program in C#. Eventually I hobbled through the first draft and many many updates using dry, technical reference books and online searches. Recently, I decided to increase the breadth of knowledge to take on other programming projects of my own choosing.

Approach:
Head First C# matched up perefctly with my expectations. The book does not assume much prior knowledge, so someone, like me, with no background in computer science can work through it without much (if any) additional reference. However, unlike other (frustrating) programming books for beginners, it goes right into practical applications, setting itself apart. Despite not neccessarily going from simple to complex in subject matter, each chapter does build nicely on those before it. I would easily recommend this as a primer to C#, or for those like me, who need to expand their practical knowledge.

Style:
In the introduction, the book explains how its style is meant to capture and hold your attention so you actually absorb the material. I appreciated the informal writing style and creative use of fonts, but the gems here are the sections where you are given basic program outlines, some code fragments and asked to complete the program (with a healthy degree of freedom). Some reviewers complain about the amount of errors in the book. Maybe I'm not as attentive to detail, but while you will find some errors, none of them interfered with my progression through the book.

Content:
In addition to this book, you will probably want a reference book or two. Of course, it would take at least a couple dozen books to cover EVERYTHING you can do in C#. Now that I've read this book, though, I at least have a good idea what other books would be useful for me. With some of what I learned from Head First C#, I've created video games, card games and database applications. The variety of topics covered and demonstration of their application makes this a valuable read.

J. Finkel
18 September, 2008


Needs an Editor? No way!!

This book is absolutely incredible. This was my "switch from VB to C#" book. After reading this entire book I feel and think like a professional C# developer, a true object oriented programer. So what it has a few typos or even sections of slight confusion. But the way this book is written teaches you how to think outside the box, not provide you with a quick Copy-Paste code example to use in your app.

Because of this book and my implementations, I've increased my salary substantially (because our development social rate C# programmers higher than VB programmers). Moreover, this book makes coding C# fun. You can't tell me applying base class and interface schemes to create a cool role-playing-game wasn't exciting.

So if you're not an english major/teacher/editor and think a few mistypes or spellings don't matter, you will definately want to get a copy of this book. I liked it so much that I purchased the Java book as well. Who would have ever thought programming was so fun!!!

Brian L. Byrdsong
16 September, 2008


HeadFirst C#

i was trying to learn C# on my own, when i was searching through the web i cam across this book on your site which was also at a reasonable price. I checked on other sites but i found the price of this book more reasonable.

The book si really good as it explains most of the concepts very detailed way which helps everyone to understand. It is a book which is very worth than other books. I already heard about headfirst on java, but haven't read it. But now i read this book which is very informative.

Thanks a lot.


C. S. Varatharajaperumal
31 August, 2008


Book isn't boring, but needs an editor.

I really wished I would have researched this book further before purchasing it! The book description really caught my attention because I have read enough boring, overly technical books in my day. I was really hoping this `Brain-Friendly Guide' would be a welcomed alternative.

However, I have only finished 198 pages and have no intention of picking this book up ever again. (Kicking myself firmly for writing in the book, otherwise I could return it) There are several grammatical and technical mistakes for starters.

I spent hours thinking I did something incorrectly, several more hours re-reading chapters because things didn't work as expected. After talking with several experienced C# programmers I was assured that several of these examples were difficult for them to understand and that they didn't understand the logic either.

So with grammatical, technical and logical mistakes I do not view this as a good investment. (Please go to http://oreilly.com/catalog/9780596514822/errata/ and see all the corrections made for the January and April revisions there is 25 printed pages worth of corrections.)

Sorry O'Reilly and authors. I cannot imagine how difficult it is to write a technical book that isn't boring but I view this as a complete strike out. Hopefully your next at bat will end better.


Chris Spangler
18 August, 2008


Head First C#: beyond what I was looking for!

This book was beyond what I was looking for at the time when I was looking for a way to learn C#. After having read through most of the book already, I feel that this book is the way to learn C#. Everything is clearly presented in a logical and fun way that doesn't bore like a textbook normally would. However, as with any book, nothing is perfect and there are some good-found errors throughout the book that I have found. BUT! Do not worry about the errors. On the Head First website you can find an error page that shows all the bugs people have found for the book. Also, if you go on the Head First C# forums you can find someone who learned C# from this book and wrote a program that holds all the bugs for each of the editions.


Beyond what I was looking for is right! This book comes with a whole fan base behind it that is ready to help you--they've helped me as a matter of fact. If you go to the head first website, you will find the head first C# forums where the authors actually do come on to help as well as the people learning with you. I was just looking for a book on C# and found a whole wonder of help.

Bradley J. Ebinger
12 August, 2008


It is that good!!!

I bought this book based on the reviews already written. I have a library of computer books and they was my third C# book. Simply put, it is as good as everyone says. Follow the plan outlined by the authors and you will learn and quickly. I have already ordered two more head first books and started reading Design Patterns yesterday. From now on, I will always see if a heads first book is available before buying any others.

DBL
08 August, 2008


Useless

Shall it be called "C# for Dummies" or "C# for Managers"? A lot of sales pitch for the brain friendliness and almost zero essence. I work in IT for 30 years and can not imagine working with someone who learned C# by reading this book. This approach may work as introduction to Internet for housewives, but they do not code in C#.

M. Pinsky
14 July, 2008


*Learn* C#

Head First C# was my first experience with the Head First series, although I have since also purchased the excellent Head First Design Patterns (Head First).

This book is designed to teach you C# from the beginning. Technical books can generally be categorized as either tutorials or reference texts -- and this is absolutely in the tutorial category. It's intended to be read and worked through in order, from start to finish. If you already know C# and are looking for a reference text, look elsewhere. If you're an experienced C++ programmer looking to learn C# but are already very familiar with object oriented programming, consider checking out the excellent and concise Accelerated C# 2008 (Accelerated). If you're an experienced C# programmer and just want to learn the advanced features of C#2 and C#3, you'll again want to look elsewhere, and you couldn't do better than C# in Depth: What you need to master C# 2 and 3.

But if you want to *learn* C# and object-oriented programming, and especially if you have little or no prior programming experience, look no further than this fantastic book. If you're reading reviews of the book, then you probably know two things: it has an unusual style and some quirky humor, and it has a bit more than it's fair share of errors. These two things are true, but there's a lot more about the book that you should know, and that's mostly what I want to talk about in this review. Before I move on, though, let me say two things. First, the conversational style and the humor are sometimes overstated -- this is a book about programming, and it's not a joke a minute or anything. I know that you can't Search Inside here on Amazon to see what the book is like, which I assume is because of the visuals-heavy design and unusual layout of the text, but just do a quick search for the book's website and you can download a full sample chapter and some other excerpts. Judge for yourself before dismissing an excellent book based on its unusual (but effective!) design. Second, the errata *are* extensive, but they don't get in the way of your learning. This book shines for its well-chosen examples, its focus on your learning (you'll be talked to rather than at), and its great overall structure -- and none of the errata interfere with any of that at all. If the extensive errata lists do bother you, I wrote a small free program that can sort through them for you and filter out the types of errors or page ranges you're not interested in. (You can find the link stickied at the web forum for Head First C#.)

There are also some features of the book that I don't see mentioned often enough, and which I want to comment on briefly before getting to the heart of the review. First, I love that the introduction is actually useful, giving you valuable insights on why the authors made the design choices they did (why text is in the pictures, rather than beneath them as captions, for example), and offering advice on how best to approach the book if you want to maximize your learning experience. I highly recommend reading it. Second, it's worth mentioning the way that the book uses the (free) Visual Studio 2008 IDE to make graphical Windows applications throughout, rather than focusing on a text editor and console applications like many other introductory texts. Visual Studio is a powerful IDE, and it *helps* you learn with syntax highlighting and Intellisense -- I'm very glad that the Head First C# authors chose to incorporate its use into the book, because it often allowed me to focus on concepts at first rather than syntax, picking that up gradually through repeated use with the IDE's guidance. Third, you'll be making some genuinely impressive software over the course of the book -- between the use of Visual Studio and the authors' being unafraid to assign projects that take several pages just to *describe*, you'll get a much better feel for what it's like to make real software than you would from the small "toy" examples that are more common in many other introductory books. (But don't worry, there's plenty of guidance, including fully annotated solution code for most of them, and a helpful web forum if you get stuck.) Finally, the book has the advantage of going to print for the first time after C# 3.0 and .NET 3.5 were released, and it fluently combines the various iterations of the language, teaching C# *as it now exists* from the ground up in an order that makes sense for someone learning now from scratch, rather than taking the more common but less sensible route of introducing C#1.0 features before C#2 before C#3. This is great, because it allows the authors to introduce some of the powerful and convenient features of the newer editions of the language and framework -- the stuff that really makes C# appealing as a language -- quite early in the book.

The funny thing about Head First C# is that the conversational tone, the humor, the quirky layout, and the pictures make the book seem completely un-academic. At first glance, it's as far from an academic textbook as you could possibly get! But I've come to realize that reading through the book from the beginning, doing all the exercises, is as close to the structured learning experience of an academic course as you can get in book form. The brilliance of Head First C# isn't in the phrasing of any given sentence or the coding style in a particular snippet -- it's in the overall structure of the book and especially in the examples chosen for exercises, which allow you to build up your knowledge incrementally while still reviewing past material. (Which is why the errata really aren't a big deal.) I've seen some reviews point out the book's "redundancy" as a flaw, and I just shake my head. The book is often repetitious, but never redundant, and always deliberately -- seeing the same material repeatedly from different perspectives and at different times is absolutely key to learning anything, and the repetition is one of the best features of the Head First series in general and this book in particular.

So there are errors. So there's a bit of fuzziness in the phrasing sometimes. So it doesn't cover Advanced Language Topic A or B. So what? This book is a teaching tool. It's a full course -- instructor, fellow students, textbook, homework, projects, review sessions, and conversations with peers -- stuffed onto paper, rolled up, printed, and stuck between covers.

I've learned C#, and I've *retained* what I've learned. I've had fun doing it. And if you too want to learn C# and programming, I can't recommend Head First C# highly enough.

Corey White
12 July, 2008


This book is a mess....

The concept behind the book is great... the editing and quality control is a joke.

If you are new to programming, this book will frustrate you. Despite the best efforts of your brain trying to struggle around the errors in the book, this book's often convoluted logic (due to the errata) will make learning C# a very tiresome experience.

The snappy "Leave-It-To-Beaver" photos are ok, but the quality control on this book just needs to be improved. Check out the errata on this book, it's just insane.

J. Sexton
12 July, 2008


The best book for C#

O livro é incrível, o melhor livro de computação que já comprei. Melhor que a série Deitel.

Amazing book!

Eduardo R. Felipe
10 July, 2008


Make sure you don't by the 11/07 edition

There are over 43 pages of corrections (errata) to the first edition (11/07) of this text. It is inexcusable. You can go to O'Reilly's site and print the errata lists, three of them, to use as cliff notes to decode this book. I have purchased three other titles in the Head First series that are excellent. The quality of this one is horrible. Not only do some of the programming examples have minor syntax mistakes, but entire sections of code are incorrect. In one case the errata recommends downloading a pdf because the text has been substantially revised "to enhance clarity and quality of learning".

If you want to purchase this book, make sure you get the latest edition.

Kevin

K. Shoaff
05 July, 2008


Outstanding and Innovative

This book also represents an innovative way to learn and not only C# knowledge itself. Have you ever tried to learn something and end up being frustrated with the way it is being taught? This book not only explains C# but it also explains how to learn quickly and how to obtain your edge on learning itself!

Mr. Rolan E. Logan
04 July, 2008


Sloppy and Confusing

There's a reason why there is no "Search Inside" feature for this book...in my opinion. This thing is a train-wreck. This book is like the Robin Williams of technical books...It jumps around all over the place, it's not funny and you can't wait to slam it against something. There's pictures of dogs, cats, cups and couches. It's way too busy...If you grab one end of the book and you flip through the pages as fast as you, I think you can actually give yourself a seizure...in my opinion...

Citizen Pain
25 June, 2008