<i>Doing Objects in VB.Net and C#</i> - a quick review

Published 21 December 04 09:21 PM | alexcampbell

I've spent the last hour reading Terry Smith's free online book Doing Objects in VB.Net and C#.  If you are familiar with OO programming but new to the .Net framework then this book will probably be good for you.  If you're an old school VB or ASP developer then this book will help you understand OO programming and .Net at a basic level.  Other than that, the content of the book is not going to be much help to an experienced .Net developer although this admitedly isn't one of its stated aims.

If you fall into the experienced OO programmer category, the VB.Net code examples in this book will cause you pain.  I manage to get through daily life without being reminded of the extreme ugliness that is the Visual Basic .Net language, but when I see it in examples it amazes me that anyone could work with it.  Fortunately most of the VB.Net examples are accompanied by C# equivalents.

Smith attempts to dispense with the customary dry computer book tone and take a lighter and more humorous approach.  Sadly, instead of coming across as funny and clever he just seems geeky and sarcastic.  I'm always prepared to say that a product sucks if that's what I think, but Smith's bashing of the .Net framework OO implementation is childish and irrelevant.  The jokes about abstract art are just embarrassing.  A lot of the humour like:

One day the King will return and the angel of the lake will arise again and return Excalibur to its rightful owner and…

breaks the flow of the writing and is distracting for the reader.

I guess it sounds like I'm knocking a free book that a smart guy wrote in his spare time.  I'm not.  To balance my negativity I want to say that this book is much better than a lot of similar commercial books.  This is mostly because of well-documented problems with the computer book publishing industry.  Smith doesn't have a publisher forcing him to pad the book to get its weight up to 12kg so he is able to say a lot in only a few pages.  He doesn't have a team of editors erasing personality from his prose.  It is actually kind of refreshing to read a book that hasn't been mutilated by a big publishing house.

Comments

# Jeff Atwood said on December 21, 2004 09:40 PM:

"manage to get through daily life without being reminded of the extreme ugliness that is the Visual Basic .Net language, but when I see it in examples it amazes me that anyone could work with it. "

--

"Sadly, instead of coming across as funny and clever he just seems geeky and sarcastic."

--

I'm sure any relationship between these two statements is completely coincidental.

# Terry Smith said on December 27, 2004 07:51 PM:

Thank you for your review of my book... I think. :) As for coming across as geeky and sarcastic instead of funny and clever I would take the side that the book includes all of the above, at least I hope so. I appreciate that you found it "refreshing to read a book that hasn't been mutilated by a big publishing house". That was precisely my larger objective. I could have easily published the book as a series of magazine articles or expanded upon it to create a dead-trees book but, besides being equally as unprofitable to give the book away for free, that wasn't the point -- keep it quick, simple, bad jokes and all.

Also, I disagree that I oversteped my "bashing" of the .NET framework OO implementation. I state in Chapter 6 on Inheritance, "VB.NET and C# have both managed to add built-in support for violating one of the most sacred rules of object-oriented programming, that being the Liskov Substitution Principle." This is precisely true, and I go on to state why and prove my point. I'm really far more concerned that 99.9% of self-described OO expert programmers don't have the faintest idea what the Liskov Subsitition Priniciple is than I am with Microsoft's mistakes. I like .NET and use it everyday but believe that those (in
Redmond) who should know better should prevent those who don't from doing bad things. Is that too much to ask?

Thank you for the review!