cpponsea

cpponsea

The international C++ conference, in the UK, by the sea.

This channel is for videos of talks from the C++ on Sea conference.

Пікірлер

  • @dimiracordon1846
    @dimiracordon18465 күн бұрын

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

  • @yarrowification
    @yarrowification8 күн бұрын

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

  • @thewelder3538
    @thewelder35388 күн бұрын

    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
    @DomainObject10 күн бұрын

    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
    @NickolayGerasimenko10 күн бұрын

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

  • @cppevents
    @cppevents9 күн бұрын

    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
    @AminAramoon10 күн бұрын

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

  • @gymdis
    @gymdis9 күн бұрын

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

  • @masondeross
    @masondeross14 күн бұрын

    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_law14 күн бұрын

    what lib are u using for the ascii animations

  • @Bourg
    @Bourg9 күн бұрын

    Apple Keynote with Berkeley Mono as the font.

  • @JorgenFogh
    @JorgenFogh16 күн бұрын

    I really hope this makes the '26 standard.

  • @AurraKo
    @AurraKo16 күн бұрын

    based

  • @sallesvianagomesdemagalhae6181
    @sallesvianagomesdemagalhae618122 күн бұрын

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

  • @dagahanfdm
    @dagahanfdm24 күн бұрын

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

  • @lowlevelcodingch
    @lowlevelcodingchАй бұрын

    okay, i think that *(char*)0 = 0; means: cast "0" to a character pointer and "unpointer" it ( i think it is called dereference ) and then assign 0 to it. so to the character '0' assign 0

  • @user-me5eb8pk5v
    @user-me5eb8pk5vАй бұрын

    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Ай бұрын

    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Ай бұрын

    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Ай бұрын

    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Ай бұрын

    How does c++ *still* not have reflection

  • @The_Gray_Zone_Man
    @The_Gray_Zone_Man2 ай бұрын

    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
    @01MeuCanal2 ай бұрын

    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-zb1yi2 ай бұрын

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

  • @user-01845
    @user-018452 ай бұрын

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

  • @cppevents
    @cppevents2 ай бұрын

    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
    @lolashodipo5492 ай бұрын

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

  • @ismann9148
    @ismann91482 ай бұрын

    This is good stuff. Thank you.

  • @about2mount
    @about2mount3 ай бұрын

    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.

  • @maxoumimaro
    @maxoumimaro3 ай бұрын

    I love that this guy taught me so much about c++ and that I could probably teach him kinda of the same thing on template and compile time c++ xD

  • @ruiyangxu790
    @ruiyangxu7903 ай бұрын

    TL;DR try this on your modern Linux machine, you will get a SIGSEGV fault with core dump info

  • @D0Samp
    @D0Samp2 ай бұрын

    It does work if you map memory there using mmap(), but on any version from the last >15 years there's a kernel setting called mmap_min_addr that prevents you from doing so for the first few pages in address space.

  • @madskaddie
    @madskaddie3 ай бұрын

    I think that code by it self, its ok. someone is zeroing the first byte of the data segment in some segmented arch where in some platform that uses int like pointers (no hidden info in bits) who said that this code is run on common architecture/platform?

  • @0xbaadf00d
    @0xbaadf00d3 ай бұрын

    On my first look I thought that it's not C++, but C. Based on that, my serious guess about why anyone ever would write this code would be that it's for some very specific compiler/device where it would do... something. Maybe cause a very specific error, in order to see that the device is actually loading this main. Maybe the device has some hardware trouble. Otherwise I'd say it's a badly made disgruntled employee bomb. #ifndef _DEBUG #define if(x) if(rand()<0.0001 && (x)) #endif Would be way more fun.

  • @Byynx
    @Byynx3 ай бұрын

    This video is a gem!!!

  • @mustafa_el-rashied
    @mustafa_el-rashied3 ай бұрын

    "Segmentation fault" if someone asked from personal experience

  • @Clownacy
    @Clownacy3 ай бұрын

    It would be nice if he wasn't constantly dragging the talk to a halt to awkwardly insult imaginary people.

  • @ruadeil_zabelin
    @ruadeil_zabelin3 ай бұрын

    We had an opensource project where people kept asking the same question and wouldn't read the simple "getting started" guide and look through the config file. We put 2 entries in the config file crash1=true and crash2=true at the bottom. If those were set we would essentially run code kind of like this. Just crash. The next time someone came in to our IRC (ye.. this was a long time ago..) with "its crashing on startup!" we could just tell them to RTFM.

  • @attariarash
    @attariarash3 ай бұрын

    It was so dense. You should read a system programming book and take some operating system course to understand what he said.

  • @Bat0u89
    @Bat0u894 ай бұрын

    source code?

  • @tangerian319
    @tangerian3194 ай бұрын

    If I got this question my reply would be "John Carmack's hellow world?"

  • @NoodleBerry
    @NoodleBerry4 ай бұрын

    SIGSEGV Signal... segmentation?... ... V????

  • @hselinsons
    @hselinsons4 ай бұрын

    Thank you very much! Really helpful.

  • @cpponsea
    @cpponsea4 ай бұрын

    So pleased to hear that you found the presentation to be of help.

  • @ZapOKill
    @ZapOKill4 ай бұрын

    another great example why not to use singletons

  • @xarcaz
    @xarcaz4 ай бұрын

    Mason... is that Mason Murner of M++Meekly fame?

  • @MattGodbolt
    @MattGodbolt4 ай бұрын

    Mmmmmmaybe

  • @mystmuffin3600
    @mystmuffin36004 ай бұрын

    beautiful slides!

  • @0dWHOHWb0
    @0dWHOHWb04 ай бұрын

    I feel like I only understood maybe half of this, damn

  • @AndreiGrosuMX
    @AndreiGrosuMX4 ай бұрын

    I don’t know if this is addressed but there is a glaring problem (at least in some domains) with the cursor concept as implemented here: In the example, what if cursor<bool> binded to the gas stove knob …? The main gripe is that cursors can’t be that generic or we don’t get compile time type safety. You have to limit that interface ( with concepts, for example ). I mean it’s obvious here because of the simplicty of the example, but in a ‘real codebase’ with a lot of domain types and operations on them , type safety makes the cursors unwieldly unless concepts are used (and who has a concepts capable compiler in production …)

  • @Antagon666
    @Antagon6664 ай бұрын

    I'm so looking forward to std simd.

  • @def1nt
    @def1nt4 ай бұрын

    I'm not that much into low-level stuff, but the talk was very insightful and even entertaining.

  • @jfbeam
    @jfbeam4 ай бұрын

    I can't speak to the mind of the programmer, but I _can_ tell you what it actually does: *movb $0, 0* [writes zero to memory address zero.] There are plenty of embedded systems where this is a perfectly valid thing to do. (on any modern, high level system (i.e. PC), it. is. not.)

  • @ZachPetch
    @ZachPetch4 ай бұрын

    Can someone explain how this was anything other than a waste of 50 minutes? Could he not have made that same point _equally_ effectively in, say, 4 minutes? I am feeling frustrated after having watched the whole thing, so maybe this is misdirected angst, but it seems to me that this whole talk was him explaining that this makes a good interview question for someone in this very specific field of computer science because the interviewee's answer demonstrates how well they know what they're talking about. If I had been attending this conference, I can't help but think that I would have been _very_ disappointed if I attended this in person.

  • @mydeveloperday9069
    @mydeveloperday90694 ай бұрын

    31:00 the fact that clang-format implements some of the rules of clang-tidy just without the need for the full AST, I believe by definition makes it justifiable to be consider as a code analysis tool (of sorts), combine that with its ability to add/remove braces, rearrange includes and imports, rearrange const east/west, remove extraneous semi colons, gives it the capabilities to ensure and enforce code follow a user specific style guide. Ironically becuase of the speed due to the lack of a need for a real parser, most people run clang-format all the time, on commits, and on even on save, many of these other tools listed here are run once in a while often requiring hours of processing and post analysis for the debunking of false positives. When it comes to code conformance I believe clang-format has done more than most tool to ensure consistency.

  • @mydeveloperday9069
    @mydeveloperday90694 ай бұрын

    29:20 you say that clang-format is breaking the compatibility between the settings, this is incorrect, the clang-format team does NOT break the configuration between releases, most options switch from being a "bool" -> "enumeration" -> "structure" during their lifecycle as the complexity of what is being introduced increases (people asking for more knobs and whistles), BUT we DO NOT break compatibility, we continue to provide mappings from the old to the new settings allowing you to stick with the old (if you must), it doesn't break the compatibility, we also don't require people to use the latest version but they cannot have new configuration but use an old binary, for that they must upgrade (and why wouldn't they? if its in their configuration). Some people have expressed that from version to version they can get small changes in Formatting, This often is not so much changes but corrections often caused by improvements to the clang-format parser which more correctly identifies the token real use. It would be nice if you give this presentation again that you correct this mistake.

  • @TheOnlyAndreySotnikov
    @TheOnlyAndreySotnikov5 ай бұрын

    I like how, after 50 minutes, he goes, "That's the basics; let's talk about some details." Anyway, it was an excellent presentation!