Cruising through book stores, I usually encounter the 800 page behemoths that 'teach you programming in 24 hours' or something similar. I suppose those are good for getting you programming with lots of examples.
However, I like to think I'm a pretty good programmer, having grown up with Pascal, C,
and
C++. I may be aging myself with that first one, but anyway. So in order to pick up a new
language, I don't really need a lot of hand holding. I simply need something to show me the
syntax and basic flavour of the language. After that, I can start developing applications
quite quickly. Getting used to the libraries of the language is something else altogether.
I had thought C# was a toy language, ranking right up there with Visual Basic. That was
until I
encountered a powerful .NET financial development package out there on the 'net from
SmartQuant. That started me thinking
that there must be something to this language. I started
reading The C# Essentials on one my connections to SaharaBooks online.
It was good enough online that I purchased the book as a handy desktop reference. It is
a nice slim volume, packed with relevant information.
Having a programming background, I was able to quickly grasp the basics of the language
as
they compared to what I already knew. The concepts of delegate functions and events took a
while to wrap my head around, after being used to C++'s explicit pointers and function
passing
mechanisms. Once
understanding the power of events, and how they manage multiple registrations as well as
static and object based instantiations, I was sold.
However, I think C# loses it's power due to de-emphasizing the deconstructor and
reverting
to automated garbage collection. I can see the benefits, but I enjoyed the manual tuning I
do with C++.
Well, having digressed to the language itself, now back to the book. The book covers the
language itself, in what I think is a very fine balance. The examples are short, sweet and
succinct in showing many of the fine points of the language specific it is covering.
|
|
I must admit though, that there are language features discussed in the book that do have
examples, but still leave me wondering what they mean and how they fill in the big picture.
It takes a little time to unravel the nuances of meaning rolled into the example. I think
the meanings will will fall into place as my experience grows, and I find scenarios where they
start to make sense.
The book does not cover the .NET run-time library. That is something best left to the 800
page
reference behemoths, or simply the online reference library provided by the Integrated
Development Environment.
I give the book two thumbs up. After a year of programming C#, it is still my primary
quick
reference on basic language idioms.