Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow

Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow

Scheduled Pinned Locked Moved Unsolved General and Desktop
14 Posts 9 Posters 5.4k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Steven123
    wrote on last edited by
    #1

    Hello everyone,

    I'm developing a personal desktop task management application for macOS and Windows. My long-term goal is to include complex UI features like a Kanban board with drag & drop, a calendar view with OS integration (e.g., writing to Apple Calendar), and other interactive elements. My primary concern is choosing a technology stack that can handle these complexities to avoid a complete GUI rewrite later due to framework limitations.

    After much consideration, I've decided to use the Qt framework for its UI power and tools like Qt Designer.

    My core dilemma now is the language to use with Qt: Python (with PySide6) or C++?

    Here's some context about my situation:

    I'm a hobbyist developer, not a professional.
    I plan to rely heavily on AI assistance for code generation.
    My C++ experience is very minimal: For some tiny Windows utility tools (using WinAPI, not Qt), an AI generated most of the code, and my involvement was primarily focused on relaying error messages to the AI. I don't consider myself a C++ developer.
    My Go experience is also minimal (just built a test window with Fyne). Fyne itself is ruled out for this main task app due to discovering limitations with its drag & drop capabilities for my Kanban needs.
    I do have an existing (AI-written) Python backend service for a different iOS Swift app, so Python is somewhat in my broader tech ecosystem. I also have an interest in Python for other areas like Pentesting and scripting.
    An installer and dependencies are acceptable for this specific task app. (My desire for small, single .exe files pertains to other, future, small Windows utility tools, for which I might consider Go or C++/WinAPI separately).
    Web-based UI approaches (Electron, Wails, etc.) are not preferred due to the learning curve of a full frontend web stack just for this app.
    The Trade-off I'm Facing with Qt:

    Python/Qt (PySide6):

    Pros: Full Qt power. Python is significantly more accessible for me to learn/manage than C++. Obvious synergies with my other Python interests/projects. AI assistance should be very effective. Qt Designer workflow is good. OS integration (like Apple Calendar via PyObjC on macOS) seems quite feasible. My earlier concerns about Python's GUI performance are likely unfounded when using Qt's C++ core.
    My Main Problem: I have a persistent, strong personal aversion or "bad feeling" about using Python specifically for GUI development. I can't quite pinpoint why, but it doesn't "feel right" for the UI part, even though I'm fine with Python for backend/scripts.
    C++/Qt:

    Pros: "Native" Qt, no Python GUI aversion, maximum performance (though probably not the deciding factor for my app).
    My Main Concern: The extremely steep learning curve for C++ from my current base. I'm worried I'll spend months just struggling with the language itself (even with AI help for code generation, as debugging/understanding complex C++ is hard), leading to frustration and "wasted time" before the app makes progress.
    My Question for the Community:
    I want to "start properly" by building Version 0.0.1 of my task app (basic window, input field, button, list display) using Qt.
    Given my situation (hobbyist, AI-centric workflow, minimal C++ skills, Python GUI aversion but other Python uses, complex UI goals with Qt):

    Which path (Python/Qt despite my aversion, or C++/Qt despite the huge learning curve) would you advise for a higher chance of successfully building this complex app without hitting a wall or burning out?
    How significant is the "Python for GUI" aversion if AI and tools like Qt Designer handle much of the direct UI coding? Is this something one can "get over" with a good framework like Qt?
    Am I underestimating the C++ learning curve for Qt, even with AI?
    My ultimate goal is to build the app with its advanced features and avoid a painful rewrite. Any advice on how to break this Python/Qt vs. C++/Qt deadlock for starting with Qt would be greatly appreciated!

    Thanks!

    Pl45m4P JonBJ 2 Replies Last reply
    0
    • Axel SpoerlA Online
      Axel SpoerlA Online
      Axel Spoerl
      Moderators
      wrote on last edited by
      #2

      Regarding Python vs. C++, my vote goes to C++.
      However, those languages are not the only alternative on the table.
      Why don't you peek into QML and use Quick Controls to develop your app?
      QML is much easier to learn than any of the above, with a strong focus on UI design.
      If anything seems out of reach, you write a C++ extension for it.

      We're working on a suite to enable extending QML with many other languages, but that's a future feature.

      Software Engineer
      The Qt Company, Oslo

      JoeCFDJ 1 Reply Last reply
      2
      • S Steven123

        Hello everyone,

        I'm developing a personal desktop task management application for macOS and Windows. My long-term goal is to include complex UI features like a Kanban board with drag & drop, a calendar view with OS integration (e.g., writing to Apple Calendar), and other interactive elements. My primary concern is choosing a technology stack that can handle these complexities to avoid a complete GUI rewrite later due to framework limitations.

        After much consideration, I've decided to use the Qt framework for its UI power and tools like Qt Designer.

        My core dilemma now is the language to use with Qt: Python (with PySide6) or C++?

        Here's some context about my situation:

        I'm a hobbyist developer, not a professional.
        I plan to rely heavily on AI assistance for code generation.
        My C++ experience is very minimal: For some tiny Windows utility tools (using WinAPI, not Qt), an AI generated most of the code, and my involvement was primarily focused on relaying error messages to the AI. I don't consider myself a C++ developer.
        My Go experience is also minimal (just built a test window with Fyne). Fyne itself is ruled out for this main task app due to discovering limitations with its drag & drop capabilities for my Kanban needs.
        I do have an existing (AI-written) Python backend service for a different iOS Swift app, so Python is somewhat in my broader tech ecosystem. I also have an interest in Python for other areas like Pentesting and scripting.
        An installer and dependencies are acceptable for this specific task app. (My desire for small, single .exe files pertains to other, future, small Windows utility tools, for which I might consider Go or C++/WinAPI separately).
        Web-based UI approaches (Electron, Wails, etc.) are not preferred due to the learning curve of a full frontend web stack just for this app.
        The Trade-off I'm Facing with Qt:

        Python/Qt (PySide6):

        Pros: Full Qt power. Python is significantly more accessible for me to learn/manage than C++. Obvious synergies with my other Python interests/projects. AI assistance should be very effective. Qt Designer workflow is good. OS integration (like Apple Calendar via PyObjC on macOS) seems quite feasible. My earlier concerns about Python's GUI performance are likely unfounded when using Qt's C++ core.
        My Main Problem: I have a persistent, strong personal aversion or "bad feeling" about using Python specifically for GUI development. I can't quite pinpoint why, but it doesn't "feel right" for the UI part, even though I'm fine with Python for backend/scripts.
        C++/Qt:

        Pros: "Native" Qt, no Python GUI aversion, maximum performance (though probably not the deciding factor for my app).
        My Main Concern: The extremely steep learning curve for C++ from my current base. I'm worried I'll spend months just struggling with the language itself (even with AI help for code generation, as debugging/understanding complex C++ is hard), leading to frustration and "wasted time" before the app makes progress.
        My Question for the Community:
        I want to "start properly" by building Version 0.0.1 of my task app (basic window, input field, button, list display) using Qt.
        Given my situation (hobbyist, AI-centric workflow, minimal C++ skills, Python GUI aversion but other Python uses, complex UI goals with Qt):

        Which path (Python/Qt despite my aversion, or C++/Qt despite the huge learning curve) would you advise for a higher chance of successfully building this complex app without hitting a wall or burning out?
        How significant is the "Python for GUI" aversion if AI and tools like Qt Designer handle much of the direct UI coding? Is this something one can "get over" with a good framework like Qt?
        Am I underestimating the C++ learning curve for Qt, even with AI?
        My ultimate goal is to build the app with its advanced features and avoid a painful rewrite. Any advice on how to break this Python/Qt vs. C++/Qt deadlock for starting with Qt would be greatly appreciated!

        Thanks!

        Pl45m4P Offline
        Pl45m4P Offline
        Pl45m4
        wrote on last edited by Pl45m4
        #3

        @Steven123 said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

        an AI generated most of the code, and my involvement was primarily focused on relaying error messages to the AI.

        That's the problem these days...
        With minimal knowledge people throw their ideas at AI, AI tosses "something" back at them -- 9 out of 10 not the desired outcome and probably not the best result -- which they are not able to understand, integrate or even debug.

        Either you actually learn C++ from the beginning to understand the essential parts of it and then dive into Qt... but this is not gonna happen next month then...
        or you try Python since you feel more comfortable with it. Don't worry about that "GUI logic in Python feels weird"... The PySide/PyQt community is huge and even bigger apps were made using PySide.

        I know this is a Qt Forum here, but have you tried other alternatives that might fit your case even better?! Don't know what other frameworks/tools you might want to try and how your knowledge in languages like Java/JS, C# etc is...

        Edit:
        And don't worry about tools like QtDesigner... after a while and with advanced Qt experience, it is more time consuming than it saves time.

        QtQuick (instead of Qt Widgets) could be a good start for a design-oriented app and it uses QML (JS like language) to define GUI entities.


        If debugging is the process of removing software bugs, then programming must be the process of putting them in.

        ~E. W. Dijkstra

        J.HilkJ 1 Reply Last reply
        2
        • J.HilkJ Offline
          J.HilkJ Offline
          J.Hilk
          Moderators
          wrote on last edited by J.Hilk
          #4

          If wipevibe coding is your goal and not necessarily learning the language, Python should probably be your choice.

          Much bigger code base to train the LLM's on so a higher chance it actually creates something useable. But the more complex your application will get, the less the AI tools will be able to help. Keep that in mind


          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


          Q: What's that?
          A: It's blue light.
          Q: What does it do?
          A: It turns blue.

          1 Reply Last reply
          2
          • S Steven123

            Hello everyone,

            I'm developing a personal desktop task management application for macOS and Windows. My long-term goal is to include complex UI features like a Kanban board with drag & drop, a calendar view with OS integration (e.g., writing to Apple Calendar), and other interactive elements. My primary concern is choosing a technology stack that can handle these complexities to avoid a complete GUI rewrite later due to framework limitations.

            After much consideration, I've decided to use the Qt framework for its UI power and tools like Qt Designer.

            My core dilemma now is the language to use with Qt: Python (with PySide6) or C++?

            Here's some context about my situation:

            I'm a hobbyist developer, not a professional.
            I plan to rely heavily on AI assistance for code generation.
            My C++ experience is very minimal: For some tiny Windows utility tools (using WinAPI, not Qt), an AI generated most of the code, and my involvement was primarily focused on relaying error messages to the AI. I don't consider myself a C++ developer.
            My Go experience is also minimal (just built a test window with Fyne). Fyne itself is ruled out for this main task app due to discovering limitations with its drag & drop capabilities for my Kanban needs.
            I do have an existing (AI-written) Python backend service for a different iOS Swift app, so Python is somewhat in my broader tech ecosystem. I also have an interest in Python for other areas like Pentesting and scripting.
            An installer and dependencies are acceptable for this specific task app. (My desire for small, single .exe files pertains to other, future, small Windows utility tools, for which I might consider Go or C++/WinAPI separately).
            Web-based UI approaches (Electron, Wails, etc.) are not preferred due to the learning curve of a full frontend web stack just for this app.
            The Trade-off I'm Facing with Qt:

            Python/Qt (PySide6):

            Pros: Full Qt power. Python is significantly more accessible for me to learn/manage than C++. Obvious synergies with my other Python interests/projects. AI assistance should be very effective. Qt Designer workflow is good. OS integration (like Apple Calendar via PyObjC on macOS) seems quite feasible. My earlier concerns about Python's GUI performance are likely unfounded when using Qt's C++ core.
            My Main Problem: I have a persistent, strong personal aversion or "bad feeling" about using Python specifically for GUI development. I can't quite pinpoint why, but it doesn't "feel right" for the UI part, even though I'm fine with Python for backend/scripts.
            C++/Qt:

            Pros: "Native" Qt, no Python GUI aversion, maximum performance (though probably not the deciding factor for my app).
            My Main Concern: The extremely steep learning curve for C++ from my current base. I'm worried I'll spend months just struggling with the language itself (even with AI help for code generation, as debugging/understanding complex C++ is hard), leading to frustration and "wasted time" before the app makes progress.
            My Question for the Community:
            I want to "start properly" by building Version 0.0.1 of my task app (basic window, input field, button, list display) using Qt.
            Given my situation (hobbyist, AI-centric workflow, minimal C++ skills, Python GUI aversion but other Python uses, complex UI goals with Qt):

            Which path (Python/Qt despite my aversion, or C++/Qt despite the huge learning curve) would you advise for a higher chance of successfully building this complex app without hitting a wall or burning out?
            How significant is the "Python for GUI" aversion if AI and tools like Qt Designer handle much of the direct UI coding? Is this something one can "get over" with a good framework like Qt?
            Am I underestimating the C++ learning curve for Qt, even with AI?
            My ultimate goal is to build the app with its advanced features and avoid a painful rewrite. Any advice on how to break this Python/Qt vs. C++/Qt deadlock for starting with Qt would be greatly appreciated!

            Thanks!

            JonBJ Offline
            JonBJ Offline
            JonB
            wrote on last edited by JonB
            #5

            @Steven123
            Briefly.

            I cannot say about QML as I have never used and do not understand how one writes and manages anything much bigger than a few pages. All your backend logic, anything much other than plain display, has to be written in additional C++ anyway.

            Although personally I prefer C++ over Python, if you have an aversion to the details of C++ I see little problem in writing with Python + Qt6 + PySide6 (do not go Qt5 + PySide2). Basically all Qt calls are much the same whether use use C++ or Python, it's just the syntax which differs. The Qt Python docs are not great, you may find examples which are really C++ and have been "hacked" into Python. You might have to translate from C++ to Python occasionally, but that is just common sense and easier than writing C++ from scratch.

            Personally I would use PyCharm as my IDE to develop Python even with Qt over Creator.

            Not sure about your acceptance of backend Python and rejection of frontend Python. If anything I would be happier with a Python frontend and C++ to do the heavy lifting at the backend!

            As I started out saying, I do not know whether QML or some quite different non-Qt toolkit would suit your requirements.

            1 Reply Last reply
            1
            • Pl45m4P Pl45m4

              @Steven123 said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

              an AI generated most of the code, and my involvement was primarily focused on relaying error messages to the AI.

              That's the problem these days...
              With minimal knowledge people throw their ideas at AI, AI tosses "something" back at them -- 9 out of 10 not the desired outcome and probably not the best result -- which they are not able to understand, integrate or even debug.

              Either you actually learn C++ from the beginning to understand the essential parts of it and then dive into Qt... but this is not gonna happen next month then...
              or you try Python since you feel more comfortable with it. Don't worry about that "GUI logic in Python feels weird"... The PySide/PyQt community is huge and even bigger apps were made using PySide.

              I know this is a Qt Forum here, but have you tried other alternatives that might fit your case even better?! Don't know what other frameworks/tools you might want to try and how your knowledge in languages like Java/JS, C# etc is...

              Edit:
              And don't worry about tools like QtDesigner... after a while and with advanced Qt experience, it is more time consuming than it saves time.

              QtQuick (instead of Qt Widgets) could be a good start for a design-oriented app and it uses QML (JS like language) to define GUI entities.

              J.HilkJ Offline
              J.HilkJ Offline
              J.Hilk
              Moderators
              wrote on last edited by
              #6

              @Pl45m4 said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

              That's the problem these days...
              With minimal knowledge people throw their ideas at AI, AI tosses "something" back at them -- 9 out of 10 not the desired outcome and probably not the best result -- which they are not able to understand, integrate or even debug.

              See it from the positive side! All the money we can demand by fixing/reworking all these wipe coded messes people create. I see bright days for us in the future!


              Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


              Q: What's that?
              A: It's blue light.
              Q: What does it do?
              A: It turns blue.

              Pl45m4P 1 Reply Last reply
              1
              • J.HilkJ J.Hilk

                @Pl45m4 said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

                That's the problem these days...
                With minimal knowledge people throw their ideas at AI, AI tosses "something" back at them -- 9 out of 10 not the desired outcome and probably not the best result -- which they are not able to understand, integrate or even debug.

                See it from the positive side! All the money we can demand by fixing/reworking all these wipe coded messes people create. I see bright days for us in the future!

                Pl45m4P Offline
                Pl45m4P Offline
                Pl45m4
                wrote on last edited by Pl45m4
                #7

                @J.Hilk said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

                See it from the positive side! All the money we can demand by fixing/reworking all these wipe coded messes people create. I see bright days for us in the future!

                And some said AI will replace human programmers / CS engineers one day... HA :D
                The only thing GANs/LLMs ("AI") generate is more problems :D
                If you are clueless, AI code won't enlighten you, it might support you if you have an idea of what you are doing. That should be the only reason/case to use AI.
                Just my two cents...

                1000089402.jpg

                :)))


                If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                ~E. W. Dijkstra

                1 Reply Last reply
                2
                • KH-219DesignK Offline
                  KH-219DesignK Offline
                  KH-219Design
                  wrote on last edited by
                  #8

                  @J.Hilk would you please drop a short definition (or spelled-out acronym) for "wipe coding" into this thread? I believe I get the gist given all the context here, but this is the first time I am hearing it used.

                  I first came to this thread to say:

                  • Whether one chooses python/Qt or C++/Qt, I recommend a strong testing strategy from the start.
                  • Even if your testing strategy is simply a manual checklist stating how to exercise each feature in your app, you need a way to track that with each new feature addition, you (or your AI) haven't/hasn't broken 1 or more prior features.

                  I neglected to notice at first reading that the title of this thread also mentions AI.

                  Now that I see all the discussion here, I feel that my affinity towards testing is even more appropriate.

                  Whenever software is written (by human or by "other"), you cannot state whether it was written correctly without referring to some kind of specification. (A test that has a clear criteria for pass/fail is one way to express such specifications.)

                  For generated code, we tend to need even greater clarity/completeness (we could say: formality) in the specification.

                  If AI is going to generate our software, presumably humans are still specifying what is to be accomplished by the software. (This holds true until the AI has needs, desires, agency.) Therefore, I claim the craft of "writing software" will still be done by humans, but the humans will be writing "code" in some kind of specification language. (We gradually move towards this anyway with higher-and-higher level languages and DSLs).

                  I see it more as gradually-changing definitions of "code", "programming language", "compiler", "IDE"—not some kind of overnight doomsday shift.

                  The "specification language" used with the commonly-available AI bots is plain English, which is fatally ambiguous.

                  You have to test the software to know if met your true goals, which were almost certainly underspecified in the natural language prompts given to the bot.

                  Also I will leave this here: https://norvig.com/21-days.html

                  www.219design.com
                  Software | Electrical | Mechanical | Product Design

                  aha_1980A 1 Reply Last reply
                  1
                  • KH-219DesignK KH-219Design

                    @J.Hilk would you please drop a short definition (or spelled-out acronym) for "wipe coding" into this thread? I believe I get the gist given all the context here, but this is the first time I am hearing it used.

                    I first came to this thread to say:

                    • Whether one chooses python/Qt or C++/Qt, I recommend a strong testing strategy from the start.
                    • Even if your testing strategy is simply a manual checklist stating how to exercise each feature in your app, you need a way to track that with each new feature addition, you (or your AI) haven't/hasn't broken 1 or more prior features.

                    I neglected to notice at first reading that the title of this thread also mentions AI.

                    Now that I see all the discussion here, I feel that my affinity towards testing is even more appropriate.

                    Whenever software is written (by human or by "other"), you cannot state whether it was written correctly without referring to some kind of specification. (A test that has a clear criteria for pass/fail is one way to express such specifications.)

                    For generated code, we tend to need even greater clarity/completeness (we could say: formality) in the specification.

                    If AI is going to generate our software, presumably humans are still specifying what is to be accomplished by the software. (This holds true until the AI has needs, desires, agency.) Therefore, I claim the craft of "writing software" will still be done by humans, but the humans will be writing "code" in some kind of specification language. (We gradually move towards this anyway with higher-and-higher level languages and DSLs).

                    I see it more as gradually-changing definitions of "code", "programming language", "compiler", "IDE"—not some kind of overnight doomsday shift.

                    The "specification language" used with the commonly-available AI bots is plain English, which is fatally ambiguous.

                    You have to test the software to know if met your true goals, which were almost certainly underspecified in the natural language prompts given to the bot.

                    Also I will leave this here: https://norvig.com/21-days.html

                    aha_1980A Offline
                    aha_1980A Offline
                    aha_1980
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    @KH-219Design

                    would you please drop a short definition (or spelled-out acronym) for "wipe coding" into this thread?

                    I guess @J.Hilk just meant: vibe programming ;)

                    Regards

                    Qt has to stay free or it will die.

                    J.HilkJ 1 Reply Last reply
                    3
                    • KH-219DesignK Offline
                      KH-219DesignK Offline
                      KH-219Design
                      wrote on last edited by
                      #10

                      Which path (Python/Qt despite my aversion, or C++/Qt despite the huge learning curve) would you advise for a higher chance of successfully building this complex app without hitting a wall or burning out?

                      As @J.Hilk astutely pointed out: there is reason to believe that AI(s) will give you better code snippets in python than in C++.

                      Based on my prior reply, I suppose what I am saying is:

                      1. Choose a language
                      2. Add one small feature at a time
                      3. Test that the new feature works and that all prior features continue to work

                      Then just keep repeating 2 and 3. If you add a feature that doesn't work, or you add a feature that breaks other prior features, you need to "roll back" and attempt that feature again. (Or take a break, "roll back" and try a different new feature and come back to the problematic one later. To avoid burnout.)

                      I already said that I believe a testing strategy (even a manual one) is key.

                      Having mentioned "roll back", I see now that I should also emphasize: version control.

                      Without testing and version control, most projects cannot get beyond "hello world."

                      @Steven123 you seem to have done a considerable amount of research. I hope that along the way you already became convinced that testing and version control are indispensable. Most anyone who has delivered a complex piece of software will say that our habits (good habits with testing, version control, and working in bite-size chunks) were much more critical than choice of language or framework.

                      It seems that nobody who is offering advice here (myself included) has advice as to how to deliver a large project using mainly an AI-based workflow. I would have to defer to others to answer that (if any such successful others exist).

                      www.219design.com
                      Software | Electrical | Mechanical | Product Design

                      1 Reply Last reply
                      0
                      • Axel SpoerlA Axel Spoerl

                        Regarding Python vs. C++, my vote goes to C++.
                        However, those languages are not the only alternative on the table.
                        Why don't you peek into QML and use Quick Controls to develop your app?
                        QML is much easier to learn than any of the above, with a strong focus on UI design.
                        If anything seems out of reach, you write a C++ extension for it.

                        We're working on a suite to enable extending QML with many other languages, but that's a future feature.

                        JoeCFDJ Offline
                        JoeCFDJ Offline
                        JoeCFD
                        wrote on last edited by JoeCFD
                        #11

                        @Axel-Spoerl I agree with Axel. If you use Qt, you have to learn C++ anyway. Therefore, why not simply only C++? Mixed programming is messy. And C++ is generally significantly faster than Python for most computational tasks if you search a bit online

                        1 Reply Last reply
                        0
                        • aha_1980A aha_1980

                          @KH-219Design

                          would you please drop a short definition (or spelled-out acronym) for "wipe coding" into this thread?

                          I guess @J.Hilk just meant: vibe programming ;)

                          Regards

                          J.HilkJ Offline
                          J.HilkJ Offline
                          J.Hilk
                          Moderators
                          wrote on last edited by
                          #12

                          @aha_1980

                          cough, I for sure meant Wipe 😅 cough

                          "Wipe Coding": When you accidentally delete your entire codebase and call it a fresh start.

                          tomato, tomato


                          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                          Q: What's that?
                          A: It's blue light.
                          Q: What does it do?
                          A: It turns blue.

                          S 1 Reply Last reply
                          5
                          • J.HilkJ J.Hilk

                            @aha_1980

                            cough, I for sure meant Wipe 😅 cough

                            "Wipe Coding": When you accidentally delete your entire codebase and call it a fresh start.

                            tomato, tomato

                            S Offline
                            S Offline
                            SimonSchroeder
                            wrote on last edited by
                            #13

                            @J.Hilk said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

                            "Wipe Coding": When you accidentally delete your entire codebase and call it a fresh start.

                            Actually, from what I've heard, AI will for just small changes at least throw out a whole file and rewrite it. The underlying architecture of your app might change continuously. So, "wipe coding" still describes it quite well. The main problem is that if you know the language there is no chance to actually learn to understand the app because the structure is always changing. This makes it impossible to mix vibe coding with traditional programming (for now).

                            Concerning the original question: I am a C++ programmer and I'm not sure if there are parts where you'd need to write at least some C++ code if you'd choose Python. In most case (for such a simple app you are describing) I wouldn't expect to need to write C++ at all. And just a small bridging class is hopefully something the AI can easily do. I don't share your Python GUI aversion. This should not influence your decision.

                            Also, your C++ complexicity aversion is in the context of Qt most likely not warranted. In order to fully understand C++ this is quite complex. However, in the context of Qt you are not allowed to write templated classes (but use them, e.g. QVector) and also there is no meta-programming. If you stick to the C++ subset that works well with Qt it is not too hard. (And I would expect AI to stick to this subset of C++ in the context Qt, as well.)

                            That being said: Python is plenty fast for your use case. In your specific position I'd pick Python. Only to get back to the post from @Axel-Spoerl: You might want to go with QML in the first place. This will allow for much nicer GUIs. It also means you don't get to use Qt Designer. Simply said: QML is comparable to CSS and some JavaScript. But, it seems that QML would push you toward C++ instead of Python.

                            Axel SpoerlA 1 Reply Last reply
                            2
                            • S SimonSchroeder

                              @J.Hilk said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

                              "Wipe Coding": When you accidentally delete your entire codebase and call it a fresh start.

                              Actually, from what I've heard, AI will for just small changes at least throw out a whole file and rewrite it. The underlying architecture of your app might change continuously. So, "wipe coding" still describes it quite well. The main problem is that if you know the language there is no chance to actually learn to understand the app because the structure is always changing. This makes it impossible to mix vibe coding with traditional programming (for now).

                              Concerning the original question: I am a C++ programmer and I'm not sure if there are parts where you'd need to write at least some C++ code if you'd choose Python. In most case (for such a simple app you are describing) I wouldn't expect to need to write C++ at all. And just a small bridging class is hopefully something the AI can easily do. I don't share your Python GUI aversion. This should not influence your decision.

                              Also, your C++ complexicity aversion is in the context of Qt most likely not warranted. In order to fully understand C++ this is quite complex. However, in the context of Qt you are not allowed to write templated classes (but use them, e.g. QVector) and also there is no meta-programming. If you stick to the C++ subset that works well with Qt it is not too hard. (And I would expect AI to stick to this subset of C++ in the context Qt, as well.)

                              That being said: Python is plenty fast for your use case. In your specific position I'd pick Python. Only to get back to the post from @Axel-Spoerl: You might want to go with QML in the first place. This will allow for much nicer GUIs. It also means you don't get to use Qt Designer. Simply said: QML is comparable to CSS and some JavaScript. But, it seems that QML would push you toward C++ instead of Python.

                              Axel SpoerlA Online
                              Axel SpoerlA Online
                              Axel Spoerl
                              Moderators
                              wrote on last edited by SGaist
                              #14

                              @SimonSchroeder said in Advice Needed: Python/Qt vs. C++/Qt for Complex Desktop App (Hobbyist, AI-Assisted Workflow:

                              But, it seems that QML would push you toward C++ instead of Python.

                              One of my favorite app is MuseScore. This app is a schoolbook example for the power of QML. It was already good when it still was a widgets application, but it elevated from good to great in my personal ranking, with version 4 when it had been migrated to QML. A lot of heavy lifting is in fact done by means of C++ extensions to QML.

                              But architecture and community wise, that's a big plus IMHO:

                              • Widget applications (my own included) run the risk of mixing backend and ui logic. Why compute something just before displaying it? If you have a community behind a project, it will force every contributor to know C++.
                              • QML applications separate ui logic from backend logic by design. A contributor who wants to modify something on display level can do so without knowing any C++. Amending backend logic does require C++. And having that in a QML extension limits the bleed into display behavior.

                              Software Engineer
                              The Qt Company, Oslo

                              1 Reply Last reply
                              3

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved