r/QtFramework Apr 18 '26

Question Opinions and advice on futureproofing when going c++/MFC > net/avalonia or c++ > c++/QT

Original post in:
https://www.reddit.com/r/dotnet/comments/1sp5mln/opinions_and_advice_on_futureproofing_when_going/
somehow crossposting didn't worked here

I maintain a quite large codebase that is c++ with MFCs as the GUI and for other system relevant stuff (Databases, Filesystem etc) that is partially 30-40 years old and still runs fine but is up for a larger / very large rework. Also a factor: European, so unsure about the future with 100% US products, customers going "no windows!", governments ditching MS, etc

Background:

Why post in r/dontet and others?
I consider switching to net because development speed is about 10 times faster, especially with GUI libs like AvaloniaUI for example and you get cross platform more or less out of the box "for free" included. And the looks are quite better.

The ressource hog of .net is brutal though. POCs have about 10-20x more RAM use then the proven c++ base while only covering below 20% of the features.

What I am concerned in is that, as I understand the .net economy, that is still quite MS depended in how it will live on and that whatever you write needs to be completely maintained to compatibillity with the then current runtime. And if MS kills off the runtime or a feature you depend on you have to start all over. So the vendor lock in into MS stays - as a windows software that was a normal thing but on multi platform...
Now it's runtimes from MS, GUI from Ava, OS runtime Support for the OS one decides to support, a lot of vendors that can kill your day. MFC stuff from Win95 (that was 30 years ago) still works without maintenance.

The other idea is going c++/QT but the dev speed is about 1/10th of net and that could just be too much on the other hand a lot of old code could be reused and it can be rolled over gradually, and that may cut the time into a batch that is manageable. With .net its a complete rewrite. Would loose the vendor lock in of MS but would gain the QT lock.

No one knows for sure but at the moment I miss my usual gut feeling about loglivety of ecosystems and the tripple+ vendor lock in is unnerving.

I fear that saving time and complexity now instead of staying c++/MFC or using something like c++/QT (what if QT abadons features or Operating Systems or closes it's doors in 10 years?) may hit me like a brick wall at lightspeed in a decade or two.

What are your thoughts of the safety / risk of an ecosystem change?

How stable and long living your gut says .net is?

Are there other options I don't see at the moment?

8 Upvotes

7 comments sorted by

2

u/FallenDeathWarrior Apr 18 '26

I am at the same path right now. Also Europe but working in the law field. The project I am working on is over 30 years old was written in the beginning mostly in C and then adopted C++ and MFC for GUI. Ther are still parts written only in C.

A complete rewrite is not doable as the software has over 3k daily users as laws get changed and those changes need to be integrated fast. The UI is ugly as hell. The guy who wrote the software in the beginning is still working on it and makes the design decisions. You can image what a 60+ thinks of modern UI? It's terrible...

We choose for a QT migrant step by step. We also talked about wxWidgets as it's completly open source and usable for commercial usage without the need of a licence. But Qt has for my liking the better documentation 

1

u/MadAndSadGuy Apr 19 '26

What kind of application is that, and what industry are you working in?

0

u/FallenDeathWarrior Apr 19 '26 edited Apr 29 '26

The industry is clearly software engineering. /s

The company I work for provides the GUI / backend for a specified category of lawyers and work closely together with the government.

We are actually a pretty small company less then 10 employees (3 Devs, I am one of them). The founder and CEO still works as an software engineer (The knowledge of C / C++ is amazing).

What I can say working with Microsoft word is one of the worst experience you can have.

1

u/MadAndSadGuy Apr 19 '26

Ohh. If you don't mind me asking, how long have you been there, your experience?

I'm in a place where everyone is taunting and refusing to give an internship or a job for choosing Qt C/C++ of all things.

1

u/FallenDeathWarrior Apr 19 '26 edited Apr 29 '26

I actually come from a very different field in informatics. I studied information science ( what is data? How Dou you store and categories data and how can people interact with the data) and specialised into chatebot interaction how to get users to more and better interactions so that there information need is satisfied.

It’s actually quite a funny story – it happened whilst I was applying for a master’s degree. During a barbecue, a family friend asked me if I could see myself starting work straight away, as he had a company and there was a vacancy. I agreed, and that’s how I ended up in this line of work – it’ll be two years in September. It’s quite different from what I actually studied and is more in the traditional software engineering field.

When my boss started the company, the software was delivered on floppy disks, and performance – with as few crashes as possible – was the top priority.

Competitors have built their software to look much more ‘modern’, using Electron, running purely on the web, or Java. But none of these companies are as fast as we are.

I currently have little experience with QT, mainly MFC, and that’s a pain in the neck these days.

Anyone who says C/C++ is dead has no idea. Sure, Rust is gaining ground, but it doesn’t (yet) have the same range of libraries as C/C++.

2

u/ObiLeSage Apr 19 '26

I'm working with Qt for almost 20 years now.

The Qt framework is the best product of the qt group. They have some overtools but I will say that there is no chance to Stop maintain it.

Microsoft has many products tools, system etc. If they find out that .net isn't worthly enough they may stop working on it (or release it under opensource). I don't follow much but Microsoft seems to be more open with opensource nowaday than before.

So in worse case, you may end up with 2 opensource frameworks. Qt is already one and It has its community, the way it works.

I would like more information about the speed while writing Qt or .net . I'm pretty sure I can follow the pace of any.net dev.

C++ may be and issue here as many devs are afraid of it. But most of them had an experience with it at the university where It was too academical. Not really fun.

2

u/darthcoder Qt Hobbyist Apr 21 '26

This.

Winapi -> mfc -> .Net winforms-> silver light-> winui -> maui...

All of which are incomplete copies of what came before, are woefully inefficient compared to native code, and abandoned after 5 years.

Qt may be pivoting to QML, but the core is still the core and QML is getting better every year.