Keeping on top of new software development platforms is a full-time job… but I’ve already got one! One of my own personal frustrations about my current work is that we are still using Windows Forms. This is fine in that it does the job and I’m familiar with it, but it means that if I want to “remember” how to use WPF or learn anything about UWP, I have to do it on my own time. But when I’m writing or working on apersonal project I want something that words as fast as possible so I often fallback into using Windows Forms.
I recently posted about the Doom WAD File format, and noted that I would be targeting a WPF Application for actually using it, and I’ve held fast to that capability. It has been so long that I’ve forgotten a lot about how WPF and XAML work, so I’ve been relearning a lot. I’ve been referring to “Pro WPF in C# 2008” as a reference on some of the basics (Command Bindings and such).
It got me thinking about all the different platforms and libraries that are available. A recent comment on this blog regarding a code sample could be summarized as “It’s not on Nuget, this sucks, and you suck in particular”. Mind you, as it happens the libraries used there were used again in a later project for the same task which did in fact use NuGet Packages. But it set the mind in motion about how there is something of an unhealthy Dogma surrounding almost anything that is not new and cool and pop’n fresh. Even WPF is old hat tat this point; The ‘cool’ thing to do is abandon the well-fleshed out environment of Windows desktop applications and make UWP and Modern UI ‘Apps’ which themselves have quite a few limitations. In a way we’ve come full circle; we went from dumb terminals that interacted with a server, to fat-client applications that contained a lot of logic and perhaps communicated information with a server such as a database, and now we’re at thin “apps” which exclusively access the outside world through separate web services.
New Platforms, libraries, and technologies come out on such a consistent basis that keeping up is a very difficult task; especially when those new technologies themselves bounced off of previous technologies that you haven’t got a strong grasp on (In my case, XAML and WPF). For me personally I’ll be aiming to make all my future .NET programs in WPF so that in the process I can become more familiar with it (And stop forgetting everything I knew about it from when I worked on BCJobClock).
As a side note, Yesterday (May 21st, 2016) was Visual Basic’s 25th Birthday/Anniversary of it’s release on May 21st 1991. One of these days I have to finish up the drafts of each version of Visual Basic from my ‘series’ of posts on each version. (VB4 I hope to be particularly interesting!)