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.
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.
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.
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.
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
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..
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
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?
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."
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
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.
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.
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.
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.
Glad it was helpful!
"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.
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.
Amazing talk, really inspiring. Loved Lakos' intervention at the end =)
@40:38 Which clang tool can be used to update your code to C++11?
It used to be called clang-modernize, but that functionality has been moved to clang-tidy.
Thx!
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.
Story of my life. thanks for this.
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.
He mentioned that it should be enforced thought core review.
@25:00: Did you not consider using policy design pattern. ;)
IT'S "PRINCIPLE", NOT "PRINCIPAL". Oh, that drives me nuts.
No, it's “principal” here, as he uses terms of economics.
27:57 If a contract is violated, the entire contract it NOT automatically void.
And now contracts are in C++20.
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
Just become a big company like MS or Adobe and then you can afford to create software capital.
Why does he pronounce "technical" like "tactical"? Is this a common pronunciation in some country?
Clojure make programmer happier
This guy is very arrogant in the question portion of the talk.
Yeah, I agree, not the best attitude from such a smart guy! Maybe he was just tired :-)
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..
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
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?
lol. You didn't understand his point.
tough crowd
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."
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
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.
Don't apologise for your aversion to ignorance. His gender biased speech is jarring and embarrassing. I actually can't watch it.
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.
Nice trolling,
...man :)
just use clojure problem solve.
are you c++ programmer?
@Robert w In that case that should've been (solve problem), though...