C++ Is An Absolute Blast

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

ความคิดเห็น •

  • @leonhardmay3569
    @leonhardmay3569 6 ชั่วโมงที่ผ่านมา +280

    C++ is terrible, I love C++

    • @Jiyoon02
      @Jiyoon02 6 ชั่วโมงที่ผ่านมา +21

      That's the spirit

    • @yimyim117
      @yimyim117 6 ชั่วโมงที่ผ่านมา +6

      Wholeheartedly agree

    • @Ptolemusa
      @Ptolemusa 6 ชั่วโมงที่ผ่านมา +3

      Factually correct.

    • @notuxnobux
      @notuxnobux 6 ชั่วโมงที่ผ่านมา +3

      Relatable. I have been programming in C++ for 15 years and I hate it. But it's still the first thing I reach for when I want to create something (I often work with graphics).

    • @shivavarunadicherla
      @shivavarunadicherla 5 ชั่วโมงที่ผ่านมา +3

      Most relatable comment yet. I f*king don't know why I keep coming back to C++ even after trying Rust, Zig etc

  • @yessopie
    @yessopie 3 ชั่วโมงที่ผ่านมา +60

    People don't get that the thing that makes C++ fast is the same thing that everyone hates about it: free pointers and manual memory management. Some people say stuff like "Java is as fast as C++ because JIT", no, you don't get it, C++ is fast because you can remove all memory allocation from your inner loops. I recently had to write a tool to scan 10GB+ log files... I wrote it initially with std::string just to get a working prototype, but replacing that with custom string routines that used a pre-allocated memory arena, the program ran literally 10x faster.

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา +4

      RAII and cache locality help a lot with that, since you can have manual memory management while letting the compiler handle it for you with RAII.

    • @thesenamesaretaken
      @thesenamesaretaken 2 ชั่วโมงที่ผ่านมา +11

      I don't hate C++ having pointers and memory management, I hate it being a clusterfuck of syntax with countless different features that implement the same functionality because it has to be backwards compatible with every previous clusterfuck.

    • @Spartan322
      @Spartan322 2 ชั่วโมงที่ผ่านมา +8

      @@thesenamesaretaken That's a requirement for literally any language that's under professional use.

    • @edwardcullen1739
      @edwardcullen1739 2 ชั่วโมงที่ผ่านมา +2

      The mentality. Some of us have it, the rest write Java _by choice._

    • @maidenlesstarnished8816
      @maidenlesstarnished8816 17 นาทีที่ผ่านมา +1

      ​@Spartan322 Even in C, with intelligent resource management, manual memory management isn't an issue. People just need to get in the habit of allocating memory in advance. I just wrote a system in C that receives video streams from multiple cameras and then bundles timestamp aligned framesets and transfers them to another process, and there's literally only two mallocs, and two frees, in the entire system. When your memory management is well done, even RAII isn't all that necessary

  • @kuhluhOG
    @kuhluhOG 3 ชั่วโมงที่ผ่านมา +25

    47:45 "Any long lived C++ project is hot garbage and not fun"
    Throw out "C++" and it's still true.

    • @edwardcullen1739
      @edwardcullen1739 2 ชั่วโมงที่ผ่านมา +4

      Yep. Still struggle to comprehend how people can't see past programming language as the problem when it comes to large projects. 🤷‍♂️
      The problem of scale is the problem of scale, not programming language.

  • @abrarmasumabir3809
    @abrarmasumabir3809 7 ชั่วโมงที่ผ่านมา +186

    C++ is blazingly fast.

    • @mbrofoc
      @mbrofoc 6 ชั่วโมงที่ผ่านมา +16

      C++ is a sportsman but on heavy steroids, it's not safe but it's very, very fast

    • @its_momo_5995
      @its_momo_5995 6 ชั่วโมงที่ผ่านมา +3

      Im always still shocked how fast it is

    • @thewhitefalcon8539
      @thewhitefalcon8539 6 ชั่วโมงที่ผ่านมา +9

      C++ is an absolute blast. C++ is blazing fast. C++ makes your friends aghast, when Crowdstrike is a total disast--

    • @notuxnobux
      @notuxnobux 6 ชั่วโมงที่ผ่านมา

      @@mbrofoc Modern c++ and following common development practices such as assets and unit tests leads to 0 security issues or memory issues in c++. I have worked on several multi million line c++ projects and there has never been a bug/security issue in the code that a language like rust wouldn't have.

    • @notuxnobux
      @notuxnobux 6 ชั่วโมงที่ผ่านมา

      such as asserts*

  • @notreduam
    @notreduam 6 ชั่วโมงที่ผ่านมา +158

    writing games is just peak programming enjoyment

    • @bakakaizoku
      @bakakaizoku 5 ชั่วโมงที่ผ่านมา +4

      Fax, I learned C++ and C# through gamedevelopment (XNA into Unity into Unreal) and am enjoying it way more than my (previous) day job as a backend PHP developer.

    • @XDarkGreyX
      @XDarkGreyX 5 ชั่วโมงที่ผ่านมา +22

      *Recruiter sees gigachad 10x game project on resume*
      "We don't make games here. Have a nice day"

    • @sven-o
      @sven-o 5 ชั่วโมงที่ผ่านมา +5

      Its just too much effort for the smallest stuff. Not fun at all, especially if not using your own assets...

    • @AyushPramanik-m6f
      @AyushPramanik-m6f 5 ชั่วโมงที่ผ่านมา +2

      Me personally it’s a headache, I spent more time fixing bugs than making the fun parts of the game.

    • @juandesalgado
      @juandesalgado 3 ชั่วโมงที่ผ่านมา

      Only if you write them alone

  • @cyberdrace
    @cyberdrace ชั่วโมงที่ผ่านมา +3

    His point about art is essentially correct, even if it's explained badly. Good art teachers make their students throw as much of the painting onto the canvas as early as possible so they can move on to the next one quickly if it's not going well. It's easy to waste time in the messy middle stage instead of just finishing what you have and learning from the end result.

  • @Kiyuja
    @Kiyuja 2 ชั่วโมงที่ผ่านมา +5

    27:55 when the deaf kid tries to warn the class that the bullied emo kid is reaching into his bag

  • @megawavez
    @megawavez 6 ชั่วโมงที่ผ่านมา +60

    Modern C++ actually is pretty darn fun to use.

    • @KayOScode
      @KayOScode 4 ชั่วโมงที่ผ่านมา +5

      I agree. It’s like all the benefits of rust, but without the pain during the dev process

    • @megawavez
      @megawavez 3 ชั่วโมงที่ผ่านมา +1

      @@KayOScode Rust... I felt like I was doing an advanced math equation even if I wanted to do the most simple of things.

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา +7

      Especially C++20, concepts absolutely fix the template problems way too well,, shame that modules still don't work properly on any compilers though.

    • @KayOScode
      @KayOScode 3 ชั่วโมงที่ผ่านมา +4

      @@megawavez yep. With rust I’d be finding myself checking the binary to make sure it didn’t insert bounds checks where I didn’t want them. And don’t get me started on all the valid code the borrow checker rejected. So annoying

    • @bersK00
      @bersK00 3 ชั่วโมงที่ผ่านมา +1

      wut

  • @us4tiyny4n
    @us4tiyny4n 6 ชั่วโมงที่ผ่านมา +44

    Workaround Oriented Programming is what burns me to the ground. Especially if it wasn’t my code from the beginning, I just can’t…

    • @User948Z7Z-w7n
      @User948Z7Z-w7n 5 ชั่วโมงที่ผ่านมา

      It works bro, it works.

    • @skyeplus
      @skyeplus 4 ชั่วโมงที่ผ่านมา +1

      When you're trying to fix something and have to think if fixing this will break logic in 3 other places that depend on it.

    • @us4tiyny4n
      @us4tiyny4n 4 ชั่วโมงที่ผ่านมา

      @@skyeplus rather when you read this piece of shit code with 10 comments and #ifdefs around it and have to recreate the history and reasons of these decisions via blame. And then be held accountable for. Not a lot of fun in that, I’m telling you.

  • @VivekYadav-ds8oz
    @VivekYadav-ds8oz 5 ชั่วโมงที่ผ่านมา +30

    I feel like this author didn't keep up with C++ for a long time. None of the things he mentioned surprised probably like 80% of the people here. C++11 is kinda the default now. And all the benefits he's stating are kinda ... in most other languages? Him being pretty unaware of what's going on probably means he's in some honeymoon phase rn.

  • @skyeplus
    @skyeplus 4 ชั่วโมงที่ผ่านมา +8

    "It made me the coder that I am today..."
    For me it was Python, when I learned mindset of "just do it" and became a better C++ programmer. Then lately it was Functional programming.

  • @Miaan15
    @Miaan15 6 ชั่วโมงที่ผ่านมา +41

    C++ MENTIONED !!!

    • @MCroppered
      @MCroppered 5 ชั่วโมงที่ผ่านมา

      What’s the point of this?

    • @Miaan15
      @Miaan15 4 ชั่วโมงที่ผ่านมา +1

      c++ is my copium
      i love it

    • @anguswetty
      @anguswetty 2 ชั่วโมงที่ผ่านมา

      C what?

  • @jacobthornton1745
    @jacobthornton1745 4 ชั่วโมงที่ผ่านมา +6

    "A quick example of using directx12 api" - the 3d rendering engineer in me started snickering.

  • @maninalift
    @maninalift 7 ชั่วโมงที่ผ่านมา +49

    The most fun I've had programming is C++ and a wierd dialect of Basic. The reason being, those were the times where the language didn't have good answers to the things i was trying to do and i had license to just figure out how to abuse the language to do what i wanted. I could think freely without the constant anxiety of wondering what the right way to do things was

    • @MartinJungblut
      @MartinJungblut 6 ชั่วโมงที่ผ่านมา +2

      This is a huge point. Enjoyment and a sense of there being little pressure on your back is a huge part of what makes me productive to begin with.

    • @joshuadonahue5871
      @joshuadonahue5871 4 ชั่วโมงที่ผ่านมา

      Real

  • @ficolas2
    @ficolas2 6 ชั่วโมงที่ผ่านมา +10

    Will I finish the project? No but I will finish the problem.
    Im taking that as a personal attack

  • @13thxenos
    @13thxenos 4 ชั่วโมงที่ผ่านมา +8

    This Zed Shaw guy is such a character. He wrote some book about teaching programing, and his method was to type every code in the book. That was it.
    He is also someone who hated Python 3 breaking compatibility with Python 2 with a passion. So much so that he lied about Python 3's faults a bunch of times and stuck to Python 2 like a tick. Or maybe he was being dumb, I'm not sure.

    • @itermercator114
      @itermercator114 2 ชั่วโมงที่ผ่านมา

      Sounds like the pretentious academic archetype with that book, I had control systems engineering books that were exactly that, nothing was explained, it was basically a magazine of example equations with no explanation why or what.
      As for the Python thing, C++ people are weird like that, it's so dumb and part of their (quite honestly, r*tarded) view that a language needs 50 years of backwards compatibility despite massive changes in goals, designs, paradigms, environment, tooling etc. C++ still has crap systems like header files simply because 50 years ago compilers were only single pass, give give an example.

  • @TalkToMe2Day
    @TalkToMe2Day 6 ชั่วโมงที่ผ่านมา +11

    I just took my first class that used C/C++... I loved it. I felt like I actually had to learn what and why I was doing things, not just throwing together built-in functions. I don't know why this made me happier to program, but nonetheless it did 🤷‍♂️

    • @bizw
      @bizw 5 ชั่วโมงที่ผ่านมา

      so true king

  • @itermercator114
    @itermercator114 2 ชั่วโมงที่ผ่านมา +1

    I haven't read Zed's code, but the way he talks and people explaining him reminds me of the the exact archetype of C++ devs who write bad and magic code, then get told to stop doing that because nobody else can understand it (because it's gibberish that somehow works) but takes personal offence and doesn't submit, often trying to fight people over the matter hoping to work them down with frivolous attrition and stubbornness rather than be normal and amicable.
    It's a weird "They're mentally a junior, just better at programming through sheer time doing it" thing

  • @Nickname863
    @Nickname863 2 ชั่วโมงที่ผ่านมา +1

    My art teacher drew on the drawings i was doing to show me where to do something different, very respectful 10/10
    They also would grade me bad for trying to follow the "advice" given. Still recovering from thinking i am incapable of doing art

  • @joshuasanders4302
    @joshuasanders4302 2 ชั่วโมงที่ผ่านมา +1

    "I don't understand the _ naming convention". I don't like trailing _, I prefer m_, but your point was you shouldn't need to do that. In C++ its very important, because you need to deeply understand at a glance what the lifetime of every piece of storage is. If you see "m_", you know that its private, its lifetime is contained to the object you're looking at. If it has no prefix, its a local variable and its lifetime is contained in its current scope.
    This is not something you want to "jump to definition" every 10 seconds for. It makes reading C++ code 10x easier when you have naming conventions like this. But I can see how someone who doesn't know C++ very well and doesn't have to work in a massive C++ codebase would be skeptical.

  • @dexter9313
    @dexter9313 5 ชั่วโมงที่ผ่านมา +4

    I've used C++ through all those phases, the current phase we're at is clearly the best. It's still my language of choice for anything compiled.

  • @ebn__
    @ebn__ 4 ชั่วโมงที่ผ่านมา +3

    What he most likely means by the Python Illuminati bit is that, in a lot of languages that aren't C/C++, if you want to write certain types of software you have to use your own or someone else's bindings for C/C++ libraries, which may or may not be up to date, of varying quality and overhead which makes the process more complicated and annoying than it has to be. In C/C++.. well you can just use the thing and so it feels like you are never hindered and can just make anything and I share this sentiment. It boils down to writing the thing vs writing the thing with extra steps.

  • @ProjectVastness
    @ProjectVastness 4 ชั่วโมงที่ผ่านมา +2

    I'm almost 44 years old, I started with pascal, C/C++ and COBOL when I was like 14/15 years old. And man I must be honest C/C++ and functional paradigm languages for me are still a pleasure to work in/with. And yeah the hardship of building working stuff more than 20 years ago it was also more fun than today honestly. But hey this is just my way of working and opinion. Today people do some block of code and others pick it to add more stuff and the others do the same and so on. I understand that in some jobs/cases it's mandatory and necessary, but I believe that at least 40% of stuff wouldn't needed to be like that.

  • @titfortat4405
    @titfortat4405 4 ชั่วโมงที่ผ่านมา +15

    This reads like the author is deeply suffering from Stockholm syndrome.
    "This means that C++ the language--and C++ the community--simply Does Not Give a Fuck what you do. Do you want to write a matrix library? Go for it. Want to make a GUI library? Go for it. Want to write a game engine? Sit on your couch in the dark and go for it. How about a weird game that watches you code and makes fun of you? Seriously, nobody cares and most people think it's hilarious or fun."
    The "DGAF" attitude seems to be the crux of this argument, but I don't understand why one couldn't write a game engine, GUI, matrix library in C or Rust or Zig or Ada or any other language. And the author doesn't bother to explain any further. There's a huge difference between "nobody cares about what personal projects you're making" and "people will care if you're trying to influence the direction the programming language evolves" which seems to be his gripe against Rust and Python (His examples linked about Rust and Python weren't "people doing their own thing" but people trying to make their "thing" part of the ecosystem). Also he seems to have a personal vendetta against Python 3 from my research?
    Weird article written by a weird guy. I can't imagine anyone who hasn't already spent 5 years working in C++ would actually enjoy using C++ over Zig or Rust, or even C.

    • @johndoe2-ns6tf
      @johndoe2-ns6tf 4 ชั่วโมงที่ผ่านมา +5

      "attention everybody: i have just wrote or rewrote X in Rust. Rust is the future. Rust is blah blah blah." .... every rust dev ... the vegans of the dev world ... waiting for the approval of the others veg... i mean, rust devs.

    • @titfortat4405
      @titfortat4405 4 ชั่วโมงที่ผ่านมา +1

      @johndoe2-ns6tf I didn't even single out Rust; you clearly have some kind of inferiority complex. You're probably emotionally damaged from years of C++ abuse.
      The article needs to be re-edited to say : "This means that C++ the language--and C++ the community--simply Does Not Give a Fuck what you do (unless you're doing it in Rust which in case they will hate you for it).

    • @radadadadee
      @radadadadee 4 ชั่วโมงที่ผ่านมา

      I believe that the whole C++ community has some Stockholm syndrome, or at least a "sunken cost" problem where they invested too much and now they're afraid to move on. C++ is just such a clusterfuck that the best you hear from it is "well, modern C++ is not as bad anymore if you restrict yourself to this section".
      Just give up guys! There are better languages nowadays.

    • @titfortat4405
      @titfortat4405 3 ชั่วโมงที่ผ่านมา +5

      @johndoe2-ns6tf I didn't even single out Rust, so your insecurities are showing big time. The Rust haters at this point are more annoying than the Rust evangelists.
      The article needs to be re-edited to say : "This means that C++ the language--and C++ the community--simply Does Not Give a F what you do (unless you're doing it in Rust which in case they will hate you for it).

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา +2

      You're talking to one right now, I hate Rust and don't find Zig compelling, and I'll always love C++ over C. I also spend some of my free time reading the C++ proposal papers for fun.

  • @LARathbone
    @LARathbone 6 ชั่วโมงที่ผ่านมา +7

    Oh it's Zed Shaw. That makes this all make sense

    • @gokusaiyan1128
      @gokusaiyan1128 2 ชั่วโมงที่ผ่านมา

      does he have a bad reputation ?

    • @LARathbone
      @LARathbone ชั่วโมงที่ผ่านมา

      @gokusaiyan1128 Not a "bad" reputation per se but he's the author of several books and has been long known to be very outspoken and have some very controversial opinions. I don't really mind this piece as a whole and I think this is mostly a matter of opinion and actually don't disagree with a lot of what Zed says here. I'm just saying that knowing it's Zed Shaw gives a lot of amusing context to all of this.

    • @RandomGuyyy
      @RandomGuyyy ชั่วโมงที่ผ่านมา

      He's a proponent of doing things The Hard Way.

  • @THEapphacker
    @THEapphacker 6 ชั่วโมงที่ผ่านมา +10

    This blog post is stupid. The author clearly has issues taking any feedback and his arguments make no sense in the context of writing code. My favorite part of this video is prime realizing that this blog was a total waste of time to read.

  • @burarum1
    @burarum1 5 ชั่วโมงที่ผ่านมา +8

    Only weird people use tensorflow nowadays and clinically insane people use the C++ API. Pretty sure this guy has absolutely no idea of the current status of ML/DL development.

    • @marwan7614
      @marwan7614 2 ชั่วโมงที่ผ่านมา

      what's being used currently ?

    • @burarum1
      @burarum1 2 ชั่วโมงที่ผ่านมา

      @marwan7614 Pytorch mostly and maybe Jax (and jax based frameworks) atleast at google because it is a google product, sort of a successor to tensorflow and compiles for TPUs. Jax is quite popular also in research because it is very flexible.

    • @burarum1
      @burarum1 ชั่วโมงที่ผ่านมา +1

      @@marwan7614 Pytorch mostly and maybe Jax. Don't know how much Jax is used in production really but it is relatively popular in research because it is very flexible and I would assume that it is used at google since it is a google research product.

  • @mmmhorsesteaks
    @mmmhorsesteaks 4 ชั่วโมงที่ผ่านมา +19

    I'm glad he's enjoying C++ but he's just so clearly a crank and probably a bit of a reactionary too.

  • @neruneri
    @neruneri 5 ชั่วโมงที่ผ่านมา +4

    Some of the points feel like a reach, but the core point of "C++ isn't bad for the reasons it used to be bad, and it's actually quite nice in other ways" stands I feel.

  • @PeteMcGo
    @PeteMcGo 6 ชั่วโมงที่ผ่านมา +3

    I've had this kind of blast when I recently got into ROS2 and had an actual physical robot at hand to try the stuff live

    • @mage3690
      @mage3690 4 ชั่วโมงที่ผ่านมา

      I did that in community college. Most fun I've ever had, in school or in programming.
      The prof hated me, though. Turns out ABB PLCs have no protections against infinite loops and I discovered the jmp instruction and created an infinite loop with it. It ruined the OS and a good fishing weekend for my prof when he tried to fix it.

  • @Georgggg
    @Georgggg 5 ชั่วโมงที่ผ่านมา +4

    You can only have fun programming, when it just works, and you can focusing on solving REAL problem, not 50-lines-compiler-error-message problems.

  • @demolazer
    @demolazer 6 ชั่วโมงที่ผ่านมา +10

    I'm obsessed with programming (and autistic shockingly enough). I love it more than anything. Work projects can be boring or stressful sometimes, but side projects are gloriously fun still

  • @kiseitai2
    @kiseitai2 5 ชั่วโมงที่ผ่านมา +3

    To Rust or to C++, that is the question.
    I prefer the simpler syntax of Rust (when keeping lifetimes to a minimum) but I still use C++ in my websocket backend. C++20 at the moment.

  • @SabbraCadabra11
    @SabbraCadabra11 6 ชั่วโมงที่ผ่านมา +3

    Drinking game level impossible: take a shot every time Prime says "let's see"

  • @kuhluhOG
    @kuhluhOG 3 ชั่วโมงที่ผ่านมา +1

    57:40 The reasoning about encoding stuff like scoping or even semantics into a variable name is relatively simple: You can easily know the semantics of the variable at a glance.
    If you are properly following such a naming convention (e.g. all member variables have a trailing underscore or the more popular m_ in front of the name, or g_ for globals etc.) you can very quickly understand the meaning (or potential problems) behind certain things without the need to move your cursor or mouse to the variable and e.g. go to definition or similar.
    One can even encode other meaning into variable names. For example if you are dealing with multiple coordinate systems in your application one can give different prefixes for each one, making a lot of things kinda trivial (although encoding it in types would be better if possible, but that's not always the case).

  • @eheh5748
    @eheh5748 6 ชั่วโมงที่ผ่านมา +12

    C++ is so fun when programming small games, to be honest I haven't had any similar experience with other programmng langauges.
    I have never experienced what it is in a company-ish code base but I am so grateful that I came across c++ as my first programming language, it taught me so much

    • @yimyim117
      @yimyim117 6 ชั่วโมงที่ผ่านมา +6

      I'm working in a big company using c++ as their backend system and I can tell you it's an utterly chaos. Millions of lines of code without proper coding-guidelines makes you feel like Tarzan swinging along the vines in the jungle. It's still fun though.

    • @godslayer7905
      @godslayer7905 3 ชั่วโมงที่ผ่านมา

      @@yimyim117 sound like hell to me

  • @criptych
    @criptych 4 ชั่วโมงที่ผ่านมา +1

    "[](){ body }" is no longer than Python's "lambda: body" or Go's "func() { body }". Okay, sure, if you want to grab the scope, it's _one_ more character.
    Also, I was pretty much with him up until the "I hate RAII". I wouldn't mind being able to use a "finally" clause sometimes instead of having to create a special class just to use it for RAII, but IMO deterministic destructors are one of the killer features of C++.

  • @paryonix3d6657
    @paryonix3d6657 6 ชั่วโมงที่ผ่านมา +6

    I don't always have fun with the language itself but developing my own game engine in C++ sure was a lot of fun. Also there isn't really much of an alternative for that kind of thing except for C. The language itself got a lot better over the years, its simply a huge toolbox - you are not forced to use everything. It gives you the freedom to pick your own style, that's what I like about it. It's a multi-paradigm language, which most people seem to overlook.

    • @AnonUser-b6y
      @AnonUser-b6y 5 ชั่วโมงที่ผ่านมา +2

      Most C++ haters dislike that it doesn’t forces specific paradigm. An “opinionated” single-paradigm language is better for online debates because you can just claim any problem that doesn’t fit the paradigm is invalid.

  • @dddderick
    @dddderick 5 ชั่วโมงที่ผ่านมา +1

    🤯Prime, what was your name on Graal? I was on LAT and GFX (Level Admin Team & Graphics Design Team) back in '99-'01 ... Personally worked with Tyhme and Krakken.

  • @roberthoople
    @roberthoople 2 ชั่วโมงที่ผ่านมา

    UI/web absolutely bored the crap out of me after I built my first website. Even though I was doing PHP and JS coding (in 2008), I got away from it and thought I disliked programming.
    But then I started writing C++ on microcontrollers, 4 years ago, and I freakin love this stuff!

  • @maddyv5948
    @maddyv5948 6 ชั่วโมงที่ผ่านมา +5

    I started with c again a few days ago. It's soooo much fun! I'd forgotten what it felt like, making little toys and contraptions and seeing them come to life.

  • @YaroslavFedevych
    @YaroslavFedevych 3 ชั่วโมงที่ผ่านมา +2

    Okay, Prime reacted to Zed, I can now ride into the sunset

  • @FryGuy1013
    @FryGuy1013 2 ชั่วโมงที่ผ่านมา

    The trailing underscore thing is because, as usual with C++, people have a good idea (prefixing member variables with an underscore) and then C++ finds a way to fuck it up because variable names aren't allowed to start with an underscore because of some standards bullshit. So now everyone uses underscores at the end which kind of defeats one of the purposes of them which is to put member variables at the top of the intellisense listing so you can just type `_whatever` and get the member variables instead of all the variables. And they're much harder to scan and see the underscore at the end than at the beginning.

  • @ParkourGrip
    @ParkourGrip 3 ชั่วโมงที่ผ่านมา +1

    Did we just prove that: lim [t -> ∞] cardinal_number(every_cpp_constructor) = ∞

  • @Guiriloo
    @Guiriloo 4 ชั่วโมงที่ผ่านมา +1

    He not selecting the first letter and the last one of all marked text is driving me crazy

  • @nightshade427
    @nightshade427 37 นาทีที่ผ่านมา

    I'm having a blast in C, creating a framework called MACH (mustach, alpine, c, htmx) and is fully async, has first class support for htmx and alpine, when used to create a webapp you do no allocations, memory management, pointers, or buffers to worry about, feels like a js/ruby/go framework. Supports HMR, sqlite, libsql (turso/local_replica), postgres, sending emails, background tasks (sorta like sidekiq, resqueue, etc), telementy(sentry/open_telementry), and can compile to single fully self-contained executable

  • @romangeneral23
    @romangeneral23 6 ชั่วโมงที่ผ่านมา +5

    C++ for life

  • @nickstanovic
    @nickstanovic 6 ชั่วโมงที่ผ่านมา +1

    I like to see how I can break down a problem and solve with Powershell, Python, and JS automations to make work fun. It's not a programming job but can benefit from scripting.

  • @Ch40zz
    @Ch40zz 5 ชั่วโมงที่ผ่านมา +2

    "I really hate RAII" what the heck dude? That's one of the best features of the whole langauge so you dont have to retype 20 Free(X) on error return when you do system programming with the OS APIs...

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา

      If you know how to use RAII, it protects you from memory leaks by forgetting to free the memory because you returned in an unexpected place.

    • @yimyim117
      @yimyim117 2 ชั่วโมงที่ผ่านมา

      RAII also enforces a better system design because it hinders the init() style programming that is typically done in c

  • @FringeGames
    @FringeGames 2 ชั่วโมงที่ผ่านมา

    What are the final 2 constructor types in the Rule of 3/5/7/0?

  • @alexandrustefanmiron7723
    @alexandrustefanmiron7723 5 ชั่วโมงที่ผ่านมา +3

    You forgot to invoke it [](){}() or, even better, why not mixin some templates [](t value){}()

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา

      [](auto value){}()
      Immediately invoked lambdas are actually exceedingly useful to get performance and take advantage of compile-time effects.

  • @Paschendale2
    @Paschendale2 5 ชั่วโมงที่ผ่านมา +2

    Graal mentioned!? I haven't heard that name since 2004

    • @dddderick
      @dddderick 4 ชั่วโมงที่ผ่านมา +1

      Dude! What was your name? I was mostly gone by 2004 but were you there prior? (1999-2001?)... Before player worlds and all the other forks happened?

    • @Paschendale2
      @Paschendale2 3 ชั่วโมงที่ผ่านมา

      @@dddderick I don't remember. I had an account but was deep into other games instead. I used to go over to my friends house and watch him play it for hours lol. Around 2003-2004 probably

  • @AsherMancinelli
    @AsherMancinelli 6 นาทีที่ผ่านมา

    Unique and shared ptr are not on the stack, they are basically managers for heap memory that automatically free their memory through raii. Dynamic memory management on the stack is done with “alloca” usually. I love c++! It has its warts for sure.

  • @diadetediotedio6918
    @diadetediotedio6918 2 ชั่วโมงที่ผ่านมา +2

    12:39
    I'm sorry, stop. This is getting bizarre, it is not like programming was different from that, we have metaprogramming since almost the start of programming being a thing, and we have reusability concerns since ALWAYS, literally functional programming is something that heavily induces composability and reusability and generics and it exists for more than 80 years now. Just because you think something is overused it does not mean you can or should call for it as some sort of "big problem in programming", it is the same problematic thing as projecting your "fun past" into the present and saying things degraded (a thing you by yourself criticized).
    Well, anyway, I'm just kinda pointing this out.

  • @gh0stcloud499
    @gh0stcloud499 3 ชั่วโมงที่ผ่านมา

    17:20 I hade the exact same reaction when I read the lambda paragraph lol

  • @allancomar
    @allancomar 4 ชั่วโมงที่ผ่านมา +1

    Win32 APIs always had the capital letters. it was introduced on windows 3 as a pattern. and all stayed like that.

  • @ficolas2
    @ficolas2 6 ชั่วโมงที่ผ่านมา +2

    Honestly someone watching a programming streaming and saying that they haven't had fun programming in a while sounds wild to me.

    • @mage3690
      @mage3690 4 ชั่วโมงที่ผ่านมา +2

      Maybe that's why they're watching him -- to find the joy in programming again.

    • @dulcebelluminexpertis4147
      @dulcebelluminexpertis4147 4 ชั่วโมงที่ผ่านมา

      @@mage3690 honestly that is the only reason i keep up with some of these youtubers. once in a blue moon they will share something that can help 'keep my head in the game'.

  • @-_James_-
    @-_James_- 3 ชั่วโมงที่ผ่านมา

    I first learned to program back in 1983 when I was 10. Started out in BBC Basic, moved to ARM assembler in the late 80s, learned C in the first week of my first real job in '92, switched fully to C++ around '99. Still there. Use it at work, use it at home, on pretty much every major platform out there. My resume has maybe a dozen and a half other languages listed that I can resort to when I must, but I rarely need them.
    Programmers these days are regressing in their knowledge. Their mentality now seems to be if there isn't a library for it, it can't be done. "AI" is definitely not going to help change this.

    • @JoFSa
      @JoFSa 25 นาทีที่ผ่านมา

      Hey, I also started with BBC Basic when I was 10; it was 1984. Learned C++ on-the-job in 1997 and have used it professionally and for personal projects ever since. Not only do I love C++, but I also love working on the kinds of projects where it makes sense to use C++.

  • @schrummy14
    @schrummy14 4 ชั่วโมงที่ผ่านมา

    General question.... what is the hate with `this->`?
    While I was in college, I wrote a lot of simulation code and I guess I have just gotten use to seeing it...

  • @bjornoid527
    @bjornoid527 ชั่วโมงที่ผ่านมา

    My favorite in school was c++ between c#, java, python, SQL, MatLab, and HLSL

  • @ZeZeBatata69
    @ZeZeBatata69 2 ชั่วโมงที่ผ่านมา

    37:50 I love how Prime and all these guys don't know who Zed is.. 🤣🤣

  • @kuhluhOG
    @kuhluhOG 4 ชั่วโมงที่ผ่านมา

    23:02 The only good thing which Microsoft does for developers which come to my mind is that they actually translate their documentation into multiple languages.

  • @nehemiah6280
    @nehemiah6280 3 ชั่วโมงที่ผ่านมา

    As a 17 year old who's been learning c++ all of high school I think it's pretty nice I enjoy it a lot more that C#, and Java

  • @Telopead
    @Telopead 4 ชั่วโมงที่ผ่านมา

    I don’t like how this guy put it, but I do share the sentiment. Modern c++ is actually really great and fun. While i admit I am much more productive using other languages, c++ is my go to when experimenting on my own time.

  • @Omnifarious0
    @Omnifarious0 ชั่วโมงที่ผ่านมา

    I love trailing underscores for member variables. I don't know what makes it "craaaazy".

  • @Jack-b4s3g
    @Jack-b4s3g 4 ชั่วโมงที่ผ่านมา

    Those pipes are a "new" thing that takes time to get used to.

  • @simontist
    @simontist 5 ชั่วโมงที่ผ่านมา

    Read the title as "C++ is an Absolute BEAST" and nodded

  • @benitodifrancesco7254
    @benitodifrancesco7254 2 ชั่วโมงที่ผ่านมา

    Thoughts on open ai o3?

  • @scififan698
    @scififan698 5 ชั่วโมงที่ผ่านมา

    when you look at a library like e.g. Clay (the UI layout single-header C thing), you see what this guy means.
    I agree

  • @dj_jiffy_pop
    @dj_jiffy_pop ชั่วโมงที่ผ่านมา

    What happened in late-90's/early-2000's? Gang Of Four "Design Patterns" was published in 1994, that's what... and everybody and their grandmother was sure to bring their copy to every multi-tier web dev interview, and plunk it right down on the table for all to admire. "What's your favorite design pattern?" was all too often a topic of discussion at nerdy social mixers of the time. Patterns and Anti-Patterns (IN PARTICULAR) are great knowledge... but like Java reflection and (my nemesis) INSUFFERABLE CODE-GENERATING FRAMEWORKS... too much of a good thing dot dot dot...

  • @koksem
    @koksem 5 ชั่วโมงที่ผ่านมา +3

    C++ is like F1, incredibly fast, but just as dangerous.

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา

      "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off" - Bjarne Stroustrup

    • @ldov6373
      @ldov6373 3 ชั่วโมงที่ผ่านมา

      @@Spartan322 people always throw that quote around but what does it even mean

    • @Spartan322
      @Spartan322 3 ชั่วโมงที่ผ่านมา

      @@ldov6373 It means that C++ has a lot of ways to avoid the problems common in C that blows up the programming, but when you do occasionally find one, its probably worse then what'd happen in C.

    • @Sebo.
      @Sebo. 5 นาทีที่ผ่านมา

      @@ldov6373 for example, in c it's easy to create a use after free; in c++ you think you are safe if you use for example references and not pointers (since references can't be null) but since references are just wrapper around a pointer, if your data structure gets reallocated your reference gets invalidated and accessing it is still accessing freed memory but it's a lot harder to recognize or find. The Cherno has a video with an example, i think it's "Stop using std::vector wrong"

  • @alexanderoestreicher3557
    @alexanderoestreicher3557 5 ชั่วโมงที่ผ่านมา

    AAAAAH graal mentioned! I wrote my first code in graal as well in the level editor. 4:55

  • @I_am_who_I_am_who_I_am
    @I_am_who_I_am_who_I_am 6 ชั่วโมงที่ผ่านมา +6

    AbstractFactoryFactory Vistor pattern

  • @groknet
    @groknet 5 ชั่วโมงที่ผ่านมา

    The joy of solving a problem with the debugger is addictive like a toxic relationship 😅

  • @dexterman6361
    @dexterman6361 5 ชั่วโมงที่ผ่านมา

    I tried other languages a little, but I gotta agree. C++ was the most fun so far. And am thakful to have a C++ job. But the committee really needs to make the language better.

  • @rocapbg9518
    @rocapbg9518 5 ชั่วโมงที่ผ่านมา

    I don't agree that the scope of what you need to do has increased so much that you have to use libraries for everything.
    Besides web apps I've found that I can build pretty much everything I'm interested in from scratch.
    A game, a compiler, a small messaging app, etc.. Even though you can probably find a library that will do everything for you, you don't have to use it and it's much more fun when you don't use it.

  • @Spartan322
    @Spartan322 3 ชั่วโมงที่ผ่านมา

    semantic names are still massively useful for code review

  • @velorama-x
    @velorama-x 6 ชั่วโมงที่ผ่านมา +2

    dude missed the goated smh

  • @tyengineer0
    @tyengineer0 4 ชั่วโมงที่ผ่านมา

    The everything needs to be architecture hype came and went in the early 2000’s thank God

  • @ethograb
    @ethograb 2 ชั่วโมงที่ผ่านมา

    48:09 I'm going to push back on JavaScript being the most fun because you don't have to think about it. I love compiled languages because your closer to the hardware in general, and therefore I'm closer to my hero the Sega Genesis. I LOVE small portable binaries, that's where the fun is!

  • @juandesalgado
    @juandesalgado 3 ชั่วโมงที่ผ่านมา

    Your mom has not painted in the last 15 years? We need to do something about this. I'm serious.

  • @abcddd32123
    @abcddd32123 2 ชั่วโมงที่ผ่านมา

    C++ is super fun to write. no language even comes close

  • @TakkuTK
    @TakkuTK 2 ชั่วโมงที่ผ่านมา

    Pretty sure it's been "Rule of 0" ever since Smart Pointers actually got good. So you just use Smart Pointers and don't bother at all with writing your own copy-/move-constructors or -operators. IDK what "Rule of 7" is supposed to add, but it doesn't sound like proper/modern C++, given that "Rule of 5" has been deprecated in favor of Rule of 0 for like 10 years now. Nobody does that shit anymore except for maybe some minor use cases that are simply not coming to mind right now, although I guess any use case is a valid use case if you're the one having to deal with it.

  • @glalih
    @glalih 4 ชั่วโมงที่ผ่านมา

    i want to make something is such a glorious thought.

  • @delistoyer
    @delistoyer 6 ชั่วโมงที่ผ่านมา +10

    really fun having to maintain separate header files

    • @youtubeenjoyer1743
      @youtubeenjoyer1743 5 ชั่วโมงที่ผ่านมา

      You don’t have to. It’s possible and very much recommended write all code in a single translation unit without headers. It’s easier to maintain and compiles much faster.

    • @superuser8636
      @superuser8636 5 ชั่วโมงที่ผ่านมา

      Keep crying. it’s literally the least of everyone’s problems, it’s not terrible, and you don’t need a header with prototype definitions, you can put them in the cpp if you really get depressed over nothing

  • @gurugeek42
    @gurugeek42 6 ชั่วโมงที่ผ่านมา +3

    That's funny, I had the opposite experience. I generally like C++ but as I was prototyping my latest game I found myself getting more and more frustrated with it, mainly the overhead of managing the h/cpp split (admittedly probably a skill issue; I'm sure there are ways to make the split suck less). Anyway, I rewrote the prototype in Zig and have been *greatly* enjoying it.

    • @protocj3735
      @protocj3735 6 ชั่วโมงที่ผ่านมา +1

      .h and .so should be compilation artifacts, you shouldn't write headers yourself. This would simplify things so much.

  • @zachpalmer5538
    @zachpalmer5538 6 ชั่วโมงที่ผ่านมา

    I'm 34.. and lost this internship bc i didn't know material ui.. i am a backend engineer but was forced to do full stack ar my last job for almost 2 yrs.. so i went to take an internship for react after I got laid off.. i can build things from scratch.. i don't need the library so i thought who cares about component libraries😊

  • @sjoer
    @sjoer 3 ชั่วโมงที่ผ่านมา

    I learned English through the QBASIC HELP FILES WITH A DICTIONARY!
    :D

    • @sjoer
      @sjoer 2 ชั่วโมงที่ผ่านมา

      Now ask it to render w Window with Vulkan? :D

  • @PiotrMichniewski
    @PiotrMichniewski 3 ชั่วโมงที่ผ่านมา

    Fun fact: Vulkan is also full of caputal letters :)

  • @ZeZeBatata69
    @ZeZeBatata69 2 ชั่วโมงที่ผ่านมา

    Only mid vid I noticed this is another Zed Shaw post.

  • @johnpekkala6941
    @johnpekkala6941 4 ชั่วโมงที่ผ่านมา

    I had just planned to spend the evning working in Unreal 5 on a Baldurs Gate style RPG of my own wich is my winter game projekt. Most of the programming for this one Im doing in C++ so this one came with perfect timing regarding enjoying C++ cause Im have a blast for sure with this one!

  • @lillybyte
    @lillybyte 24 นาทีที่ผ่านมา

    I love C++, but I like C++20 while writing it like C++98.

  • @BenjaminSweetnam
    @BenjaminSweetnam 5 ชั่วโมงที่ผ่านมา

    Have fun all the time love my job, problem solving and coding and have some i was 13 learning C++.

  • @kostaad
    @kostaad 5 ชั่วโมงที่ผ่านมา

    Both unique_ptr and shared_ptr have to point to objects on the heap.

  • @suhanbangera884
    @suhanbangera884 6 ชั่วโมงที่ผ่านมา

    Prime, when are you trying Odin?

  • @YourNerdyJoe
    @YourNerdyJoe 52 นาทีที่ผ่านมา

    34:56 tokyospliff mentioned lol

  • @meryplays8952
    @meryplays8952 3 ชั่วโมงที่ผ่านมา

    I do not understand why you can't do it in D (the Dijkstra part). It has to do with STL, not C++. BTW D is the real C++

  • @totalermist
    @totalermist 2 ชั่วโมงที่ผ่านมา

    23:40 so MS is becoming Apple 😁

  • @ShiroAisu10
    @ShiroAisu10 6 ชั่วโมงที่ผ่านมา +4

    >And then you write async code and you hate your life
    Learning rust and using it for a while has taught me something really valuable: when criticizing something based on what's already available, instead of going "this feels bad", you should instead go "well, what is the alternative?" For example, people like to dunk on Rust because of .unwrap(), but the reality is that in C (or C++ if you aren't using exceptions), these unwraps translate to saving every little return value and calling assert() on them.
    Yes, you may hate your life when writing rust async code, but in C/C++ you wouldn't be writing async code at all, or you'd be writing your own state machines manually.

    • @JSzitas
      @JSzitas 5 ชั่วโมงที่ผ่านมา

      Or you would literally write a wrapper class and call it's unwrap method on it to get the result, leaving you in the same place.
      Just opt-in, rather than forced. (And you can make it something short, even maybe overload operator () to do it, as opposed to having a zillion .unwrap() statements.)
      What am I missing?

    • @AnonUser-b6y
      @AnonUser-b6y 5 ชั่วโมงที่ผ่านมา

      When using C++ you would use one of the multiple async libraries that have already written state machine templates for you.

    • @ShiroAisu10
      @ShiroAisu10 3 ชั่วโมงที่ผ่านมา +1

      @@JSzitas I don't understand. We are obviously talking about core language / standard library functionality. Are you under the impression that you cannot do the exact same with rust? Are you aware of the ? operator?
      The fact of the matter is: unwrap just doesn't happen because rust likes unwraps. If there is something to unwrap, there is a potential failstate that shouldn't be ignored.
      Besides, a construct like the one you detailed is incredibly hard to make both generic and 0 cost in C++.

  • @ethograb
    @ethograb 3 ชั่วโมงที่ผ่านมา

    It's fun... Until you use cmake. If you can get through that and you can statically compile your libraries, it's good. A major complaint I have against C++ itself is that compilation times are SLOW.... But then again I'm comparing it to C's compilation times which is a bit unfair...

    • @zdspider6778
      @zdspider6778 2 ชั่วโมงที่ผ่านมา

      You pay the price at compile time to get the massive speed benefits at run-time. 😉 This is acceptable, considering that your project will run MAAAAAAAAAAAAANY more times than it is compiled.