Murach’s C# 2010 by Joel Murach
$54.50 from Murach & Associates
Recently I needed to pick up C# programming; it was shortly after I read (and was impressed by) Murach’s SQL Server 2008, so I decided to see if they had a C# book (Murach is a small publisher that puts out limited number of titles). As it happens, they do…and it has the same things going for it as their SQL book. I’m familiar with the C languages – C++ is my favorite language to work in – though I haven’t used them much recently. I wanted a book that wouldn’t assume I was already an expert, but also wouldn’t spend forever explaining how to write a for loop. I found that the Murach style (they put code on the right page and explanation on the left) to work very well for this. Each topic, except for the more advanced ones, tends to be explained in one set of facing pages, and the format makes it easy to skim stuff you’re already familiar with, get a better explanation of things you don’t understand, and find relevant information when you’re trying to look something up later.
The book starts out by helping you get started with Visual Studio…which makes sense, since most C# development will be done there! The instructions in the book assume you’re using Visual Studio Professional Edition, but everything will still work with the free Visual C# Express Edition; you just have to make a few changes to your workflow. After getting Visual Studio up and running, we jump right into several chapters on designing, coding, and testing a Windows Forms application. People familiar with Visual Basic will have no trouble here – doing forms with C# is very similar (just with C-style command structure). This means you’re creating a graphical program almost as soon as you start the book.
Section two, which contains chapters four through eleven, has all the things you’d expect to find in any programming language introduction: data types, control structures, arrays, collections, etc – as well as a few things that a beginning programmer might not be familiar with, such as exceptions and event handlers. It also covers debugging. In section three, we move on to discussion of object oriented programming: classes, inheritance, and interfaces. This section also covers more advanced topics like delegates and indexers. Section four, which is chapters 17 through 20, is about database programming. Want to know how to access a SQL database with ADO.NET? You’ll find it here. Finally, section five (chapters 21 through 25) covers miscellaneous things that programmers will likely need to know: how to work with files and data streams, how to work specifically with XML files, using LINQ, enhancing the user interface, and deploying an application.
Murach books are written from a business perspective; while I don’t mind the usual bit where you define an animal class and derive a dog class from it (or shape and circle..you get the idea), all of the projects here are business applications. In the very first section of the book, you’re already developing a project that generates invoices, and you’ll later build a project to keep track of your customers. My recommendation? Let’s just say I wish they had books on the next two languages I plan to learn, Cocoa and Objective C..