Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming Books Media Book Reviews IT Technology

Pro C# 220

FrazzledDad writes "Andrew Troelsen's Pro C# 2005 and the .NET 2.0 Platform, 3rd Ed. gives a great breadth and depth of coverage to C# and the features of Microsoft's .NET 2.0 Framework. He does a fine job covering fundamentals of C# and .NET in general and then dives into terrific detail on a number of important topics." Read the rest of Jim's review.
Pro C# 2005 and the .NET 2.0 Platform, Third Edition
author Andrew Troelsen
pages 1032
publisher Apress
rating 8/10
reviewer Jim Holmes
ISBN 1590594193
summary Great coverage and detail on many C# topics, but long


Troelsen claims that the book is targeted at "experienced software professionals and/or graduate students of computer sciences," and that he won't spend "three chapters on iteration or decision constructs," but he spends enough time covering basics that the book will be beneficial to developers of any skill level.

First off, the book is longer than it needs to be. Part of this is the amount of text Troelsen spends covering fundamentals, despite his claims of the book's targeted audience. Experienced developers will skip right over the sections on object-oriented programming basics and C# language fundamentals. Still, this extra material didn't particularly bother me and it's very useful to newer developers, or those needing a refresher on basics.

Troelsen's example code also has more cruft than necessary, which tends to drag out examples a bit too much. The auto-based example he carries through the book is a nice practical example, but do I really care about methods turning the radio on and off while not lending any weight to the concept?

I was also surprised to find missing any discussion of COM interoperability. While COM Interop isn't a sexy, futuristic topic, I'd think there would be great value in covering it - helping some developers understand how to better deal with migrating or wrapping up legacy applications.

Lastly, despite the book's title emphasizing C#, there are 130 or so pages on ASP.NET and XML web services. Sure, these are part of the .NET Framework, but it seems a diversion from focusing on C#.

Frankly, the bad items I list above are all nits to me in what I consider a very worthwhile book. The book's loaded with plenty of good material, starting out with a solid overview on developing .NET applications outside Microsoft's Visual Studio.

Troelsen nicely covers using the freely available .NET Framework SDK to build applications. He also mentions Textpad and has a handful of pages dedicated to SharpDevelop, the open source C# development environment. He also gives a short nod to the freely (for now!) downloadable Visual C# 2005 Express before moving into an overview of the upscale versions of Visual Studio.

Troelsen nicely lays out critical concepts in his book. His work is the first place I've found clear explanations of why one should occasionally drill into .NET's Common Intermediate Language (CIL, sometimes referred to as "IL"). Other articles and books I've read haven't really gone past the level of "gee, it's neat!", but Troelsen lays out good examples of when it can be useful - such as inspecting IL and finding out how to directly call operator overloads ("+=", for example) in languages which might not support this feature.

I also found Troelsen's discussion of remoting and serialization very clear and useful. Furthermore, he does a great job with delegates and events, starting out with manually working with event handlers. This helps the reader understand the fundamental workings of handler assignments and multicasting rather than just directly jumping to event handling assignment via the += operator.

Even better than Troelsen's conceptual coverage is the level of detail he brings to all the topics he writes on. I already mentioned his coverage of event/delegate multicasting as one example. Other examples would be his extensive coverage of reflection, late binding and threading, among other topics.

He dedicates one chapter to the guts of .NET assemblies, running the gamut from why assemblies exist, through the format of assembly headers, to how shared assemblies work. There's good discussion in this chapter on the what/why/how of the Global Assembly Cache and how to deal with publishing assemblies with policy interraction.

There's plenty of other goodness in this book. Generics get great coverage, as does ADO.NET and multi-threading. There's also a chapter dedicated to GDI+ programming for you graphics geeks.

It's nice that Troelsen carries one example through much of the book, building concepts on the same framework of his automobile classes. Source for his examples is available from Apress's website, and Apress also has a searchable e-book available. The e-book's available for free for short time if you purchase the hardcopy.

Troelsen's writing style is also easy to deal with. He's got a good writing voice which makes potentially dry stuff interesting.

It may be overly long for some folks, but this book is a worthwhile investment for those looking for clear, detailed explanations of C#. The length really doesn't detract from the book's overall value, and I'm happy to have it on my bookshelf. (I even pull it off and use it.)"


You can purchase Pro C# 2005 and the .NET 2.0 Platform, Third Edition from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

Pro C#

