MFC & Win32 GUI rewrite ?

October 7, 2006

Marc asks what banks are planning to do with their MFC apps. The code base for our etrading system is 600KLOC of C++, with some Java and C#. The GUI tier is mostly C++ MFC/Win32. Some of the newer stuff is C#. We have no plans to spend a year rewriting C++ MFC code in C# Winforms.

Let’s imagine you wrote an MFC GUI back in 97. If you’d bought the claims of each new wave of GUI technology since, how may times would you have rewritten it ?  Once each for Java AWT, Java Swing, C# WinForms ?  And would you be going for AJAX, Flash or Vista now. Any tech manager in a bank who buys in to vendor claims to the extent of rewriting production apps just to be on whatever platform the vendors are hyping this week needs their head examining. Or needs firing.

Maybe I’m too busy with my head down in the front office trenches, but I’m unaware of any MS announcement withdrawing support from MFC. Even if they did, I wouldn’t worry til MS released a version of Office based on something other than C++ MFC & Win32. As ever in etrading, low latency and high thoughput are key. Our pricing blotter runs on many desktops, and has to keep up with hundreds of bonds and swaps that tick several times a second – updating price, yield, DV01, duration, convexity etc every time. So we’ll be sticking with C++ MFC Win32 for some time. And I’ve no doubt that MS will persist with that approach for their own desktop apps for some time too.

Advertisements

One Response to “MFC & Win32 GUI rewrite ?”

  1. marc Says:

    How about if your MFC app is heavly dependent on UI libraries that are no longer being supported?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s