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. Boost vs Qt

Boost vs Qt

Scheduled Pinned Locked Moved General and Desktop
13 Posts 8 Posters 25.3k Views
  • 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.
  • H Offline
    H Offline
    hpng
    wrote on last edited by
    #1

    I do not want to start a religious war here.
    I am new to Qt and have not tried Boost yet.

    For those who have used both, I like some comments and insights of pros and cons for
    Boost versus Qt.

    1 Reply Last reply
    1
    • G Offline
      G Offline
      giesbert
      wrote on last edited by
      #2

      At first: It's different

      I'm using both, but more Qt than boost, I will tell you why:

      first of all: both are professional libs

      Qt is really comfortable to use

      boost documentation is IMO not the best

      but boost has some stuff, Qt does not have: smart pointers are better and more

      We use boost test for unit testing our software (we used it before QtTest exists :-)

      boost functors are pretty good and much better than STL support for it.

      Nokia Certified Qt Specialist.
      Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

      1 Reply Last reply
      1
      • K Offline
        K Offline
        koahnig
        wrote on last edited by
        #3

        I agree with Gerolf, especially when it comes to documentation. The boost documentation is not really straight forward, but it is managable.
        It is certainly possible to use Qt and boost in parallel. So, far I have not run into problems.

        Vote the answer(s) that helped you to solve your issue(s)

        1 Reply Last reply
        0
        • F Offline
          F Offline
          Franzk
          wrote on last edited by
          #4

          Qt API wins on consistency and predictability.

          "Horse sense is the thing a horse has which keeps it from betting on people." -- W.C. Fields

          http://www.catb.org/~esr/faqs/smart-questions.html

          1 Reply Last reply
          0
          • U Offline
            U Offline
            Uwe Kindler
            wrote on last edited by
            #5

            Great - now you have started the war ;)
            We use boost and Qt together in our Qt based applications - but more Qt than boost. After some years of development with both libraries in my opinion:

            boost documentation is (really, really) horrible compared to Qt documentation and a real pain to read - to make it short: the documentation is simply bad

            boost documentation is incomplete, not well structured and missing good examples

            boost is focused on generic template programming while Qt is more focused on clean object oriented

            programming

            boost smart pointers are better than Qt smart pointer - and because they are easy to use the bad documentation doesn't matter here

            the heavy use of templates in boost increases compile times (even on my core i7)

            because of the templates boost compile errors are pure nightmare

            boost has a lot of stuff that is missing in Qt (and vice versa)

            boost libraries we mainly use here are: shared pointer, property tree (i like it), foreach, filesystem, multi-index, optional, serialization, thread

            boost test framework is not bad - we use it for non Qt applications and libraries

            Boost has a lot of great stuff. The problem is the really bad documentation. Even if a library is "high professional c++" or very "excellent designed" - without a good documentation it is useless or a pain to use. If you ever worked with the Qt documentation, which is IMHO the best documentation of any library I ever used, you will hate the boost documentation.

            Another great thing on Qt are the lot of good examples. Sometimes, or often you can learn more from a good example than from a lot of documentation pages. boost is missing these examples and so it is much more difficult to use in my opinion.

            1 Reply Last reply
            0
            • G Offline
              G Offline
              giesbert
              wrote on last edited by
              #6

              As I said, I prefer Qt on all, that Qt has, the rest I take from boost ;-)

              On plus for boost is, they try to bring their stuff into C++ standards.

              Nokia Certified Qt Specialist.
              Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

              1 Reply Last reply
              0
              • K Offline
                K Offline
                koahnig
                wrote on last edited by
                #7

                For those who can read German. Here is the German wikipedia entry for boost: http://de.wikipedia.org/wiki/Boost_(C++-Bibliothek)

                There is a section there specifying the "requirements for license" in order to be part of boost. The first requirement is that it has to be easy to read and easy to understand. :-)
                In reference to the statements given here on boost's documentation, it is obviously refering to the license writing only.

                Is someone aware of the time line for becoming part of C++ standard?

                Vote the answer(s) that helped you to solve your issue(s)

                1 Reply Last reply
                0
                • F Offline
                  F Offline
                  Franzk
                  wrote on last edited by
                  #8

                  Parts of boost will become part of the stl in C++11.

                  "Horse sense is the thing a horse has which keeps it from betting on people." -- W.C. Fields

                  http://www.catb.org/~esr/faqs/smart-questions.html

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    Scylla
                    wrote on last edited by
                    #9

                    @koahning
                    Your link is broken, a ")" at the end is missing ;-)

                    [fixed -mariusg]

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      goetz
                      wrote on last edited by
                      #10

                      Just for the records:
                      The english wikipedia entry: http://en.wikipedia.org/wiki/Boost_C++_Libraries

                      http://www.catb.org/~esr/faqs/smart-questions.html

                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        koahnig
                        wrote on last edited by
                        #11

                        Thanks to all for fixing and sorry for the broken link.

                        I had checked the English Wiki description of boost, but it is much shorter and does not have this interesting section. Therefore, the German version was posted.

                        However, in order to share the section in question here it is translated by Google:

                        "License conditions
                        To be part of Boost, a library must have a license, the following conditions are met:
                        It must be easily readable and understandable.
                        You must give each for any purpose (commercial and non-commercial) free copy, use and modification rights.
                        You must demand that the validity of the license is specified in each copy, or modify the software source.
                        You may not require that the license is specified in or generated executable binaries.
                        You may not require that the source code is included in or generated executable binaries.
                        You may restrict the use of names and description of the library to the standard version on the Boost website."

                        Vote the answer(s) that helped you to solve your issue(s)

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          skypjack
                          wrote on last edited by
                          #12

                          boost c++ represents a step to the c++ next technical release, for components libraries. boost c++ is a library of libraries. qt is a framework that works on c++, and not with c++. you cannot compare apples and balls, in spite of appearances! :-)

                          1 Reply Last reply
                          0
                          • G Offline
                            G Offline
                            giesbert
                            wrote on last edited by
                            #13

                            That's why I said, both are good. You can combine them. Some parts exist in both, there I typically use Qt, but many things are only in one of Qt and Boost.

                            Nokia Certified Qt Specialist.
                            Programming Is Like Sex: One mistake and you have to support it for the rest of your life. (Michael Sinz)

                            1 Reply Last reply
                            0

                            • Login

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