Categories
Uncategorized

The C# “Yellow Book”: Free as in Beer and Good as in Beginner’s Guide

Cover of the "C Sharp Yellow Book"

As a new Microsoftie and programmer returning to C# after a six-year absence, I have a lot of learning and re-learning ahead of me. In preparation for this, I spent the better part of an afternoon in the “Computers” section of my neighbourhood bookstore going through the C# programming books, sorting the gems from the junk. I took the “beginner’s mind” approach and looked at all the books on the shelves, regardless of the skill level they were written for, even the books that devoted whole chapters to basic concepts like looping and branching. At the very least, it would give me an idea of the current state of programming literature was like in the .NET world.

A couple of weeks later, I stumbled across the C# “Yellow Book”. It’s the standard book for first year computer science students at the University of Hull (I know of it thanks to a Black Adder episode) and written by Rob Miles, a Microsoft MVP and lecturer at that university. Each computer science student there is given a free-as-in-beer printed copy of the book, and now anyone can get a free-as-in-beer PDF copy online.

The C# Yellow Book is quite good, and can easily hold its own against some of the commercial C# books I’ve seen, which typically sell for about $35. It’s written in a clear and breezy style, explains it concepts well, has examples that actually work (I tried some out just for kicks) and often goes beyond typical beginners’ books with many asides called “Programmers’ Points” that explain good programming technique. Its 185 pages cover most of the basic C# language — and most of the example code is run in console mode except for the section near the end that covers basic Windows Forms. After finishing this book, you should have enough background material to tackle an intermediate book on C# or introductory books on .NET topics like GUI programming, ASP.NET or even game development for the PC, Xbox 360 and Zune (yeah, really, the Zune) with XNA.

I’d say that Rob has a strong incentive to make the book as good as possible because it’s the basis of a course at his university and because he can get some rather immediate feedback from its readership. If only that was true for a professor of mine back at Crazy Go Nuts University, whose Pascal programming book (it was the eighties) had terrible examples, an incomprehensible presentation and writing style and annual revisions to foil used-book sales and to force each new class to buy the latest edition. Kudos to Rob and the computer science department at Hull for giving away the course textbook for free!

If you’re a starving student looking to learn Windows programming, I’d recommend getting your hands on a copy of Rob Miles’ free-as-in-beer C# “Yellow Book” and pair it with Microsoft’s free-as-in-beer Visual C# 2008 Express Edition. Alas, I can’t point you to any free-as-in-beer computers.

Links

4 replies on “The C# “Yellow Book”: Free as in Beer and Good as in Beginner’s Guide”

Thanks for the link to the C# book! I’m rather tired of Oracle, so I’m teaching myself .net in the hopes of changing to a smaller company in the near future.

I don’t know about free computers, but I’m getting quite a lot of mileage out of an Acer Aspire One, which was inexpensive $350, and is doing quite well running the free version of the C# developer’s kit. The keyboard is on the tiny side, but I’ve spent evenings and weekends the last year writing Python code on an OLPC XO, so I’m used to smaller keyboards.

That was really a good book. The first time those concepts have been explained and I really understood them. I still argue “why go through that much trouble” for some things, but at least they were explained clearly.
Do you have a recommendation for ASP.NET? Preferably C#.

A great book, but a bit “brainwashing”, making you think that C# is really a very great choice to programming, but, IMHO, it isn’t.
For example, it’s stated that C# compiler is that cool that it even provides default constructors for the classes. AFAIK the default constructors are present in all OO programming languages. The book is full of such statement to make you love C# and Mircosoft point of view.

Comments are closed.