CppCon 2019: Jason Turner “The Best Parts of C++"

Sdílet
Vložit
  • čas přidán 28. 04. 2024
  • CppCon.org
    -
    Discussion & Comments: / cpp
    -
    Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2019
    -
    C++ is a big language, and it gets bigger every year. Is C++ it too big? Do we just continue to make the language harder to learn? Or, perhaps, do these language additions actually make the language better and easier to use? We will take a pragmatic look at the changes brought to C++ over the years and what impact they have had on how we write code.
    -
    Jason Turner
    Developer, Trainer, Speaker
    Greater Denver Area
    Host of C++Weekly / jasonturner-lefticus , Co-host of CppCast cppcast.com, Co-creator and maintainer of the embedded scripting language for C++, ChaiScript chaiscript.com, and author and curator of the forkable coding standards document cppbestpractices.com.
    I'm available for contracting and onsite training.
    -
    Videos Filmed & Edited by Bash Films: www.BashFilms.com
    *-----*
    Register Now For CppCon 2022: cppcon.org/registration/
    *-----*

Komentáře • 43

  • @pythagorasaurusrex9853
    @pythagorasaurusrex9853 Před 2 lety +20

    Cudos to Jason. He delivers the best talks of them all. Fun and interesting to watch. Never got bored.

  • @dmdjt
    @dmdjt Před 4 lety +75

    A talk like this should exist for every language!

  • @devnexen
    @devnexen Před 4 lety +47

    "Who here is stuck on C++98 ..." I feel you :-)

  • @TheMR-777
    @TheMR-777 Před 2 lety +7

    This is the 1st Time I've heard a 1hr talk on C++Con!
    Thanks, Jason! For your awesome content, and great way of presentation!

    • @CppCon
      @CppCon  Před 2 lety +4

      Glad you liked it!

  • @projectivemotion
    @projectivemotion Před 4 lety +41

    I'm returning to C++ after 15 years of living in PHP and this video explains so many things! Thanks!

    • @RoyBellingan
      @RoyBellingan Před 3 lety +6

      Similar story, Wasted so many year. Nice to hear you founded again the right path!

    • @user-hq1gt2uv9g
      @user-hq1gt2uv9g Před 2 lety +2

      I don't like C++ (my personal prejudices) but even I can agree that this is the right path =)

    • @stephenhowe4107
      @stephenhowe4107 Před 2 lety +1

      PHP-land? Shudder!!!!

    • @icemojo
      @icemojo Před rokem

      Same here too. Going back to the fundamentals of C++ after living comfortably in the luxury of OO languages for more than 12 years, talks like these brings me both revelations and comfort. And also a small does of anxiety from realizing that I have a LOT to catch up on.

  • @davidm.johnston8994
    @davidm.johnston8994 Před 3 lety +11

    Just starting to learn C++ here. This video gave me a headache, but it was worth it! Thanks

    • @CppCon
      @CppCon  Před 3 lety +9

      Glad it helped!

  • @AxayJha
    @AxayJha Před 3 lety +13

    This talk is genuinely awesome and loaded!

  • @naughtiusmaximus110
    @naughtiusmaximus110 Před 4 lety +24

    Jason Turner you are my hero!

  • @adrianstaniec
    @adrianstaniec Před 4 lety +17

    Amazing talk!
    Unbelievably informative and concise,
    which is so rare nowadays.

  • @not_ever
    @not_ever Před 3 lety +14

    22/7 = 3

  • @xdavidliu
    @xdavidliu Před rokem +2

    24:08 interesting how the audience member suggested "a functor" due to the mistaken adoption of the term to mean "function object" only in the context of C++, and Jason either wasn't aware of that historical accident (or was aware but was making a joke) and assumed the audience member was talking about the functor of category theory

  • @ChrisCox-wv7oo
    @ChrisCox-wv7oo Před 2 lety +3

    Missing / Skipped Chapters...
    33:19 #16 Concepts
    35:06 #17 std:: string_view

  • @sinanlin7471
    @sinanlin7471 Před 4 lety +5

    amazing! I appreciate your nice work!

  • @_engid
    @_engid Před měsícem

    0:00 preface
    1:06 overview
    *The Best Parts of C++*
    02:01 #01: The C++ Standard
    03:37 #02: `const`
    05:28 #03: Deterministic Object Lifetime and Destruction
    07:44 #04: `template`s
    09:46 #05: Algorithms and the Standard Template Library
    12:28 #06: `std::array`
    14:50 #07: List Initialization
    16:29 #08: Variadic Templates
    17:57 #09: `constexpr`
    19:01 #10: `auto`
    21:56 #11: Return type deduction for normal functions
    23:26 #12: Lambdas
    26:10 #13: Generic and Variadic Lambdas
    26:48 #14: Range-based `for` loop
    28:40 #15: Structured Bindings
    30:02 #16: Concepts
    33:40 #17: `std::string_view`
    35:29 #18: Text Formatting
    37:42 #19: Ranges
    39:40 #20: Class Template Argument Deduction
    41:06 #21: rvalue References
    43:20 #22: Guaranteed Copy Elision
    46:44 #23: Defaulted and Deleted Functions
    49:17 #24: `std::unique_ptr` and `std::make_unique`
    50:27 #25: Fold Expressions
    53:39 Key C++98 Features
    53:51 Key C++11 Features
    54:08 Key C++14 Features
    54:21 Key C++17 Features
    54:28 Key C++20 Features
    54:36 Bonus Feature: Tools!
    56:00 summary
    57:11 question

  • @victorshcherbakov4602

    Thanks Jason for the talk, it's pretty awesome, you covered a lot of parts of the language.

  • @scotthinton4610
    @scotthinton4610 Před 5 měsíci

    After finally being able to use C++11 for a couple of years, I have no desire at all to go back to C++98/03. Great talk, I'm now using most of these without even thinking about how I would have had to do it (if I even could) in 98/03.

  • @SillySussySally
    @SillySussySally Před 3 lety

    Love this video

  • @haxpor
    @haxpor Před 4 lety +1

    For double free problem, only occurs if I disable RVO via compilation flag. At least, I tested it with gcc 9.1.
    Good summary on features we can use :)

  • @gongchen8
    @gongchen8 Před 7 měsíci

    Thanks, very useful.

  • @zxnnightstalker2289
    @zxnnightstalker2289 Před 2 lety +1

    Other languages should have like this channel.

  • @robert36902
    @robert36902 Před rokem

    Great presentation!

    • @CppCon
      @CppCon  Před rokem

      Glad you liked it!

  • @xdavidliu
    @xdavidliu Před rokem +1

    24:55 in line 11 it needs to be "&value) const {" instead of "&value) {", otherwise line 24 won't compile

  • @simonfarre4907
    @simonfarre4907 Před 3 lety

    For some odd reason MSVC still can't do auto in function params, while last time I tried on clang it worked just fine. Very annoying.

  • @rontman
    @rontman Před 4 lety +10

    C++ The Good Parts

  • @IndellableHatesHandles
    @IndellableHatesHandles Před rokem +1

    22/7 = 3 because of integer division

  • @saeed6296
    @saeed6296 Před 3 lety +3

    I don't get it why the code in 10:22 is wrong ? can someone please tell me why ?

    • @Dave_thenerd
      @Dave_thenerd Před 3 lety +9

      If you don't explicitly delete the default move and copy constructors, the copy assignment op, and move assignment op here, you can reassign the Data object to point to something else without explicitly calling the destructor because Data contains a member of type *T (pointer to a template object) in this case: *data
      So you could write:
      int main()
      {
      Data x(1, 2, 8, 10, 11);
      Data y(a, b, c);
      x = y; //Major memory leak, original values from 'x' still exist because '*data' is a pointer
      }

  • @plumtreegarden8352
    @plumtreegarden8352 Před 2 lety +2

    To normal people he looks like a man…. To c++ programmers: a beast with horns

  • @__hannibaal__
    @__hannibaal__ Před rokem

    For me best book that i learn moor feature is Bjarn C++ Book and Stepanov paper and books. And don’t need more because will speed too much time for some thing and without efficiency >>>.

  • @imlovinit1232
    @imlovinit1232 Před rokem

    Im sure there are few who agree with me, but auto is not a good habit in my opinion. Any type/class should never be long enough to use it for readability, and in general it just destroys readability.

  • @pedromiguelareias
    @pedromiguelareias Před 2 lety +5

    Solutions to problems created by solutions to problems created by solutions to problems. Just avoid sugar. It's the root of all evil, that's why Fortran survives.

  • @bocckoka
    @bocckoka Před 2 lety +1

    'some types can be ugly' - most clueless comment ever. that's the point, that's why we have type systems