Comments Filter:
  • by IAAP ( 937607 ) on Wednesday January 04, 2006 @03:45PM (#14394587)
    authors add the basics?

    First off, the book is longer than it needs to be. Part of this is the amount of text Troelsen spends covering fundamentals, despite his claims of the book's targeted audience

    It was Meyers, I think, who said at the beginning of one of his C++ books that it wasn't a tutorial and you need to know C++ before reading. And as a result, his books are concise and a great value.

  • by IAAP ( 937607 ) on Wednesday January 04, 2006 @03:56PM (#14394683)
    ...and browsing the web for tutorials on .NET.

    I used to spend hundreds of $$$, if not thousands, every year on programming books. For the exception of some really intense CS type of things, I usually ended up Googling for examples and looking at online stuff anyway. Now that I'm smarter, I just look for stuff on the web. These days with so much competition between platforms and languages, there's always some free material on the web and it's better written half the time by people who actually use it.

    I could tell you horror stories about programming authors who never programmed the language before and wrote a book on it! *coughSAMScough* They would rely on the technical editor, or in some cases, the readers to find the errors. Then it's off to the 2nd edition for another round of proof reading by the consumer.

  • Anyone else...? (Score:1, Interesting)

    by Rhoon ( 785258 ) on Wednesday January 04, 2006 @04:06PM (#14394769) Homepage
    Anyone else happen to read this book?

    I've been getting job inquiries for C# programmers from all over the country and have been looking for a refresher book; and one to expand into the more advanced topics.

    It's nice to see book reviews, but I have a problem with believing just 1 review. Books which I tend to enjoy or derive a lot of useful information out of, may not work well for others, so I like to see a large number of people who recommend a book.

    Slightly off-topic, but any other recommendations out there if this isn't all the reviewer claims it to be?
  • Re:What's The Point? (Score:4, Interesting)

    by ichin4 ( 878990 ) on Wednesday January 04, 2006 @04:12PM (#14394827)

    What makes it a worthless language is that it has all the bad parts of C++ and Java without any of the benefits.

    Would you care to enlighten the rest of us which bad parts and benefits of C++ and Java you had in mind?

  • by brontus3927 ( 865730 ) <edwardra3@gma[ ]com ['il.' in gap]> on Wednesday January 04, 2006 @04:14PM (#14394861) Homepage Journal
    It's a book review, not an advertisement A review lists good and bad and gives an overall impression (well a good one does at least, and this one dpes, it lists several things that the reviewer didn't like), while an ad is a one-sided look intending to induce you to buy the product. For a new book (making it NEWs) on a technical subject (of interested for nerds). Does a new book on C# interest you? Apparently not. Does it interest me? Well, yes. The review gave me good information that this book isn't for me, because it's intended for an audiance with more experience that I have.
  • Re:Pro? (Score:3, Interesting)

    by Arandir ( 19206 ) on Wednesday January 04, 2006 @04:23PM (#14394934) Homepage Journal
    As my vice president told me, when I asked him about providing C# training for the project, "As professional software developers, it is your responsibility to know the industry standard."
  • by Anonymous Coward on Wednesday January 04, 2006 @04:29PM (#14394998)
    It seems like the only people who have any interest in C# are:

    1) People still working at software houses that haven't migrated to Linux yet

    2) The 'Microsoft is always the winner' crowd

    My company has completely migrated to Eclipse, Java, Ruby, mostly on Linux with a few people still working on Microsoft OSes. To even suggest using a technology that locks us into a single proprietary platform would not be just a good way to get laughed at, it would most likely put your job in jeopardy here...

  • by bit trollent ( 824666 ) on Wednesday January 04, 2006 @04:34PM (#14395047) Homepage
    If your most important requirement for any programming language is the ability to port your programs to other OSs you are really missing the point of software development. Its all about making cool software. The OS is just a tool. Source code is your canvas, and .Net is nothing more than a set of really nice paint brushes.

    seriously people, try it before you knock it. for 99% of apps out there reduced development time .net provides is more important than platform independence.
  • Re:What's The Point? (Score:3, Interesting)

    by ednopantz ( 467288 ) on Wednesday January 04, 2006 @04:37PM (#14395079)
    >Microsoft only shops are a dwindling commodity

    really? Prove it.

    Anecdotal evidence shows that MS shops exist and are hiring fiercely. I put a c# resume up a couple weeks ago and the phone rang in an hour and hasn't stopped ringing.

    Outside of mom's basement, people use these technologies, despite what the slashbots would like to think. And from spending 48 hous with asp.net 2.0, despite some frustrations, I can tell you that this is a *very* powerful platform. The user management stuff is amazing. It makes all the user management/login work absolutely trivial. Color me impressed.
  • Re:Pro? (Score:3, Interesting)

    by alext ( 29323 ) on Wednesday January 04, 2006 @04:53PM (#14395212)
    .NET is designed to work on any and all operating systems. They simply need a unique CLR. and the Win32 API
  • Re:.NET performance (Score:3, Interesting)

    by ameline ( 771895 ) <ian.ameline@Nospam.gmail.com> on Wednesday January 04, 2006 @05:10PM (#14395361) Homepage Journal
    Mr A.C.

    I have seen similar results with a 3D Perlin noise generator -- I was comparing Intel vs MS, vs hand coded SSE assembler. For pure entertainment I tried a -clr build and it was quite alot slower. Another interesting point was that the newer compilers (both Intel and MS) generated code that was close to or better than the SSE assembler implementation.

    (For those wondering what Perlin noise is and what it's good for, check out http://freespace.virgin.net/hugo.elias/models/m_pe rlin.htm [virgin.net] )

The Tao is like a glob pattern: used but never used up. It is like the extern void: filled with infinite possibilities.

Working...