Also um ehrlich zu sein, ich kann den Missmut über PureBasic schon verstehen. Sobald man etwas halbwegs komplexeres tun will, z.B. über zwei Listen zeitgleich iterieren wird die Lösung in PureBasic komplexer als andere Sprachen. Der Grund dafür ist halt, dass PureBasic so breit aufgestellt ist, dass es für die Tiefe keine Ressourcen mehr geben kann. Es arbeiten nur wenige Personen daran.
Wenn ich allerdings andere Programmiersprachen und Frameworks anschaue verstehe ich aber nicht, warum man an denen etwas gutes sieht. Mittlerweile halten sich die gängigsten Platformen nichtmal mehr an die gängigsten Paradigmen. Jede GUI Bibliothek hat normalerweise irgendwelche keyDown/keyHold/keyUp Methoden/Signale/Wasauchimmer außer UIKit unter iOS. Sogar die Win32API hatte das. Dann dieser ganze Mischmasch worin diese Frameworks geschrieben wurden. Android hat Java, Kotlin und nur über äußerst aufwändige Umwege kommt man an die Möglichkeit mit seinem Anwendungscode nur auf C++ zu bleiben. Unter iOS dasselbe mit Objective C und Swift. Dann kommen nicht mehr einfach nur Executables raus, nein man muss sie aufwändig zippen in APKs und IPAs. Auf dem Desktop hat der PB Blog ja schon erwähnt, dass GTK3 nicht mehr pixel-genau ist. Zudem will Apple nun OpenGL rauswerfen und noch etwas weiteres absurdes neben DirectX hinzufügen und ausschließlich das noch unterstützen (
https://www.macrumors.com/2018/06/05/ap ... cl-gaming/).
Usability für Anwender ist ja gut und schön, aber nun geht alles genau die falschen Wege: Entwicklern wird das zu umständlich, also gehen sie über zu Apache Cordova/PhoneGap/Electron/... und bauen nur noch HTML GUIs. Damit wird das komplette System beim Anwender wiederum inkonsistent in der Darstellung, da sich die Apps nicht mehr an den Systemstil anpassen. In den meisten web basierten Apps kann man z.B. die Sprache innerhalb der App umstellen. Das ist von Android nicht so vorgesehen.
Bei Qt wollte ich in zusammenarbeit mit PureFan und DarkPlayer auch etwas relativ simples tun: Fremdfenster einbinden. Letztendlich stellte sich heraus, dass Qt unter Linux das XEmbed Protokoll nicht korrekt anwendet und daher quasi nichts funktionierte. D.h. auch wenn man Qt verwendet kommt man nicht wirklich über Basics hinaus.
Bei Apache Cordova dasselbe: zum permanenten Speichern von Daten gibt es einiges an Funktionen, aber nicht alle funktionieren auf allen Platformen.
Absolut furchtbar dieses Chaos. Usability richtet sich nicht nur an Endanwender, sondern auch an Anwender von Frameworks! Und hier zählt Konsistenz, damit möglichst wenig portiert werden muss! Was ist das für ein Mist in dem wir heute rumwühlen?