cpponsea
cpponsea
  • 236
  • 1 186 506
C++ Workshop and Talk Preview With Nicolai Josuttis for C++OnSea 2024
Register Now and join Nicolai Josuttis and Kevin Carpenter for the three day main C++ conference at C++OnSea 2024: cpponsea.uk/
C++ Workshop: Using C++20 In Practice - A Complete Introduction
C++ Talk: Let's Program live: Joy and Pain of Concurrency with C++11 and C++20
Kevin Carpenter sits down with Nicolai Josuttis to discuss his upcoming c++ workshop and talk sessions for C++OnSea 2024, titled 'Using C++20 In Practice' and 'Let's Program live' respectively.
Get a preview of these amazing sessions and some insights into Nicolai's methodology and instruction techniques
---
C++ Workshop Session: Using C++20 In Practice - A Complete Introduction
C++20, a major release of C++ with several new features, is now becoming mainstream. This two-day workshop gets you ready to use it. It teaches all significant new features in a way that you understand their power and can start to use them in practice.
C++20 is huge. It will change the way we program more dramatically than C++11 did. As usual, not everything is self-explanatory, combining new features gives even more power, and there are hidden pitfalls. Therefore, it is key to really understand design and conceptional details of the new features of C++20 to use them right.
This two-day workshop will go through all major and important minor features of C++20 (covering both language and library), motivating them, providing compelling examples, and giving key insights and hints about how to use them in practice. Important C++23 extensions and modifications for these features are also covered.
As a member of the C++ standards committee, Nicolai will also give useful background information about purpose and design decisions.
As a result, you will understand the power of the programming paradigm C++20 intoduces to use them appropriately without too much frustration, because things do not work as self-explanatory as they look at first.
Outline
Topics include:
- The spaceship operator (and where it breaks code)
- C++ Generic functions with auto
- C++ Concepts, constraints, and requirements in detail
- C++ Ranges and views in detail (including all the pitfalls of the design of views)
- C++ Spans
- C++ Coroutines
- jthread and stop tokens
- C++ Barriers, latches, and semaphores, extensions for atomics, output sync streams
- C++ Chrono extensions (calendar and time zone support)
- Formatted output (standard and user-defined formatting)
- C++ Modules
- Extensions to compile-time computing (consteval, constinit, template extensions)
---
Let's Program live: Joy and Pain of Concurrency with C++11 and C++20
Multi-threading and concurrency are key features for modern programming. Basically, the features look simple, but there are many devils in the details. Let's enjoy and feel the pain by live-encoding a pretty simple program running step by step into several issuesand solve them with the tools of C++11 and C++20.
This experience will improve your awareness of using multiple threads for parallel computing. You will learn about both general issues as well as Modern C++ concurrency features.
You will learn about - What you should keep in mind when starting and using multiple threads - How to synchronize multiple threads - Why some naive assumptions about multi-threading are wrong - How much effort error handling needs - Some C++20 features that can help you
Let's have fun and learn by example.
---
About C++OnSea 2024
C++ on Sea is an international C++ conference taking place by the sea, in the UK. Our venue is in Folkestone, Kent, near the entrance to the channel tunnel with stunning views across the English Channel.
New for 2024: we're running two pre-conference workshop days, as well as our usual three-day main conference. And we're back to four tracks!
---
Nicolai Josuttis
Nicolai Josuttis (www.josuttis.com) is well-known in the community for his authoritative books and talks. For more than 20 years he has been a member of the C++ Standard Committee. He is the author of several worldwide best-sellers, including: - C++20: The Complete Guide - C++17: The Complete Guide - C++ Move Semantics: The Complete Guide - The C++ Standard Library: A Tutorial and Reference - C++ Templates: The Complete Guide (w/ David Vandevoorde & Doug Gregor)
---
UA-cam Videos Filmed, Edited & Optimised by Digital Medium: events.digital-medium.co.uk
#cpp​​ #programming​ #cplusplus #conference #dev #softwareengineer #softwareengineering #softwaredevelopment #cpponsea #cppprogramming #softwaredesign #softwarearchitecture #code
Переглядів: 356

Відео

