Wrote my first MFC programming app yesterday. Surprising how satisfying it was.
Its kind of weird how a technology such as MFC which I and others, perhaps wrongly, consider outdated, also consider it with particular reverence. That's how it is with the past. Or with respect, I suppose.
The past has an alure to it, specifically in this case, where something in the past(not really my past) that I've not experienced explicitly before fascinates me. MFC is interesting and appealing to me and because its also unknown, I've often felt like I'm missing some magic. That said, curiosity killer the cat but I suspect the cat lead an interesting life.
Thinking about it, its almost like antiques, if you like cars, its quite possible you'll have a greater appreciation for cars that were before your time like an old Lamborghini or something less extravagant. Even better if that Lamborghini still looks awesome and is still lightening fast!
MFC is talked about, often being referred like a bygone hero or age. That just makes it that more intruiging to me.
So I bought, after much consideration, a physical behemoth of a book but you you really must refer to it as a manual like the bible. From what I can tell, it is the absolute authority on MFC programming. It arrived in the office 2 days ago. 1000+ pages, heavy and quite daunting in its hard cover. I'm rather excited as I've too been yearning to put to practise my recent revision of C++, which MFC is specifically geared towards.
The app is simple but simple is a relative term in Windows programming. I have an appreciation for writing a 'simple' Windowed app in C, and making that even easier while using MFC and C++ and learning something new, exciting and is super cool.
As it happens MFC is not as deprecated as I might lead you to believe. In fact, its still being actively developed and used. Bonus. Visual Studio 2013, which us what we use at the office, includes the most recent update to the library(its really a library of objects that wrap the WinSDK which is written in 'Simple' C...). I wikipedia'ed it and was pretty suprised how current it still is. It has however lost favour in the greater development community I feel. This, partly I think, to the upsurge of simpler alternatives such as the .net library which really makes things easier.
Still, I want to know more about MFC. Its intruiging.
From my limited experience with it, I could easily draw similarities to a C++ framework which I've used more extensively, namely Qt. The abstraction of the message loop and having a run() method which handles message dispatch is similar. Also a message map, connecting functions to events/messages in MFC is remarkably similar to QT's signal and slots mechanism...which I've often appreciated. It will be interesting if QT's widget layout managers have a similar concept in MFC. Somehow I doubt it.
The direct foraw into utilising C++ for MFC straight off the bat, such as virtual function overrides is also quite satisfying.
A bit off topic now but, The more I think about it though, programming is not the future of programming. Design is. Effective modeling of problems. Programming is just the footsoldier in the war of concepts.