I’ve been toying with the notion of learning some “real” coding for years now. No matter how good I get at my expertise(s), and no matter how much demand for infrastructure geeks like me there is, I’ve felt a growing pressure to get some “chops”. Yeah, I can read an API, I can sometimes *follow* a codepath (almost easy in VBScript by now, still brutally hard in a C++ fragment), and I feel comfortable in using tools like Depends.exe, ProcExp.exe. Hell, I even have gotten to *almost* understand what I’m doing when I run a debugger like windbg.exe.
I took a great introductory college course on ASP.NET development from a really good friend a couple of years ago, but didn’t quite finish it (i.e. I didn’t write the final). I’ve had an IDE installed on most of my computers for years now, but didn’t hardly do much more than fire up a sample and feel inadequate.
So a few months back I spotted the Visual Studio Express betas – stripped-down IDEs that are targeted at folks just like me. At first I felt just as inadequate with them as with the full-fledged beasties – I still didn’t really know where to start, and without a good sense of the “vocabulary” of a coding language, I always felt like I was crippled from doing something practical with it. [Sorry, but I’m one of those guys that doesn’t really *learn* the lesson by using artificial dev scenarios that don’t do much more than “Hello World” crap. Maybe that works for a lot of folks, and I’m just broken, I dunno.]
Then I started seeing some really encouraging signs:
- free training videos targeted at the Absolute Beginner
- learn-to-code books (e.g. 1, 2) that specifically aim for the Express IDE
- free online training courses (not just Express-oriented, but they’re there if you want ’em)
And so I took more and more steps to get closer. I got a couple of books out from the library that would give me some fun, easy, quick stuff to play with:
- Learn Microsoft Visual Basic .NET in a Weekend
- Visual Basic .NET Weekend Crash Course
And most importantly, I sketched out a design idea for a simple application that I would actually use. [More on that later, when I get some of the cool features working.]
But here’s the kicker: not only was it fairly easy to stumble across the basic code fragments that I would need to make the basics of my app work. Not only did I find that things like the “Me” object were damned intuitive, and some of the new controls (like the Menu Bar Toolstrip) were brilliant for quickly whipping up the stuff I *never* want to have to write from scratch. No, the bit that finally got me to blog about this “dirty secret” of mine was this:
[hmm, uploading the screenshot doesn’t seem to be working.]
I’ve run across an error like this before: “NullReferenceException was unhandled” – “Object reference not set to an instance of an object”. Seen it tons of times, and never knew what to do with it.
So when did they finally know how to translate these errors into English? Now there’s a dialog that includes
Use the “new” keyword to create an object instance.
Check to determine if the object is null before calling the method.
Get general help for this exception.
*I* can actually do something with that information. OK, so hell, if I can get past this kind of vague-as-everything error message, I’m figuring this is do-able, and I’ll keep pounding away at this code.
Then I check back to Microsoft’s web site to see the current offerings, and was surprised to be able to download the released version of the Express editions directly off the web. !!!
Well holy freak, this is a pretty good deal – download any one of the Express Edition dev tools and use it free for a YEAR. What? Are you guys nuts? What happened to the 60/90/120-day evals? Won’t this eat into a giant sales opportunity? Must be giving some Marketing guy chills just considering this approach…
Well, call me crazy but I think this is great – give guys like me enough time to actually start using the stuff – long enough that I can actually justify to a manager the cost of buying one of these things.
No, wait – WHAT? [OK, I’m done after this] Seems that if you download ’em before 2006-11-07 (i.e. next year), they’re free to use forever. [which means they’re free from now on, because you *know* that you’ll always be able to dig up a download of them somewhere on the ‘net once they’re out like this.]