Plans & Projects #2

2014-04-07

Konnichiwa again,

picking up the loose threads from the last instance of P&P:

I began to split the device-handling-code of RandFill into a seperate module (DLL), with support for Unicode — unfinished and unpublished as of yet…

When I then turned my attention to the rest of the codebase, I was again reminded that this program can and will not evolve with the tangled mess of Win32-GUI code it is based on at the moment.

So, I spent some time investing the alternatives again, coming to these conclusions:

  • MFC isn’t really a modern toolkit, it’s on minimum life support and its design doesn’t attract me at all.
  • WxWidgets is just too similar to MFC and the cross-platform support doesn’t make up for that.
  • Windows Forms and WPF also seem to be in some kind of legacy mode for Microsoft, it also would drag me too much in the realm of .NET/C# with this project.
  • Which leaves me with the Qt framework as the last one of the big framework/toolkit players.

Pros and cons: I like the overall design of Qt so far, I don’t think that I will make use of the multi-platform features anytime soon and I definitely don’t like the fact that it bloats my small programm from a 200 Kilobyte executable file to a 20 Megabyte monster application; but I guess that is an investment for the future… — I’ll document my work with Qt in a series of blog posts soon.

Regarding Version/Revision Control Systems, I did indeed switch from Subversion (SVN) to Mercurial (Hg) for my personal projects in the meantime. Admittedly, my needs are rather simple at the moment, so the change didn’t come with a big ‘Wow!’ moment, but I like it (and TortoiseHg is a good replacement for TortoiseSVN).

The wiki is in the process of dissolving, for the reasons I already listed in the last P&P.
The most interesting parts (to me) will show up here as blog articles or pages over the course of the next days. (And the idea of using Sphinx/ReStructuredText is still just that, an idea…)

Leave a comment

Your email address will not be published.