Jump to ratings and reviews
Rate this book

Programming C# 4.0: Building Windows, Web, and RIA Applications for the .NET 4.0 Framework (Animal Guide) 6th edition by Griffiths, Ian, Adams, Matthew, Liberty, Jesse (2010) Paperback

Rate this book
The book is brand new and will be shipped from US.

Paperback

First published November 15, 2009

4 people are currently reading
15 people want to read

About the author

Ian Griffiths

26 books8 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
2 (9%)
4 stars
8 (38%)
3 stars
10 (47%)
2 stars
0 (0%)
1 star
1 (4%)
Displaying 1 of 1 review
Profile Image for Jamie Belanger.
Author 15 books15 followers
January 25, 2012
I've been programming in C# since the .Net Framework was in beta testing, more than a decade ago (around November 2001). I know C# and the capabilities of the .Net Framework quite well. To a point. I initially worked with the 1.0 Framework, then 1.1, and finally with 2.0. I stopped after that. Some other programmers at my former employer experimented with later frameworks, but I did not use them much. In my own company, I continued to use the 2.0 Framework simply because I was comfortable with its capabilities and limitations.

When I first saw this book at the Borders going-out-of-business sale, I didn't hesitate to grab it. I own a copy of the original edition of this book, written entirely by Jesse Liberty, and it did a great deal of good in getting me up to speed with the 1.0 Framework. So seeing this edition with a 70% discount was a good find. I bought it for two reasons: First, it's always good to do a refresher course. And second, I wanted to know what features were new to the 3.0, 3.5, and 4.0 Frameworks. I don't upgrade often, but when I do, I usually skip several versions.

Much of this book was a refresher course for me. Many of the earlier chapters were introductory, and yet there are enough changes in the later Frameworks that I was not able to skim the material as quickly as I had hoped. The book is well-written, but there were some organizational choices I didn't agree with. For example, chapter 15 (Assemblies) should have occurred much earlier, as most of the chapter deals with how to set up references to other assemblies to include other bits of code in your project. This chapter was all a review for me, but for a new programmer I feel this should definitely occur earlier in the book. It doesn't take long for a "Hello World" console program to get boring. But some of the chapters were exciting. There have been some changes that could reduce or even completely replace some of the code I've written. If you are reading this book as an update / refresher course like I did, keep a notepad handy to make bookmarks and notes. There are a lot of Framework changes that will make your code smaller. And that's a large part of the reason I like C# and the .Net Framework to begin with -- because having to program things like string manipulation classes in C or C++ was just too much up-front grunt work.

I skipped several sections in some of the chapters, and even skipped some of the latter chapters entirely. Topics like WCF (Windows Communication Foundation, for networking), WPF (Windows Presentation Foundation, a WinForms replacement), and Silverlight (which I've heard is going away soon anyway) hold no interest for me. Much of these technologies only work on Windows. Support in Mono is spotty at best. And, quite frankly, I'm comfortable enough with TCP sockets and WinForms that I don't feel the need to learn WCF or WPF. Besides, I'm still using Windows XP (oh the horror!) and WPF forms have text that is so blurry I can't stand to look at my screen for more than two seconds at a time.

Analysis of those technologies raises an interesting point about this book. I primarily use Linux, and therefore test my programs against the Mono Framework extensively. I know that .Net is Microsoft technology, but the entire book is written with the assumption that I'm using Visual Studio. Over the course of 800 pages of text, I noticed exactly one mention of the Mono Framework and making programs function on Mac and Linux platforms. And that mention was in regards to the Moonlight project (Mono's version of Silverlight). I would have liked to have seen more mentions in the book, particular as helpful sidebars (ie, "this doesn't work in Mono.. yet!"). Alternative programming environments like Sharp Develop allow people like me to not only choose which .Net Framework to compile against, but I can also select Mono Framework versions to compile against. To me, this makes it a superior development environment.

But even without more inclusion of alternative environments and open-source framework equivalents, this book was a good read, with a lot of interesting technologies that I will have to play around with in the future. This is not the kind of book you can read once and walk away from. Knowing me, I'll probably be referencing this book until the 8.0 Framework is released.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.