Last weekend, I wrote my first ever program in C#. Now, admittedly, in keeping with long-established historical tradition, it was only "Hello world", but even so, it felt like a step into a whole new universe.
I've been writing programs for a very long time now - getting on for thirty years, in one form and capacity or another. I've mostly written in C, although I did a lot in Pascal back in the CP/M days (I can hear the younger members saying "CP what?!?" as I write this), and have even written programs in (ugh) Basic. I'm probably one of only a handful of people left alive who can actually remember how to program in Focal-8, and I've spent years trying to forget how to write in Fortran... But C# is a sign of how much the world has moved around me, and how different everything has become.
For someone used to using the Windows Win32 API and writing procedural code, the C# and .NET way of doing things can be quite mind-boggling, particularly when you throw in some of the new .NET 3 features such as Avalon (Windows Presentation Foundation). There is quite literally so much information density there that I find myself asking again and again how anyone can ever learn enough of this stuff to be able to work with it competently. It's also daunting to think that the way you've been doing things for nearly twenty years is finally reaching the end of its usefulness, and that soon (all too soon!) change is going to be forced upon you whether you like it or not... So the world moves on.
I guess there are two ways you can deal with change - you can either resist it and hope that enough other people resist it to cause it to fail, or you can embrace it early and hope to reap the benefits over time. Both approaches have risks, but historically it's a truism that (in the immortal words of Douglas Adams) "Resistance is useless!" - or, if you take a more sinister viewpoint, "Resistance is futile - you will be assimilated". I for one find the intricacy and depth of the C# / .NET combination strangely seductive - the first time I've been able to say that about a Windows technology since Windows 95 was introduced. Whether this is the path I need to be walking is something I'm thinking about a lot at the moment: I haven't made my mind up for sure one way or another, but I'm definitely approaching it with an open mind, and even some enthusiasm.
Time will tell, I guess.
-- David --