CppCon 2018: Robert Schumacher “Don't package your libraries, write packagable libraries!”

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ส.ค. 2024
  • CppCon.org
    -
    Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2018
    -
    Amid an avalanche of packaging solutions, who's side should you take? Trick question; you can support all of them! Discover the fundamental principles that make your library easy for others to package so you don't have to! As a bonus, your builds will be faster, simpler, and more maintainable.
    This talk covers the lessons learned from packaging over 700 libraries in vcpkg, from the simplest single-header to the massive framework of Qt. We'll dissect the open source package maintainer's perspective and walk through the top library mistakes, supported by real-world examples from the vcpkg catalog.
    -
    Robert Schumacher
    Developer, Microsoft
    -
    Videos Filmed & Edited by Bash Films: www.BashFilms.com
    *-----*
    Register Now For CppCon 2022: cppcon.org/registration/
    *-----*

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

  • @PixelPulse168
    @PixelPulse168 5 ปีที่แล้ว +23

    This is without doubt a straight up talk on the packaging topic. It contains a lot of guideline of good practice.I wish I read more of these things.

  • @ching-yatphoo6513
    @ching-yatphoo6513 5 ปีที่แล้ว +13

    This is an excellent talk. I really hope library writers will follow the best practices of their build systems.

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

    That was some god tier presenting skills. The speaker didn't have a monotone voice, and the way they explained their points was very interesting. and quite informative. Nice job. Very well done.

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

    Interesting talk. I just discovered vcpkg this week, I really love it. I'm really glad people are willing to maintain all those packages because I sure wouldn't want to do that job.

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

    Interesting talk. Thanks.

  • @SirToxe
    @SirToxe 3 ปีที่แล้ว +1

    Excellent talk!

  • @henrymiller1820
    @henrymiller1820 5 ปีที่แล้ว +2

    Fine print, the contest entry form is still live, but the drawing is past.

  • @kuhluhOG
    @kuhluhOG 2 ปีที่แล้ว

    26:10 It's interesting that Sqlite3 is in the public domain.
    Especially because that's really hard (or rather time consuming) to do in come countries.
    For example in Germany you can only put something into the public domain if you die and the wait until the Copyright has run out (70 years, yep, in most countries it's that long these days).

  • @richardvonlehe4581
    @richardvonlehe4581 4 ปีที่แล้ว +1

    I would have loved if he went deeper in the case of "don't use plugins" and gave a better example of how to do what Qt does with its plugins.

  • @Voy2378
    @Voy2378 5 ปีที่แล้ว +4

    Billy ONeill, the bouncer :P

  • @ericcurtin2812
    @ericcurtin2812 5 ปีที่แล้ว +2

    Agree with not having header checks, I've always found it unneccessary overhead to build times. And plus, the build is gonna fail anyway of the headers aren't there. Never saw the benefit of doing an early check.

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

    I like the talk, but I would love to see a list of positive dos rather than negative don'ts. Seemed like the entire presentation was not about best practices but only things not to do.

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

    And thanks to Microsoft for having so many talks while i haven't seen anything from Apple :-(

    • @thevinn
      @thevinn 5 ปีที่แล้ว +14

      Apple hates C++ and any other language it didn't invent.

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

      Apple is probably too busy trying to promote/develop swift.

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

      Swift stinks. But it is another great step into vendor lockin and to compensate from the fact that they can't enforce exclusive app titles.

    • @DimiterStanev
      @DimiterStanev 5 ปีที่แล้ว +4

      Thanks to Apple, we are benefiting from LLVM/clang/etc.

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

      Louis Dionne and JF Bastien are employed by Apple.

  • @user-rcghjewqw
    @user-rcghjewqw 5 ปีที่แล้ว

    Too much time spent working with Herb Sutter

  • @llothar68
    @llothar68 5 ปีที่แล้ว +6

    Downvoted because i couldn't understand a lot of his rules and his problems and proposed solutions.
    Please write a document explaining in more details what you mean with your guidelines.

    • @henrymiller1820
      @henrymiller1820 5 ปีที่แล้ว +14

      Obviously you don't maintain packages yourself. I do, and every slide had me nodding, thinking about how much time I've wasted fighting it when some library didn't play nice.

    • @ninepoints5932
      @ninepoints5932 5 ปีที่แล้ว +10

      This was a really clear and direct talk. Not sure what your experience level is...

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

      Well, then @Henry you are not the target audience at all. I'm a programmer and this talk was for me not for you and he was way to fast on many things. My experience level? Like every serious C++ programmer i build my own build system - on top of make (about 25 years ago) and cmake/msbuild (8 years ago) and i "maintain" my dependencies myself because even the 700 packages of vcpkg don't contain the things i need (pdfium, webkit, android NDK).
      But he is using some typical maintainer jargon that i don't get. Or like partial support maybe the idea is so broken braindead that my ability to understand the weird brain that did that before the next slide comes in. He should have done a 1h talk instead of 30min.

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

      Lothar Scholz can you please give a few examples of anything he said that you didn’t understand

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

      This talk was easy to understand, and I agreed with pretty much everything. (I also watched it live.) I'm sorry, but it's unclear to me what's supposedly unclear about this talk.