CppCon 2017: Lars Knoll “Qt as a C++ Framework: History, Present State and Future”

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ต.ค. 2024

ความคิดเห็น • 46

  • @vladimirkraus1438
    @vladimirkraus1438 6 ปีที่แล้ว +30

    I must say I do not understand all the criticism of Qt. Of course it is not perfect and has some burden from the past (like C++ has), but still it is the best framework for multiplatform desktop development. It is very very performant (e.g. WPF or java GUI libraries are a joke in this aspect), has very intuitive, easy to learn and easy to start with API, it uses some very limited subset of C++, which makes it very accessible even to non-C++ people. If people are criticizing Qt, they should suggest what other framework they would use for desktop GUI applications... Electron? With the ("hello world") 100 MB+ runtime? Do not make me laugh, please.

    • @YourTVUnplugged
      @YourTVUnplugged 5 ปีที่แล้ว

      Yes Vladimir I agree they make me laugh too! :P

    • @kuhluhOG
      @kuhluhOG 3 ปีที่แล้ว +5

      don't forget that it has one of the best documentations for users of open source libraries

  • @IllumTheMessage
    @IllumTheMessage 7 ปีที่แล้ว +11

    QT fills a niche a lot of groups need. Good stuff.

  • @respomanify
    @respomanify 7 ปีที่แล้ว +14

    Are you moc'ing us?

  • @mrlithium69
    @mrlithium69 7 ปีที่แล้ว +29

    The QT project is stopped by its own mistakes in the past that it cant fix without invalidating peoples old code. The thing is, they can just download and use the old version of QT if they need to. Go ahead and "break the API", its not breaking anything if you still can use the old version. I run into this issue all the time on QT anyway and end up having to find the exact right version to compile with. We need to start fresh by QT 6. Anyone not on board can use QT 5 and I know people still using 4.

    • @mrlithium69
      @mrlithium69 7 ปีที่แล้ว +2

      Interesting the next talk i watched was CppCon 2017: Titus Winters “C++ as a "Live at Head" Language” and that was very good at explaining software engineering and the guidelines of how to upgrade QT into the future. Although he does say binary distirbution (vs source code) is way different.

    • @DimiterStanev
      @DimiterStanev 7 ปีที่แล้ว +2

      I worked briefly at Google, mostly Java, so I don't have the full picture of how things were running, but from what I've seen everything that gets recompiled (unless very very few cases) from sources, and (almost) everything is statically built, or at least that is the case for, as google calls them "binaries", that need to run on the servers (chromium, and other open source projects might differ). Also there are dedicated teams that do large changelists to fix things across the entire depot, both for Java, C++, and other supported languages. E.g. there is no need really for backward compatibility ABI wise. Systems would catch early that something is broken, and rollbacks would be ensued. bazel.build/

    • @llothar68
      @llothar68 7 ปีที่แล้ว +2

      Binary compatibility is not the problem, source level compatibility is a problem.

    • @DimiterStanev
      @DimiterStanev 7 ปีที่แล้ว

      Why would that be a problem with a CI? E.g. it may be a temporary problem, but as long as things compile, and unit tests run, there is no issue. In a way, you don't need versioning - you just have the code, and some amount of proof that it should work. Things that tend to break more are existing stored artifacts - say protobuffer with field declared one way, later re-declared without backward compability.

    • @vladimirkraus1438
      @vladimirkraus1438 6 ปีที่แล้ว

      You say Qt project is stopped? Oh, really?

  • @andik70
    @andik70 7 ปีที่แล้ว +4

    1:20:50 'its an open source project, you can get involved..' how would that work. If you contribute to the open source, then what about the commercial licence? Do you have to give away your work for free (to the commercial licence then)?

  • @abdulsalamabdullah1792
    @abdulsalamabdullah1792 5 ปีที่แล้ว +1

    The PDF source code of this presentation is not in Github

  • @andreaspokorny3089
    @andreaspokorny3089 7 ปีที่แล้ว

    The copperspice string is a new implementation. I do not see any QString related bits. So I doubt that you can call cstring a qstring fork...

    • @llothar68
      @llothar68 7 ปีที่แล้ว

      But copperspice is a joke.

    • @porkybrain
      @porkybrain 7 ปีที่แล้ว +1

      exactly what I wanted to write, CsString is what QString should have been and a total rewrite: policy based, extensible and _standalone_! its not tied to gigabytes of the past.

  • @navidrahimi1914
    @navidrahimi1914 7 ปีที่แล้ว +14

    I quite disappointed by content. What is this? “History of Qt”? “Introduction of Qt”. This is cppcon for god sake don’t waste our time by talking about version history or what platform do you support. Instead talk about technical challenges and difficulties and how should we address them.

    • @llothar68
      @llothar68 7 ปีที่แล้ว +1

      This year a lot of the talks were like that. Looks like CppCon get only really interesting when a new standart is coming and they have to educate the masses about the nasty details. I expect a lot for CppCon 2019.

  • @hanneshauptmann
    @hanneshauptmann 7 ปีที่แล้ว +12

    I dont get why Qt gets a talk in CppCon.
    "Its a open source project ... for development"
    To me, its more like an ad than a talk.

    • @DimiterStanev
      @DimiterStanev 7 ปีที่แล้ว +12

      On the contrary, I would like more talks like this. The platform is being used by a lot of tools & apps, like: Maya, MotionBuilder, Amazon's LumberYard, and many more. We use it internally for our project, when we made the MFC -> Qt transition. Since then, it helped a lot of our programmers to get things into it. I'm not blaming MFC, it's just MFC requires much more deep knowledge of certain things than Qt to get things done. Qt is much easier in this respect.

  • @davidporterrealestate
    @davidporterrealestate 7 ปีที่แล้ว

    Excellent information - and well presented

  • @Superlokkus5
    @Superlokkus5 6 ปีที่แล้ว +2

    The upload is broken I only see an AD for "Java on C++"

  • @s_h_o_k1836
    @s_h_o_k1836 6 ปีที่แล้ว +1

    Its interesting, u know

  • @RobertFisher1969
    @RobertFisher1969 7 ปีที่แล้ว +4

    This should not have been a plenary talk. I’m not sure it should’ve been at CppCon at all. If it had more of the “string.find” to “string.indexOf” stuff and less of everything else, it would’ve been worthwhile.

  • @MO-fg2cm
    @MO-fg2cm 2 หลายเดือนก่อน

    eerily difficult to learn and make something good out of qt

  • @ongamex
    @ongamex 7 ปีที่แล้ว +17

    I really hate how they try to hide that the library is free for commercial use.

    • @MrSparc
      @MrSparc 7 ปีที่แล้ว +8

      Library is not free for commercial purposes, it's free only if you project follows the requirements for LGPLv3/GPLv3 license. For example, if your product is closed source you need to pay to use Qt.

    • @tracco
      @tracco 7 ปีที่แล้ว +18

      Mmmm, not sure that's correct. My understanding is that you can do whatever you want with your software, as long as you don't modify Qt itself, you only need to dynamically link to the libraries or, if statically linked, provide your object files so that the user can chop and change.

    • @ongamex
      @ongamex 7 ปีที่แล้ว +10

      yes it is free for commercial use, a TON of companies use it for commercial use, of course they do not modify the library, and they link dynamically. it is free for commercial use under LGPL lic.

    • @hurd_
      @hurd_ 7 ปีที่แล้ว +11

      +MrSparc You're dead wrong.

    • @dipi71
      @dipi71 7 ปีที่แล้ว +1

      So what is it then, hurd? And why?

  • @Fetrovsky
    @Fetrovsky 7 ปีที่แล้ว +26

    People should say "cutie" instead of "cute".

  • @17plus9
    @17plus9 7 ปีที่แล้ว +3

    Q_FANBOYS

  • @Quazgaa
    @Quazgaa 7 ปีที่แล้ว +4

    this whole thing is just an advertisement and should not be allowed. you can tell the presenter is even embarrassed to be doing it, and everyone who watches this im sure is embarrassed for him. i had to stop watching pretty quick; i felt like i should be buying timeshares or something.

  • @llothar68
    @llothar68 7 ปีที่แล้ว +2

    Qt is more and more a dead end in GUI development. It's not done like this anymore. Use Qt for basic operations of your common code but move to the platform specific code for GUI. They look so ugly now and even GTK is better then Qt.

    • @Vogtinator
      @Vogtinator 7 ปีที่แล้ว +17

      GTK is currently as good as Qt was around 2005.

    • @llothar68
      @llothar68 7 ปีที่แล้ว

      For Desktop development, what has changed in Qt since 2005 ? GTK now has lots of nice animations and abstractions and a WebKitGtk making it better then Qt was until 2014. But yes GTK is a Linux toolkit, don't call it cross-platform. I wouldn't even bet on support in the Free/Open/NetBSD world because it gets integration with GNOME and GNOME is getting more tight coupled with Linux mechanisms.
      UWP applications with QT, no you can't and wont and you still cant do iOS if you want to add a HTML view (or was this restriction lifted from the apple store - the restriction that only safari and their own webkit view are allowed to be used).

    • @MrSparc
      @MrSparc 7 ปีที่แล้ว +3

      The embedded systems are currently the mainstream target for Qt. Most automotive infotainment , medical or industrial systems uses Qt. The usage of Qt for desktop or mobile most probably be residual.

    • @Vogtinator
      @Vogtinator 7 ปีที่แล้ว +5

      It's the opposite. Qt integrates very well everywhere (it even loads GTK themes!) but GTK looks foreign everywhere except GNOME.

    • @DimiterStanev
      @DimiterStanev 7 ปีที่แล้ว +3

      Sorry, but that's the wrong advice. There are plenty of huge applications using Qt that are very important and used to create content for movies, video games, etc. Just one example: www.autodesk.com/products/maya/overview