Comment by drnick1

15 days ago

> But, in 2026, writing a greenfield application in a memory-unsafe language like C++ is a crime.

I disagree, the GUI layer is far from behind a safety critical component, and C++ is a battle-tested choice for everything from GUI, videos games, to industrial applications. If C++ is safe enough to control airplanes and nuclear reactors when used well, it is certainly safe enough for something as trivial a GUI.

The article also fails to mention frameworks like Qt, arguably the best way to write GUI apps in 2026. Qt is native (C++), has built-in memory safety features (but no GC), and is cross-platform.

...but it is comfortable and actually a PITA compared to any managed execution environment :-)

Sure, embedded systems are a different anmial...

Yet we cannot consider Qt to be native app development since every app requires the Qt runtime. Native means system libraries only.

  • There is no Qt "runtime". Qt is just a library.

    > Native means system libraries only.

    Every non-trivial application will eventually use third-party non-system libraries.

    I think "Native app development" has at least two meanings:

    1. narrow meaning: the program uses a native UI toolkit (Win32, Cocoa)

    2. broad meaning: the program targets one or more specific platforms and the UI is not not just a webview

    Even with the narrow meaning, WxWidgets would qualify as "native development" (because it uses native UI toolkits under the hood), yet it is still a third-party library.

  • >Native means system libraries only.

    Since when? To me, anything not webview-based is native, though you have varying degrees of integration into the platform.

  • I have always considered Qt apps (even for Windows) to be native. Think of VLC, VirtualBox, etc.

    • I'd consider them "naturalized"; close enough to native that you wouldn't notice any big differences, but there are still minor ones if you know what to look for.