CppCon 2016: David Sankel “Building Software Capital: How to write the highest quality code and why"

Поделиться
HTML-код
  • Опубликовано: 6 ноя 2024

Комментарии • 47

  • @barrettellisadair
    @barrettellisadair 8 лет назад +32

    I wholeheartedly recommend this talk to any developer or stakeholder of software, regardless of programming experience. It would not be an exaggeration to say that I agreed with every sentence.
    From a public speaking perspective, this was an *excellent* presentation. There is not an ounce of fluff, repetition, or hesitation, which is rare for a 60 minute technical presentation. David was very well-prepared; he delivered flawlessly.
    The Q & A session is historically the most dreadful aspect of a C++ conference talk, yet David fielded the questions and comments with grace and confidence. By the way, you won't want to miss the comments from Dr. John Lakos near the end.
    Interestingly, this talk is almost entirely devoid of C++ code or lingo (despite David's achievements in the field). This video will resonate with anyone who has ever developed software, and I hope this is shared far and wide. This is a real CppCon gem.

  • @magfal
    @magfal 2 года назад +3

    I credit this video as the most important video I've watched with an appreciable margin. It's lessons are among the key reasons that the company that I helped found is outclassing companies 100+ times our size whenever a customer has to choose between us or them. Reading the machine that changed the world is also a brilliant read if you understand the value of this talk.

    • @CppCon
      @CppCon  2 года назад +2

      Glad it was helpful!

  • @origamibulldoser1618
    @origamibulldoser1618 8 лет назад +2

    "Watch the first 15 minutes of this talk" .. That's exactly what I would have done if I thought it possible to achieve in my current job.

  • @MrAbrazildo
    @MrAbrazildo 3 года назад

    I guess it's important to start writing something, instead of just planning. And then sooner than later, make the software capital on top of a borning "debt".
    57:05, sometimes the code is already nice, efficient and polished enough to not be touched.
    57:40, there are hirable companies that make tons of tests, from the user perspective. You can earn a certificate from them, and then show it to other clients, when your app has less bugs than a certain margin.

  • @allopeth
    @allopeth 5 лет назад

    Amazing talk, really inspiring. Loved Lakos' intervention at the end =)

  • @Wimpielef
    @Wimpielef 8 лет назад +3

    @40:38 Which clang tool can be used to update your code to C++11?

    • @camior1
      @camior1 8 лет назад +5

      It used to be called clang-modernize, but that functionality has been moved to clang-tidy.

    • @Wimpielef
      @Wimpielef 8 лет назад

      Thx!

  • @qwertyuiop-cu2ve
    @qwertyuiop-cu2ve Год назад

    I don't fully agree with the innovation part. It has to be an actual improvement, or useful additional feature, not just a slightly different syntax.

  • @davidmott2090
    @davidmott2090 7 лет назад

    Story of my life. thanks for this.

  • @andik70
    @andik70 8 лет назад +2

    More nitpicking: 31:03 how can a void function return a value. Ok this was mentioned then ard 47:30. But too easily dismissed. It is actually a core problem. How do you sync contract and code; if it even cannot do in a presentation.

    • @Houd1ny
      @Houd1ny 8 лет назад

      He mentioned that it should be enforced thought core review.

  • @bhardwajutkarsh
    @bhardwajutkarsh 8 лет назад +1

    @25:00: Did you not consider using policy design pattern. ;)

  • @benoitjauvin-girard592
    @benoitjauvin-girard592 7 лет назад +7

    IT'S "PRINCIPLE", NOT "PRINCIPAL". Oh, that drives me nuts.

    • @27182818284590452354
      @27182818284590452354 5 лет назад +2

      No, it's “principal” here, as he uses terms of economics.

  • @Spiderboydk
    @Spiderboydk 3 года назад

    27:57 If a contract is violated, the entire contract it NOT automatically void.

  • @Xeverous
    @Xeverous 6 лет назад

    And now contracts are in C++20.

    • @kuhluhOG
      @kuhluhOG 4 года назад +1

      one side of contracts
      another would be something like that:
      int do_something(int i);
      i must be positive
      the return value is going to be between 500 and 600
      that would also be a form of a contract

  • @perfectionbox
    @perfectionbox 3 года назад

    Just become a big company like MS or Adobe and then you can afford to create software capital.

  • @b33thr33kay
    @b33thr33kay 5 лет назад

    Why does he pronounce "technical" like "tactical"? Is this a common pronunciation in some country?

  • @yondam1
    @yondam1 7 лет назад +1

    Clojure make programmer happier

  • @gasquakestudios
    @gasquakestudios 8 лет назад +8

    This guy is very arrogant in the question portion of the talk.

    • @Ivar77777
      @Ivar77777 7 лет назад +1

      Yeah, I agree, not the best attitude from such a smart guy! Maybe he was just tired :-)

  • @dimitrisbenis7598
    @dimitrisbenis7598 7 лет назад +5

    Well... This kind of talk should not be more that 15 minutes. All the rules were common sense and many times repeated in artircles, books, etc...- no rocket science:-) Anyway worths watching for entry level software engineers..

    • @Boopadee
      @Boopadee 5 лет назад +2

      This stuff is common sense for software engineers but certainly not for many programmers. I just got off a team where technical debt was rampant. It was led by a software engineer but simultaneously had no other engineers and loads of pressure from management to get it done "fast", quality be damned

  • @videofountain
    @videofountain 8 лет назад +5

    Showing a picture of a baby and commenting on beauty is unnecessary and rude. Why would he have such a bizarre interest in that topic for a CppCon presentation?

    • @numv2
      @numv2 7 лет назад +6

      lol. You didn't understand his point.

  • @rickdg
    @rickdg 5 лет назад

    tough crowd

  • @victorsavu7724
    @victorsavu7724 8 лет назад +31

    It really pains me to hear "man" to refer to "developer" as if "adding more women" to the team was out of the question to begin with :( I only listened to the first 10 min yet. I hope there is a twist at some point where the speaker breaks the fourth wall and says: "Are your ears bleeding because of the utter ignorance with regards to the merits of having gender agnostic presentations? Good! Let's continue the talk in a considerate and inclusive tone to make everyone feel welcome and most importantly to let everyone who is listening know that they __are__ the target audience."

    • @SaiTorrKalFas
      @SaiTorrKalFas 8 лет назад +15

      I am not quite sure, but I think what you refer to, and if I remember the talk correctly, David is referring to "the man" as "the boss", "some stakeholder that tells you what to do".
      en.wikipedia.org/wiki/The_Man

    • @victorsavu7724
      @victorsavu7724 8 лет назад +3

      Firstly, reading my comment again, it does come across as aggressive and I really didn't mean it to be. I was trying to be "witty" and I ended up patronizing. I am sorry about that. I would like to clarify my message: The speaker used at least two cultural references, one which you correctly identified ("The Man") and one in the plot at 1m6s, which set up the stage very well for a remark along the lines of that in my initial comment.
      To clarify regarding the plot, though the speaker does make a reference to "The Mythical Man-Month" (en.wikipedia.org/wiki/The_Mythical_Man-Month), using "developers" instead of "men" would not have confused the audience: "Wait... he was talking about developers on a project. How is that related to Man-Months?"
      It is true that a lot of historical references do make the simplification "s/developer/man" or even "s/manager/Man" for reasons which sadden me, so I wanted to propose that the speaker could point out these problems in order to re-connect with the general audience. The problems are intrinsic to the references and using the references does not make the speaker accountable for them, but the speaker is responsible to make the general tone of the talk equally engaging for all the people in the target audience group. It may be that there are several target audience groups for the same talk (e.g. "specialists" vs "enthusiasts") which may receive slightly different amounts of "attention". That is fine especially if there is some forewarning when the difference is considerable in order for the listeners to make an informed decision about their time investment. My message is that for a technical (or scientific) talk, it is a bad sign when the separation of target audience groups ends up correlating with the lines between genders, races, religions, nationalities, sexual orientation, etc.

    • @ashw6015
      @ashw6015 8 лет назад +8

      Don't apologise for your aversion to ignorance. His gender biased speech is jarring and embarrassing. I actually can't watch it.

    • @victorsavu7724
      @victorsavu7724 8 лет назад +1

      The first time I could only go through the first 10 minutes before I had to close it and watch something else. It is very strange because it's not something I can put my finder on and I just feel like we should have an active conversation on this matter in the community. It is a real pity because everyone is so bright and forward thinking in topics they are interested in. If only we were more interested in having an inclusive and welcoming environment, highly intelligent people like the speaker himself might actually contribute ideas to improve the status quo and swiftly get rid of this embarrassing situation.

    • @heyheyhophop
      @heyheyhophop 7 лет назад +27

      Nice trolling,
      ...man :)

  • @yondam1
    @yondam1 7 лет назад

    just use clojure problem solve.

    • @yondam1
      @yondam1 7 лет назад

      are you c++ programmer?

    • @Evan490BC
      @Evan490BC 5 лет назад

      @Robert w In that case that should've been (solve problem), though...