Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. The Lounge
  4. Why Qt desperately is targeting python ?
Forum Updated to NodeBB v4.3 + New Features

Why Qt desperately is targeting python ?

Scheduled Pinned Locked Moved Solved The Lounge
12 Posts 8 Posters 2.0k Views 2 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.
  • JKSHJ Offline
    JKSHJ Offline
    JKSH
    Moderators
    wrote on last edited by
    #2

    @CroCo, if you publish a toolkit, you would want your project to be used by as many people as possible, right? I don't think it's desperation; it's common sense. A wider audience makes your toolkit stronger.

    Let's look at it the other way: Why shouldn't the Qt Project target Python? Why should it restrict itself to C++ programmers only? Lots of non-C++ programmers want to use Qt: https://wiki.qt.io/Language_Bindings#These_are_third_party_language_bindings_for_Qt

    the primary goal for Qt is to provide C++ programmers with tools for building realistic GUI

    That is how Qt started, but Qt is more than just a GUI toolkit today -- it is a multi-purpose toolkit for cross-platform development, covering lots of useful non-GUI use-cases (like networking, cryptography, SQL, data serialization, and more: https://doc.qt.io/qt-5/qtmodules.html).

    And it's not just a C++ toolkit anymore; QML is a huge part of Qt now.

    Any reasons for this move? Why they are eager for python?

    Python has one of most active communities today. So, it makes sense to make Qt easily accessible to Python programmers.

    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

    C 1 Reply Last reply
    5
    • C CroCo

      Since the primary goal for Qt is to provide C++ programmers with tools for building realistic GUI and it indeed has succeeded. I've found weird that Qt community is targeting python programming. It seems to me it is a desperate move to target more audience. Am I right? Any reasons for this move? Why they are eager for python?

      jsulmJ Online
      jsulmJ Online
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #3

      @croco I was using Qt and PyQt in 200x already, this is really nothing new and I have no idea why you think it could be desperation.
      "Why they are eager for python?" - why not? If it is possible why shouldn't Python be supported? There are people using Python and Qt, there is nothing wrong about it.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      3
      • C Offline
        C Offline
        CroCo
        wrote on last edited by
        #4

        For downvoters, please be open-minded. I'm not attacking Qt rather I need to know why this massive move is needed.

        1 Reply Last reply
        1
        • JKSHJ JKSH

          @CroCo, if you publish a toolkit, you would want your project to be used by as many people as possible, right? I don't think it's desperation; it's common sense. A wider audience makes your toolkit stronger.

          Let's look at it the other way: Why shouldn't the Qt Project target Python? Why should it restrict itself to C++ programmers only? Lots of non-C++ programmers want to use Qt: https://wiki.qt.io/Language_Bindings#These_are_third_party_language_bindings_for_Qt

          the primary goal for Qt is to provide C++ programmers with tools for building realistic GUI

          That is how Qt started, but Qt is more than just a GUI toolkit today -- it is a multi-purpose toolkit for cross-platform development, covering lots of useful non-GUI use-cases (like networking, cryptography, SQL, data serialization, and more: https://doc.qt.io/qt-5/qtmodules.html).

          And it's not just a C++ toolkit anymore; QML is a huge part of Qt now.

          Any reasons for this move? Why they are eager for python?

          Python has one of most active communities today. So, it makes sense to make Qt easily accessible to Python programmers.

          C Offline
          C Offline
          CroCo
          wrote on last edited by CroCo
          #5

          @jksh well if we are going with this logic, then we may see in the future a move for other programming languages like Java. If we proceed, then C++ programming will be at risk. But I still didn't convinced why pyhton rather than other programming languages such as Java, C# or even Matlab if the goal is to target academic audience. I'm not here to attack python rather I would like to see more convincing reasons for this adaptation.

          aha_1980A JKSHJ 2 Replies Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by SGaist
            #6

            Hi,

            Java bindings were already done a long time ago. It was called Qt Jambi.

            As for the Python move, there's no move, the bindings have existed for years. The main difference now is that you have a new set of bindings that follow the same licensing model as Qt itself which makes them easier to integrate in other projects.

            Python is one of the main language in the research and academic fields. Take for example Pytorch and Tensorflow in the deep learning and artificial intelligence area.

            There are other bindings that exists for other languages that are less known.

            As for C/C++, it's not going away anytime soon. It's still the language that allows you to squeeze all the power you can from your hardware.

            [edit: fixed typo SGaist]

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            4
            • C CroCo

              @jksh well if we are going with this logic, then we may see in the future a move for other programming languages like Java. If we proceed, then C++ programming will be at risk. But I still didn't convinced why pyhton rather than other programming languages such as Java, C# or even Matlab if the goal is to target academic audience. I'm not here to attack python rather I would like to see more convincing reasons for this adaptation.

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

              Hi @croco,

              I've just to add to @SGaist: Qt is written in C++ and that did not change even if QML existed for a decade. And you still can program in pure C++ without ever needing to know QML.

              And that is what happens with lots of libraries: the core is written in a machine near language, but the API is exposed to anything possible. Just use the language that fit's your project best.

              Regards

              Qt has to stay free or it will die.

              1 Reply Last reply
              5
              • C CroCo

                @jksh well if we are going with this logic, then we may see in the future a move for other programming languages like Java. If we proceed, then C++ programming will be at risk. But I still didn't convinced why pyhton rather than other programming languages such as Java, C# or even Matlab if the goal is to target academic audience. I'm not here to attack python rather I would like to see more convincing reasons for this adaptation.

                JKSHJ Offline
                JKSHJ Offline
                JKSH
                Moderators
                wrote on last edited by JKSH
                #8

                @croco said in Why Qt desperately is targeting python ?:

                @jksh well if we are going with this logic, then we may see in the future a move for other programming languages like Java.

                Yes, that's right. If Java becomes rapidly-growing, then it makes sense to consider targeting Java programmers too. In the practice of project management, this is called adaptation.

                Nokia used to be one of the most successful phone makers in the world. However, it failed to adapt to new market conditions, so Nokia collapsed.

                If Qt can adapt to the changing programming world, then Qt will continue to succeed.

                If we proceed, then C++ programming will be at risk.

                Can you explain why you think that supporting new languages puts C++ at risk?

                The Qt Project is not dropping C++ in favour of Python; it is adding Python to its core C++ ecosystem.

                But I still didn't convinced why pyhton rather than other programming languages such as Java, C# or even Matlab if the goal is to target academic audience. I'm not here to attack python rather I would like to see more convincing reasons for this adaptation.

                Then let data convince you. See the Stack Overflow Developer Surveys:

                • https://insights.stackoverflow.com/survey/2017/#technology
                • https://insights.stackoverflow.com/survey/2018/#technology
                • https://insights.stackoverflow.com/survey/2019/#technology

                The table below summarizes what percentage of survey respondents used the languages that you mentioned:

                Language 2017 2018 2019
                Python 32.0% 38.8% 41.7%
                Java 39.7% 45.3% 41.1%
                C# 34.1% 34.4% 31.0%
                C++ 22.3% 25.4% 23.5%
                Matlab 4.3% 5.8% N/A

                As you can see, Python is the only one in the list to grow by almost 10% over the last 2 years. Back in 2017, Python was less commonly-used than Java or C#, but this year it has overtaken both Java and C#. Python is also expected to grow even more next year.

                The Matlab community is too small, so it doesn't make sense for the Qt Project to spend too much effort targeting Matlab users.

                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                J.HilkJ 1 Reply Last reply
                5
                • JKSHJ JKSH

                  @croco said in Why Qt desperately is targeting python ?:

                  @jksh well if we are going with this logic, then we may see in the future a move for other programming languages like Java.

                  Yes, that's right. If Java becomes rapidly-growing, then it makes sense to consider targeting Java programmers too. In the practice of project management, this is called adaptation.

                  Nokia used to be one of the most successful phone makers in the world. However, it failed to adapt to new market conditions, so Nokia collapsed.

                  If Qt can adapt to the changing programming world, then Qt will continue to succeed.

                  If we proceed, then C++ programming will be at risk.

                  Can you explain why you think that supporting new languages puts C++ at risk?

                  The Qt Project is not dropping C++ in favour of Python; it is adding Python to its core C++ ecosystem.

                  But I still didn't convinced why pyhton rather than other programming languages such as Java, C# or even Matlab if the goal is to target academic audience. I'm not here to attack python rather I would like to see more convincing reasons for this adaptation.

                  Then let data convince you. See the Stack Overflow Developer Surveys:

                  • https://insights.stackoverflow.com/survey/2017/#technology
                  • https://insights.stackoverflow.com/survey/2018/#technology
                  • https://insights.stackoverflow.com/survey/2019/#technology

                  The table below summarizes what percentage of survey respondents used the languages that you mentioned:

                  Language 2017 2018 2019
                  Python 32.0% 38.8% 41.7%
                  Java 39.7% 45.3% 41.1%
                  C# 34.1% 34.4% 31.0%
                  C++ 22.3% 25.4% 23.5%
                  Matlab 4.3% 5.8% N/A

                  As you can see, Python is the only one in the list to grow by almost 10% over the last 2 years. Back in 2017, Python was less commonly-used than Java or C#, but this year it has overtaken both Java and C#. Python is also expected to grow even more next year.

                  The Matlab community is too small, so it doesn't make sense for the Qt Project to spend too much effort targeting Matlab users.

                  J.HilkJ Online
                  J.HilkJ Online
                  J.Hilk
                  Moderators
                  wrote on last edited by
                  #9

                  @jksh I'm curious, do you think the high Java part is mostly due to Android and it's multitude of platforms ?


                  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.

                  JKSHJ 1 Reply Last reply
                  0
                  • J.HilkJ J.Hilk

                    @jksh I'm curious, do you think the high Java part is mostly due to Android and it's multitude of platforms ?

                    JKSHJ Offline
                    JKSHJ Offline
                    JKSH
                    Moderators
                    wrote on last edited by
                    #10

                    @j-hilk said in Why Qt desperately is targeting python ?:

                    @jksh I'm curious, do you think the high Java part is mostly due to Android and it's multitude of platforms ?

                    Hmm... quite possibly.

                    According to https://insights.stackoverflow.com/survey/2019/#technology-_-platforms 27.0% of respondants developed software for Android (c.f. 53.3% for Linux and 50.7% for Windows)

                    So if we assume that 75% of Android developers use Java, that leaves 21.5% (= 41.7% - 0.75*27.0%) of respondents who do purely non-Android development using Java.

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    1 Reply Last reply
                    2
                    • C CroCo

                      Since the primary goal for Qt is to provide C++ programmers with tools for building realistic GUI and it indeed has succeeded. I've found weird that Qt community is targeting python programming. It seems to me it is a desperate move to target more audience. Am I right? Any reasons for this move? Why they are eager for python?

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

                      @croco said in Why Qt desperately is targeting python ?:

                      Since the primary goal for Qt is to provide C++ programmers with tools for building realistic GUI

                      What makes you say that Qt's "primary goal" is to support C++? Yes, it's written in C++, but no reason why not to support other user programming languages, provided bindings can be made available.

                      I am forced to use Qt from Python, and whatever the shortcomings of that language there is no reason why C++ should be suitable for "building realistic GUI" but not Python.

                      1 Reply Last reply
                      4
                      • fcarneyF Offline
                        fcarneyF Offline
                        fcarney
                        wrote on last edited by
                        #12

                        I would say that due to python being a default install in many *nix based platforms is one reason. If Qt is available then it is pretty simple to put together dialogs and scripts for doing common tasks. Python is the glue language. The major alternative for guis in Python wxpython. I have used both and Qt is a much richer system for guis.

                        C++ is a perfectly valid school of magic.

                        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