Fix your hardest bugs with ease with Time Travel Debugging - Session Interview With Greg Law
Переглядів 3182 місяці тому
Register Now and join Greg Law for the three day main C conference at C OnSea 2024: cpponsea.uk/ Kevin Carpenter interviews Greg Law to discuss his upcoming c talk session for C On Sea 2024, titled 'Fix your hardest bugs with ease with Time Travel Debugging' Get a preview of this amazing session and the latest in Time Travel Debugging from Greg Law - interviewed by @cppevents Everyone knows tha...
Swarm Intelligence Algorithms - Session Interview With Frances Buontempo - C++ On Sea 2024
Переглядів 3192 місяці тому
Register Now and join Frances Buontempo for the three day main C conference at C OnSea 2024: cpponsea.uk/ Kevin Carpenter interviews Frances Buontempo to discuss her upcoming c talk session for C On Sea 2024, titled 'An introduction to swarm intelligence algorithms (Swarm your way out of a paper bag)' Get a preview of this amazing session and the latest in Artificial Intelligence research from ...
Keynote: Not Getting Lost in Translations - Preview Interview with Daniela Engert - C++ On Sea 2024
Переглядів 1492 місяці тому
Register Now and join Daniela Engert and Kevin Carpenter for the three day main C conference at C OnSea 2024: cpponsea.uk/ Kevin Carpenter sits down with Daniela Engert to discuss her upcoming c keynote session for C OnSea 2024, titled 'Keynote: Not Getting Lost in Translations' Get a preview of these amazing sessions and some insights into Daniela's background and perspectives Keynote: Not Get...
C++ Workshop and Keynote Preview with Klaus Iglberger for C++OnSea 2024
Переглядів 2102 місяці тому
Register Now and join Klaus Iglberger and Kevin Carpenter for the three day main C conference at C OnSea 2024: cpponsea.uk/ C Workshop: C Software Design - C Keynote: There is No Silver Bullet - Kevin Carpenter sits down with Klaus Iglberger to discuss his upcoming c workshop and keynote sessions for C OnSea 2024, titled 'C Software Design' and 'There is No Silver Bullet' respectively. Get a pr...
This Is C++ - Exclusive Interview With Jon Kalb ( CppCon Conference Chair ) - C++OnSea 2024 Preview
Переглядів 2672 місяці тому
Register Now and join Jon Kalb and Kevin Carpenter for the three day main C conference at C OnSea 2024: cpponsea.uk/ Session Preview For Jon Kalb's upcoming c talk, part of C On Sea 2024. More info: cpponsea.uk/2024/sessions/this-is-cpp.html 11:00-12:30, Thursday, 4th July 2024 Kevin Carpenter sits down with Jon Kalb to discuss his upcoming talk for C OnSea 2024, titled 'This is C ' Get a previ...
Jason Turner - Workshop Interview - Understanding Object Lifetime For Efficient and Safer C++
Переглядів 9392 місяці тому
Register Now for a C Workshop, or three day main C conference at C OnSea 2024: cpponsea.uk/ Session Preview For Jason Turner's upcoming c workshop session, part of C On Sea 2024. More info: cpponsea.uk/2024/sessions/understanding-object-lifetime-for-efficient-and-safer-cpp.html 10:00-18:00, Tuesday, 2nd July 2024 Kevin Carpenter from @cppevents interviews Jason Turner ahead of his upcoming C wo...
Exclusive Interview With Dave Abrahams - Hylo: Generic-programming Language Built on Value Semantics
Переглядів 1,3 тис.2 місяці тому
Register Now for a C Workshop, or three day main C conference at C OnSea 2024: cpponsea.uk/ Session Preview For Dave Abraham's upcoming c talk session, part of C On Sea 2024. More info: cpponsea.uk/2024/sessions/hylo-the-safe-systems-and-generic-programming-language-built-on-value-semantics.html Scheduled for Wed 3rd July 2024 at 0915 Kevin Carpenter from @cppevents interviews Dave Abrahams ahe...
Designing and Implementing Safe C++ Applications - Workshop Preview & Interview With Amir Kirsh
Переглядів 4382 місяці тому
Designing and Implementing Safe C Applications - Workshop Preview & Interview With Amir Kirsh
C++ on Sea Lightning Talks: Omnibus Session 2 - C++ on Sea 2023
Переглядів 7109 місяців тому
C on Sea Lightning Talks: Omnibus Session 2 - C on Sea 2023
C++ on Sea Lightning Talks: Omnibus Session 1 - C++ on Sea 2023
Переглядів 1,2 тис.9 місяців тому
C on Sea Lightning Talks: Omnibus Session 1 - C on Sea 2023
Lightning Talk: Into the Lambda-Verse - Timur Doumler - C++ on Sea 2023
Переглядів 2,4 тис.9 місяців тому
Lightning Talk: Into the Lambda-Verse - Timur Doumler - C on Sea 2023
Lightning Talks: 5 Things You Didn't Know Your CPU Did For You - Matt Godbolt - C++ on Sea 2023
Переглядів 6 тис.9 місяців тому
Lightning Talks: 5 Things You Didn't Know Your CPU Did For You - Matt Godbolt - C on Sea 2023
Lightning Talk: Controlling Uncontrollables in Mental Health - Dr. Allessandria Polizzi C++ on Sea
Переглядів 4369 місяців тому
Lightning Talk: Controlling Uncontrollables in Mental Health - Dr. Allessandria Polizzi C on Sea
Lightning Talk: Really Simple Machine Learning in C++ - Ben Huckvale - C++ on Sea 2023
Переглядів 1,4 тис.9 місяців тому
Lightning Talk: Really Simple Machine Learning in C - Ben Huckvale - C on Sea 2023
Lightning Talks: An Incredibly Fast Delegates Library for C++ - Andreas Schätti - C++ on Sea 2023
Переглядів 1,9 тис.9 місяців тому
Lightning Talks: An Incredibly Fast Delegates Library for C - Andreas Schätti - C on Sea 2023
Lightning Talk: What Does ChatGPT Know About C++ and Why Fear the Global Namespace? - Roth Michaels
Переглядів 8769 місяців тому
Lightning Talk: What Does ChatGPT Know About C and Why Fear the Global Namespace? - Roth Michaels
Lightning Talk: A Templated Grandfather Paradox in C++ - Jonathan Storey - C++ on Sea 2023
Переглядів 1,5 тис.9 місяців тому
Lightning Talk: A Templated Grandfather Paradox in C - Jonathan Storey - C on Sea 2023
Lightning Talk: How Quick, Fast, and Valuable Feedback Helps Programming - Arne Mertz C++ on Sea 23
Переглядів 3979 місяців тому
Lightning Talk: How Quick, Fast, and Valuable Feedback Helps Programming - Arne Mertz C on Sea 23
Hidden Hazards: Unique Burnout Risks in Tech - Dr. Allessandria Polizzi - C++ on Sea 2023
Переглядів 6959 місяців тому
Hidden Hazards: Unique Burnout Risks in Tech - Dr. Allessandria Polizzi - C on Sea 2023
Lightning Talk: Mismeasure for Measure (Part 2 of N) - Mateusz Pusz - C++ on Sea 2023
Переглядів 4339 місяців тому
Lightning Talk: Mismeasure for Measure (Part 2 of N) - Mateusz Pusz - C on Sea 2023
Lightning Talk: Mismeasure for Measure (Part 1 of N) - Mateusz Pusz - C++ on Sea 2023
Переглядів 5849 місяців тому
Lightning Talk: Mismeasure for Measure (Part 1 of N) - Mateusz Pusz - C on Sea 2023
Lightning Talk: C++ vs Haskell vs BQN - Conor Hoekstra - C++ on Sea 2023
Переглядів 2,1 тис.9 місяців тому
Lightning Talk: C vs Haskell vs BQN - Conor Hoekstra - C on Sea 2023
Lightning Talk: I Need a Different Variant in C++ - Robert Allan Hennigan Leahy - C++ on Sea 2023
Переглядів 1,9 тис.9 місяців тому
Lightning Talk: I Need a Different Variant in C - Robert Allan Hennigan Leahy - C on Sea 2023
Lightning Talk: Undefined Behaviour in C++ - Cassio Neri - C++ on Sea 2023
Переглядів 1,7 тис.10 місяців тому
Lightning Talk: Undefined Behaviour in C - Cassio Neri - C on Sea 2023
Lightning Talk: Multiple-Include Optimization in C++ - Elliot Goodrich - C++ on Sea 2023
Переглядів 1,8 тис.10 місяців тому
Lightning Talk: Multiple-Include Optimization in C - Elliot Goodrich - C on Sea 2023
Lightning Talk: C++ String Literals Have the Wrong Type - Jonathan Müller - C++ on Sea 2023
Переглядів 3,2 тис.10 місяців тому
Lightning Talk: C String Literals Have the Wrong Type - Jonathan Müller - C on Sea 2023
Lightning Talk: Six Ideas for Your Next Programming Job Hunt - Sandor Dargo - C++ on Sea 2023
Переглядів 90010 місяців тому
Lightning Talk: Six Ideas for Your Next Programming Job Hunt - Sandor Dargo - C on Sea 2023
Lightning Talk: Red/Green/What? - Colour Vision Limitation - Björn Fahller - C++ on Sea 2023
Переглядів 81910 місяців тому
Lightning Talk: Red/Green/What? - Colour Vision Limitation - Björn Fahller - C on Sea 2023
Lightning Talk: When C++ Singletons Fail... Richard Shepherd - C++ on Sea 2023
Переглядів 1,6 тис.10 місяців тому
Lightning Talk: When C Singletons Fail... Richard Shepherd - C on Sea 2023

