This has been long on my mind. I didn’t know what it was at first, but it was there, like a splinter in my mind, driving me mad. Well, not quite, but then, beta release of Moonlight 2.0 triggered these thoughts. I imagine that right now, you’re feeling a bit like Alice. Hmm? Tumbling down the rabbit hole?

You see, bunch of smart developers are essentially re-creating Silverlight so it can be used on Linux and they did same thing with .NET framework. Imagine the hours, months, years, that were spent doing that. Years! And for what? So same exact thing can be rewritten… The more exact the better.

Does that strike you as not really efficient way to use resources? I mean these guys could be inventing the next .NET or next Silverlight but they are spending their time rewriting something that already exists… Sure, they learn from that effort, sure it is useful, but wouldn’t they learn more by creating something new? Wouldn’t they contribute to community more by creating something that didn’t exist before?

I’ve seen this play out all the time elsewhere… VB3 applications are converted to VB6 applications, then to VB.NET, then to ASP and after that to ASP.NET and today to Silverlight. And in most cases there is no benefit to the end-users that are using these applications… They do exactly same job with minor differences unchanged… And tomorrow, tomorrow we’ll be converting exact same thing to the next new and shiny technology.

This strikes me as ridiculous way to spend resources, talent and time. Yet, we do it all the time. I’ve done it and I am sure you’ve done it as well. And all for no benefit to the end-user. We developers are sometimes to blame too. We push the latest and greatest because we think it is better, or perhaps just because we want to play with it. Sure, sometimes it is necessary, but every single time? I doubt it.

The question is, are we making anything really better? I’ve seen software becoming worse with that next rewrite. Wouldn’t be better to spend time dreaming and building that next big thing, shooting for the stars, even if it failed, instead of rewriting the same old just to make it questionably better?

Or maybe this is how it is supposed to work. Nature works this way. Randomly, new things get created with little changes, some better, some worse, and through elimination best incremental improvements survive. And so it goes…

Big difference is that nature has time on its side, while our time is limited. The question we should be asking ourselves is: Are we working on things that matter?

Professional looking applications made easy with DotNetBar for WinForms, Silverlight and WPF User Interface components. Click here to find out more.

Related posts:

  1. DevComponents 10 Years Anniversary
  2. Silverlight 3 Beta Out, Who Needs WPF?
  3. How to become really good software developer
  4. Silverlight and WPF – reading the tea leaves