WPF is dead, long live VB3


Found in Field Dead
Image by: Rick Harris

There has been much talk on the intertubes recently about the “death” of WPF, or the possible subsumption of WPF by the Silverlight platform. As well as the possibility that the Windows team at Microsoft are not buying into XAML and WPF/Silverlight, or more fundamentally, the whole Managed code revolution. Apparently, the Windows team—from what I read—would rather take a bet on compiled JavaScript and HTML5, which is surprisingly similar to Silverlight in goals but not in technology or implementation.

While some of this talk may be alarmist or just rumour, for which people are talking solace in posts like this, and tweets like this. Anyone who has worked in the technology industry for any period of time will have to admit to this immutable truth: Everything changes. All the time.

Today's WPF was yesterday’s WinForms, today’s ASP.NET MVC was yesterday’s WebForms, and so on.  There have been dozens of UI technologies developed over the years for the Windows platform, both managed and unmanaged alike, but here’s the fundamental point: technology does not die, it’s abandoned, it cannot be killed (just look at IE6 and I can still download Visual Basic 3.0 from MSDN today!)—what this means is that actually YOU have a choice, YOU decide when a technology is dead to YOU; not the Windows team, not anyone else, but simply YOU. The decision is all yours.

Here’s just a few UI technologies that I’ve worked with over the last 15+ years:

  • Access (v1.0 and v2.0)
  • Excel (v4.0 macros and v5.0 VBA)
  • Word (v2.0 Macros and v5.0 VBA)
  • Visual Basic (3, 4, 5 and 6)
  • IDC and HTX Web Templates
  • HTML/DHTML/CSS and JavaScript (from the late 90’s to today)
  • Classic ASP (from V1 until it was replaced with Managed Code and ASP.NET in 2002)
  • ASP.NET (1.0, 2.0 and 4.0)
  • ASP.NET MVC (1.0 and now 2.0)
  • Silverlight (1, 2 and now 4)
  • Windows Forms (all versions)
  • WPF (All versions)

Interestingly, you can use just about any one of these technologies, in one form or another, still today to build your applications for the Windows platform.

I think of it this way: Even if Microsoft announced that WPF will not be actively developed from today—this very day, even though there are a reported 200+ developers working on Silverlight and WPF at this very moment—we’ll still have five years of patches and maintenance. Five years of you being able to choose to use it in a production environment, even then the technology won’t be “dead”. You may simply choose to abandon it long before then, but that does not mean it’s dead, far from it.

So to hear that WPF is “dead” or that I’m going to have to brush up on my JavaScript and learn HTML5 in the near future it’s like: “Well, like duh! Dude. News just in: water is wet…”. Things change, deal with it. Learning something new comes with the territory; if the Windows team want to abandon managed code, WPF and Silverlight, for whatever reason (and remember, this might not even be true, this is what’s being spouted on the intertubes) then so be it. But *I* don’t have to, I get to choose, and today I choose WPF and Silverlight and probably will for at least the next 5 years… unless something more shiny comes along ;)

Think deeply, code well. If you have any comments or opinions that you’d like to share on this topic or any other, I’d love to hear from your. [-PJ]


Doozie7 said...

I agree with you Paul but only after I read you note. I like others (I think) was betting on some unifying stack - which in essence does not exist.

Anonymous said...

Yeah things change - but sooner than you seem to think. We've got two major projects about to start and WPF and Silverlight are officially non starters. That's after working in WPF since 2007. Looks like we might become a C++ shop, and though these decision have a few more weeks of clanging around to go yet: Bye bye WPF, and if necessary down the line: bye bye Windows. Cause there's talk about keeping open to an Objective C front end too. And I know we aren't the only shop making that kind of 'where do we go after this' decision.

Unknown said...

Yes, "I" have the choice, IF it is MY project. But if I'm looking for work, it is not my choice.

Tech departments make technology decisions based on things like availability of skilled employees. My tech department gave up on trying to find an experienced WPF programmer, because it couldn't find any. Therefore, the choice is not mine but my manager's.

FORTRAN still exists and I am free to choose to program in it. But if I make it my career choice, I am likely to become very unemployed.

So I don't care whether MSFT decides to continue supporting WPF or not. The market that I care about (my tech department) has given up on it.

Anonymous said...

RE: FORTRAN still exists and I am free to choose to program in it. But if I make it my career choice, I am likely to become very unemployed.

Yeah that's just not true. The US government and it's research labs have a sh*t load of FORTRAN code that they use. If anything if you know FORTRAN you're better off if you're looking for a job. That and in some situations it's faster than C. Bad example but I understand your point.

Anonymous said...

And Visual Basic 6.0(VB6) programming still continues.

Windows 7 and 8 support VB6. Will Windows 9 support Visual Basic 5 too ?