КОМЕНТАРІ

  • @mc-not_escher
    @mc-not_escher 7 днів тому

    So, I’m not much of a programmer as I’ve done tons of IT Infrastructure work for the past 15 years of my career, but the gist of this is telling the computer to shove its head up its arse and enjoy the smell. Nice. Edit: Reminds me of the time one of our company’s coreswitches’ supervisor module gave up the ghost and failed to failover to the secondary supervisor module because it thought traffic was still flowing when it was in fact flowing into a network blackhole. Now that was fun.

  • @psyclobe
    @psyclobe 15 днів тому

    Great talk!

  • @Ma_X64
    @Ma_X64 15 днів тому

    On something like an MCU it's absolutely conventional way to write a byte into a RAM.

  • @LethalChicken77
    @LethalChicken77 15 днів тому

    The REAL C programmer intended to give you an aneurysm

  • @user-vn9ld2ce1s
    @user-vn9ld2ce1s 19 днів тому

    I have this #define'd to print_stacktrace(), because address sanitizer prints it on nullptr deref lol

  • @sendao84
    @sendao84 20 днів тому

    I mean a lot of us prefer not to look frozen so we don't like const at all and won't use constexpr for ya, but it's obviously constinspr in that case

  • @PranavKothare
    @PranavKothare 20 днів тому

    C# introduced LINQ in 2007 and Java with Streams in 2014 .. it's crazy how this functional style of programming for collections was introduced to C++ only in 2023. Still a very informative and great talk.

  • @ruthlessadmin
    @ruthlessadmin 20 днів тому

    I'm just learning C from Python (not even C++). It was difficult to keep up with but I got there, with my brain mostly in tact.

  • @jennalove6755
    @jennalove6755 21 день тому

    It looks like theyre trying to set the address to 0?

  • @gFamWeb
    @gFamWeb 21 день тому

    This is so incredibly fascinating. I love it.

  • @berkinylm
    @berkinylm 22 дні тому

    The code writes 1byte 0 to memory address 0x00000000 , but 0x00000000 memory address is not valid to write because this memory address value accepted as NULL.

  • @carl-johanhorberg1399
    @carl-johanhorberg1399 23 дні тому

    Nice talk, but the whole idea of framing a talk like a job interview doesn't really work. Nobody likes job interviews.

  • @pablo_brianese
    @pablo_brianese 24 дні тому

    Answer: I don't really know. But that title is hilarious

  • @James2210
    @James2210 Місяць тому

    Protection is important

  • @stefancrooijmans749
    @stefancrooijmans749 Місяць тому

    Great talk. This deserves more views.

  • @Cromius771
    @Cromius771 Місяць тому

    Wherever people complain about how complicated c++ is i just show them this video

  • @kevinksv
    @kevinksv Місяць тому

    i thought it was illegal

  • @encapsulatio
    @encapsulatio Місяць тому

    When is the video going to be posted? It was planned to take place on 3th July 2024.

    • @cpponsea
      @cpponsea Місяць тому

      Dave Abrahams presented this talk "live" at the cpponsea conference that was held last week. The video recording of the talk will be available in August '24.

  • @Pelfik
    @Pelfik 2 місяці тому

    Wtf, the most attractive cpp thing is that there is no fun and safe. Don't turn the perfect programming language into java

  • @limatoad1
    @limatoad1 2 місяці тому

    Tell your camera man to just zoom out instead of panning every other second.

  • @Grecks75
    @Grecks75 2 місяці тому

    Assuming an int has 32 bits on your machine, this should print 6.

  • @Grecks75
    @Grecks75 2 місяці тому

    What an amazing talk, really inspiring. That's exactly my kind of mindset, talking about all the different aspects of a seemingly simple thing. I would love to meet you in actual interview, to exchange some ideas!

  • @simonfarre4907
    @simonfarre4907 2 місяці тому

    Its frustrating to see the framing of "hardest bugs" with reverse debugging, but using RR you don't even have to debug your "hardest bugs" with it - RR will make _all_ your bugs easier to debug. Every single one. I haven't used Undo, they are not FOSS like RR, but they may be stronger, but RR, which also uses GDB as a client debugger, is incredibly strong. It unfortunately only works on Linux, but if I recall correctly RR, due to being a little tinier not as strong as Undo, is much, much faster. Don't quote me on that though, because this was a few years ago, that I am talking about.

  • @axelBr1
    @axelBr1 2 місяці тому

    The amount of things going on behind the scenes in a chip running at around 3GHz, I find mind blowing.

  • @Alsteraib985
    @Alsteraib985 2 місяці тому

    For newcomers C++ is a nightmare.

  • @Dystisis
    @Dystisis 2 місяці тому

    coming from philosophy where the related/same notion seems to be intensionality, the idea of value semantics based programming is interesting to me

  • @dimiracordon1846
    @dimiracordon1846 2 місяці тому

    Actually, Featherweight Swift didn't support mutation so it did have "value semantics" ;) To be fair, the mutation was missing, though.

  • @yarrowification
    @yarrowification 2 місяці тому

    /2⊸| this was what came to mind for me is there a reason you would not just do this?

  • @thewelder3538
    @thewelder3538 2 місяці тому

    I just don't like this at all... It's smells so badly of Java functional programming, map/reduce/filter. And nobody's even mentioned the performance of this stuff.

  • @DomainObject
    @DomainObject 2 місяці тому

    I so can't wait for Hylo 1.0 to come out. Tremendously excited by the idea of a mutable value semantics "all the way down" language.

  • @NickolayGerasimenko
    @NickolayGerasimenko 2 місяці тому

    Why C++ doesn't have built-in support of JSON in 2024?

    • @cppevents
      @cppevents 2 місяці тому

      Why build it in when you have many great libraries to choose from? If it’s built in then you’re locked in. Want ease use this library, want speed use RapidJSON or others. Either way what would be the benefit of it being native to the standard or even the stl?

  • @AminAramoon
    @AminAramoon 3 місяці тому

    Dave Abrahams with a "live Sean Parent" background for his zoom calls

    • @gymdis
      @gymdis 2 місяці тому

      Was thinking "Isn't that Mr std::rotate() scrolling through his Facebook feed"? :)

  • @masondeross
    @masondeross 3 місяці тому

    It looks like someone wants to force a core dump in a "portable" way, i.e. both on linux or windows using x32/x64 machines. I can't speculate on microcontrollers and such. I generally feel like its something people who learned C++ in the 90's (and still treat it like "C/C++" rather than two languages) would write, but there could be domains that still use it commonly beyond just being left in ancient library code.

  • @cunningham.s_law
    @cunningham.s_law 3 місяці тому

    what lib are u using for the ascii animations

    • @Bourg
      @Bourg 2 місяці тому

      Apple Keynote with Berkeley Mono as the font.

  • @JorgenFogh
    @JorgenFogh 3 місяці тому

    I really hope this makes the '26 standard.

  • @AurraKo
    @AurraKo 3 місяці тому

    based

  • @sallesvianagomesdemagalhae6181
    @sallesvianagomesdemagalhae6181 3 місяці тому

    Could you please provide me a link to the top10 repository? (the one with the top programming challenges) I could not find it.

  • @dagahanfdm
    @dagahanfdm 3 місяці тому

    This is why C++ is the worst language ever. An abomination.

  • @user-me5eb8pk5v
    @user-me5eb8pk5v 4 місяці тому

    You need the thing that closes each function down all neatly by clicking on the greater than symbol like in dark basic & Java. Pull out the MASM64 debugger with the void object.

  • @maximyanchenko3780
    @maximyanchenko3780 4 місяці тому

    The gist of the talk: not gonna tell you how, join IMC and learn, we are hiring. Here, I saved you half an hour of your life.

  • @user-me5eb8pk5v
    @user-me5eb8pk5v 4 місяці тому

    Your just saying, is this capable of that? So i can say, i am all capable, VOID OBJECT. Then you cannot have all capability, so you must write every single possible operation out by hand. So you cannot do this, now we must have a big bang to fill up every possible state, no stone left unturned. So we cannot do this, but people spend money, close enough for bills. In our next study; *_use every single register at one time to pivot table array the cache registers_*

  • @theothergameygamer
    @theothergameygamer 4 місяці тому

    I'm not seeing the advantage. Why not instead trigger an event when an agent takes damage and update only the damaged agent? No need for iteration of all agents.

  • @HobokerDev
    @HobokerDev 4 місяці тому

    How does c++ *still* not have reflection

  • @The_Gray_Zone_Man
    @The_Gray_Zone_Man 4 місяці тому

    Actually I don't know if it's about the difficulty of this presentation or just is my adult ADHD that is to blame for the distortion in my mind, Thanx for the effort anyways

  • @01MeuCanal
    @01MeuCanal 4 місяці тому

    Great talk. Anyhow I still dont understant when structure binding discards const? const auto& [a, b, c] = tuple<int&, float&&, int> creates a confusion because it seems only c is const. P.S. I got it. Structure bidings in this case will work exactly like tuple elements works.

  • @Ninja-zb1yi
    @Ninja-zb1yi 4 місяці тому

    Можешь оставить ссылку на код // Can you give github repository

    • @wowyomad
      @wowyomad 28 днів тому

      Ссылка на последнем слайде внизу

  • @user-01845
    @user-01845 4 місяці тому

    13:53, but why not use binary protocols like protobuf, if we are talking about the footprint of a message?

    • @cppevents
      @cppevents 4 місяці тому

      It would make the message smaller. However the difficulty here is credit card terminals. The come from multiple vendors, the harder problem would be getting every client updated. That plus the reasonable readability of json makes for easier support/troubleshooting in some situations.

  • @lolashodipo549
    @lolashodipo549 5 місяців тому

    Literally the best video I've seen on this topic. Thankyou

  • @ismann9148
    @ismann9148 5 місяців тому

    This is good stuff. Thank you.

  • @about2mount
    @about2mount 5 місяців тому

    You can call it "Being Sold Out" however Linux, GCC, GNU and Unix all agreed to allow the Microsoft Team to come in to bring both compilers up-to-par into a multi platform conglomerate which will eventually eliminate the need for MingGW or MSYST. They made this agreement in 2014 and the trade off was for Microsoft to continue allowing accessibility for Microsoft's Gaming system, their win32 Lib and Sound and Media Codices for everyone. Microsoft officially calls this "Going Open Source" with their own compiler software. I call this "Being Blackmailed". It's already 2024 and Linux hasn't kept their agreed provision yet. And now Microsoft has added the entire Linux Build System, GNU and the GCC Compiler Libs into it's own massive Visual Studio Application. You can actually build an entire Linux distro or Linux applications in VS. And many are doing so. CPython is one of those teams using VS for every platform. Nice video but honestly everyone doing these videos is out on some Maximum Overdrive Mind Trip to out do the other guy that they are unknowingly leaving the normal everyday C++ programmer in the shadows. Mix things up a bit and do some videos on Lexing and Parsing and developing Compilers, that's where everyone is right now. Lol If you guys would post a single Video on only Lexing you would get the most views.