Betreff: Desktop-App (Mac/Win) mit Qt & komplexer UI – Python oder C++ für Hobby-Entwickler mit KI-Fokus?

2 Antworten

Ich denke, mit C++ wirst du definitiv Probleme bekommen (sei es aufgrund kryptischer Compilerfehler, Objektverwaltung, falsch gesetzter Modifier oder Operatoren, u.ä.) und zusätzlich kannst du damit rechnen, dass Hilfstools wie ChatGPT dich in Sackgassen manövrieren werden, da du doch nie weißt, ob das, was dir empfohlen wird, tatsächlich gut und richtig ist. Das beginnt schon damit, dass man mit Qt noch einmal anders an Problemlösungen herangeht, als mit Standard C++.

So etwas wird dir sicherlich ebenso bei Python passieren, doch sollte da der Aufwand dennoch geringer ausfallen.

In Performance-Probleme dürftest du da nur bei einem schlechten Programmdesign laufen. Bei deiner Projektbeschreibung fällt mir ansonsten gerade nichts ein, was sonst schwer darauf einzahlen sollte. Nutze in deinem Projekt halt möglichst viel der bereits bestehenden Qt-Implementationen statt Eigenlösungen.

Was ratet ihr mir in dieser spezifischen Situation für den Start mit Qt?

Lerne zuerst Python oder C++, statt komplett auf Hilfstools zu bauen. Du schreibst selbst, dass es sich um eine Hobbyentwicklung handelt, also gehe ich auch davon aus, dass du genügend Zeit dafür hast.

Wenn es dazu deinerseits keinerlei Motivation gibt, bleibt dir wohl nichts anderes übrig, als mit dem Qt Designer die Oberfläche zusammenzuklicken und bzgl. des generierten Python-Codes auf das Beste zu hoffen.

Bezüglich der Projektplanung solltest du noch vor irgendeiner Umsetzungsphase ganz genau definieren, was du alles brauchst. Zudem würde ich gesetzte Anforderungen nochmals hinterfragen. Möglicherweise sind nicht alle wirklich notwendig und können mit Abwurf das Projekt vereinfachen.

Ich neige zu Python, insbesondere auch wenn Du eh schon Python Erfahrugn hast. Letztlich wird das Objektmodell der GUI auf die Primitive von Python übertragen, wenn Du dort schon guten Zugang zu OOP etc. hast, dann wird Dir das definitiv leicht fallen.

Wenn (wie die GUI) das meiste in Python eh nur Glue ist und vieles von in C (o.ä.) geschriebenen Packages/Modulen erledigt wird, ist auch Performance nicht so das Ding. (Achja, seit 3.13 hat Python ja auch ein JIT und kann aufs GIL verzichten - Robustheit mal außen vor)

Klar, C++ wäre nativ, das fühlt sich irgendwie 'richtig' an, aber durch die statische Typisierung wirst Du bei Polymorphie usw. mit C++ deutlich schneller deutlich mehr "Spaß" haben - insbesondere wenn Du dann auch aktuelle Compiler nutzt, die sehr strikt mit Typenwandlungen etc. ins Gericht gehen.

Kurzum: Wenn Du nicht die Intention hast gerade auch C++ so richtig zu lernen und das Projekt als Motivation dafür nutzen willst, dann wäre IMHO Python die naheliegende Variante.

Aber vielleicht sehen andere das ja anders.