Introduction
Why This Book?
I had to ask myself this very question when starting to write this book. Actually, an author should really ask that question about every book they write but it was particularly important for this book. There are oceans of books on C#. There are ponds of books covering Mono. There are various Web sites devoted to the promotion and support of Mono and its various Open Source offshoots. Why should I write a book on it?
Believe it or not, I came up with a pretty good answer. Most of the books out there fall into one of the following categories:
• RahRah Microsoft, don't bother teaching anything
• Language syntax bible which might be great for reference, but not for teaching.
• MeToo regurgitation of the stuff available for free online by professional authors who have to crank out at least six books per year to earn a living.
Those of you who have followed this series know that my books never fall into those three categories. I've spent over 20 years in the world of IT with most of my years as a real consultant. The difference between someone who calls themselves a consultant and a real consultant can easily be seen on their resumes. Scan back over the past 20+ years and you will see the people who call themselves consultants have worked at no more than three companies. Once in the door they latch on like a parasite and try to become indispensable so they can milk the site for all it's worth. A real consultant will rarely spend more than 18 months at any single client site, but they will be called back to sites multiple times over the years. In short, a real consultant travels from client site to client site picking up information about additional ways of doing things rather than doing things the same way for 20+ years.
Why is the definition of a consultant important? That's simple. Most of the books out there on Mono/C# weren't written by real consultants. They were written by people who call themselves consultants. While many will claim to have over 20 years of experience in the field, most of them will have one year of experience repeated 20 times rather than have traveled all over and done many things. You don't have to dig deep in their backgrounds to find out if the book you are about to buy is a waste of cash or not, simply flip to the section on connecting to a database. (That's right, there will be only one and it might not even consume an entire chapter.) Flip through the beginning and very end of that section. At any point do they point out directly connecting an application across the Internet or from outside of a secured internal network is a really bad idea? If the answer to that question is “yes”, the book you are looking at was written by a veteran; “no” means your book was written by a commercial author or someone with less than one year of real experience no matter how many years it was repeated.
Yes, we will cover that topic yet again because I seem to be the only one writing about it and the rest of the IT world seems to be appearing on “60 Minutes” trying to explain why you shouldn't go to prison for writing the system which lead to this month's largest identity theft.
Why this book? Because I lived when this happened and Microsoft sure as hell didn't invent C#. I'm tired of seeing book