Why am I here?
I've programmed for decades, but only within the last few years started looking at C#. Early in the history of .NET as a programming platform, I was derisive of such an environment as being inefficient and too permissive. Fine for enabling less-skilled programmers, but not for “serious” ones.
Well, I think I've flossed the last little bits of crow from my teeth (yummy!). Needless to say, I've changed my tune. I've found C# a delight to work in, having none of the horrible inefficiencies I imagined, and in fact having access to the .NET Framework means being able to take advantage of the "best practices" for Windows applications without having to be an expert in the entire Windows API.
When I started out learning C#/.NET, I made good use of the microsoft.public.dotnet.languages.csharp newsgroup. Wanting to give back to the community, I stuck around to answer questions as I could. Before I knew it, I'd been nominated for the Microsoft MVP award by one of the newsgroup's most effective contributors. So, here I am.
My goal for this blog is not to provide any sort of running commentary. I don't have the time or daily experience that would lend itself to anything like that. Instead, I hope to try to flesh out and organize some of the answers that I find myself writing about in the C# newsgroup and other places. I'll mostly focus on things that seem to be common questions or concepts, with the occasional "huh, now isn't that interesting?" mention. Practically all of the code will be in C#, and will illustrate the use of some C# or .NET Framework feature or features. For the most part, I'll be focusing on solving practical problems, but who knows? I might occasionally wind up off in the weeds presenting something abstract and esoteric. [:)]
Will anyone actually read a blog focused on what is likely to be mostly code samples? I hope so! I mean, it's nice to write just to help formulate my own thoughts, to force myself to think about things more rigorously. But I sincerely hope that readers will find things of use to them here. I'd like to think that in even just a little way, I've somehow improved the state of software development by sharing what I think are the preferred techniques or by simply helping elaborate on the existing documentation in a way that helps people understand the language and framework better.
To that end, I would especially encourage anyone with thoughts on how to improve any of the samples, the presentation, etc. to provide feedback. Post a comment, fill out the "Contact Me" form, or whatever. Whether it's the coding itself or how I convey my thoughts to others, I can't improve unless someone tells me what I'm doing wrong!