Clean Code : Horrible Performance | Full Interview

Поделиться
HTML-код
  • Опубликовано: 2 апр 2023
  • Recorded live on twitch, GET IN
    / theprimeagen
    Casey
    Twitter: / cmuratori
    Clean Code, Horrible Performance: • "Clean" Code, Horrible...
    Author: / @mollyrocket
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
  • НаукаНаука

Комментарии • 410

  • @JSHyCS
    @JSHyCS Год назад +705

    Prime you should 100% release some longer form interviews with engineers as a podcast. This was amazing!

    • @LuisFKA
      @LuisFKA Год назад +11

      Completely agree

    • @MrAustin4399
      @MrAustin4399 Год назад +15

      Would 100% subscribe to a prime podcast

    • @user-fn3yl8yd9n
      @user-fn3yl8yd9n Год назад +3

      primecast ftw

    • @chupacabraj4539
      @chupacabraj4539 8 месяцев назад

      PrimeRogen! Lets go!!!

    • @rummusLoL
      @rummusLoL 8 месяцев назад

      I would watch the shit out of that!

  • @5ONE41
    @5ONE41 Год назад +151

    For some reason I expected this to be a prime reacts video, so when Casey actually replied about the camera crispness I was genuinely freaked out for a second lol.

    • @adam7802
      @adam7802 4 месяца назад +3

      lol me too

  • @jesusmgw
    @jesusmgw Год назад +341

    Please make "The Prime and Casey Show" podcast a reality. It would be 100% pure awesome.

    • @empresagabriel
      @empresagabriel Год назад +9

      We need more interviews of Prime with Casey!

    • @bestformspielt
      @bestformspielt Год назад +3

      This would be pure gold! Please make it happen!

    • @surferriness
      @surferriness Год назад +4

      Always Listen to what Jesus says 🙏🫡

    • @jesse2667
      @jesse2667 10 месяцев назад +1

      💯

    • @ScrotoTBaggins
      @ScrotoTBaggins 8 месяцев назад

      This would blow all other "coding" podcasts out of the water. They're generally terrible

  • @brandenpalmer6741
    @brandenpalmer6741 Год назад +218

    This is gold. The worse personal project I ever wrote, one that almost made me give up on learning to code, started as a UML diagram.

    • @jan0195
      @jan0195 Год назад +12

      No waaay hahaha. I literally just finished some diagrams for my next project thinking that I'm being organized and smart. I don't even know yet all the functionalities it will have I just come up with things that came to my head.

    • @eazypeazy8559
      @eazypeazy8559 Год назад +6

      @@jan0195 I think, that point here is not to reject the planning before implementation. Actually, it’s good to plan something, to draw something, to visualize. I myself is a visual kind of person, so when I want to plan (or I’m stuck) I like to draw. The point here is to reject fcking “clean code” (TM) (c) dogma. and do things in really optimal way from the performance and developer points of view.

    • @antdok9573
      @antdok9573 Год назад +13

      @@eazypeazy8559 The point here is to reject overplanning before implementation... Actually, the point is not even that. It's too vague. The point is to iterate in small steps, clean code or not.

    • @eazypeazy8559
      @eazypeazy8559 Год назад

      @@antdok9573 yeah and and reject fcking "clean code"

    • @aakoss
      @aakoss Год назад

      LMAO :D

  • @_nske
    @_nske 11 месяцев назад +36

    Such a likeable and engaging guy, his content goes down very easily! glad you invited him and I got to know his channel. And of course your questions and opinions were spot-on as usual :)

  • @callysibben416
    @callysibben416 Год назад +17

    Your enum vid was my fav. The bit about enum variants actually being structs was super helpful. Thank you

  • @reggieriot1388
    @reggieriot1388 Год назад +11

    seen a bunch of the clips, stoked to see the whole interview!

  • @VitisCZ
    @VitisCZ Год назад +26

    The performance also correlate with power consumption. If you complete the task faster you get more cpu sleep time between tasks and thus longer functioning of devices on battery like smartphones

  • @davidhayes1639
    @davidhayes1639 Год назад +101

    the best interview I've seen in a very long time. long fan of Casey and Prime. peace.

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Год назад +16

      Hio!

    • @FlashGamer521
      @FlashGamer521 4 месяца назад

      ​@@ThePrimeTimeagen This is your best interview. Just incase you thought otherwise.

  • @p20ph37
    @p20ph37 Год назад +131

    Casey is a wise dude. His handmade hero series is amazing. I cannot believe it was over 8 years ago!

    • @someever
      @someever Год назад +28

      the amount of stuff you can learn from handmade hero is insane

    • @sliver170
      @sliver170 Год назад +24

      Only thing you can't learn from it is how to finish a game.

    • @alvarohigino
      @alvarohigino Год назад +1

      ​@@sliver170 Hahaha, yeah. So you're forced to make these infinite games like WOW.

    • @jupiterapollo4985
      @jupiterapollo4985 7 месяцев назад

      Series is cool, game is kind of trash though. It's still in it's infancy and I don't see an end to the project in sight.

    • @fpsoftdev
      @fpsoftdev 7 месяцев назад +2

      @@jupiterapollo4985 That completely misses the point of the series. Who cares?

  • @nclanceman
    @nclanceman Год назад +33

    Wait, dude was on Dungeon Siege? Dungeon Siege was _awesome!_ I wonder if he worked on the level streaming tech, cause that was a literal game changer back in the day.

    • @MichaelPohoreski
      @MichaelPohoreski Год назад +3

      Yes, it helped usher in 3D streaming worlds! (Technically Ultima series did 2D open world streaming in the early 80s) but Dungeon Siege definitely influenced a LOT of people - gamers, designers, and programmers alike.

  • @BrandNewByxor
    @BrandNewByxor Год назад +10

    Great interview. Casey's perspectives are refreshing like an ice-cold glass of orange juice on a blistering summer's day. I love his takes on OOP and "semantic compression".

  • @equivocator7727
    @equivocator7727 Год назад +8

    Fantastic interview to watch, tons of fun! I'm curious which video Casey was talking about where you reacted to his video. I looked for it but couldn't find it.

  • @goldbarth
    @goldbarth Год назад

    Awesome to watch/listen. You guys give me some extra energy pump for the day and beyond.

  • @razorstone3088
    @razorstone3088 Год назад +8

    so glad you posted this!

  • @0xggbrnr
    @0xggbrnr Год назад +5

    This is the best interview I’ve seen on the internet in at least a year. Incredible.

  • @Divisibly9610
    @Divisibly9610 Год назад +7

    How did I miss this? I love this guy and followed his Handmade Hero for a long time. Great chemistry between you guys :)

  • @chordfunc3072
    @chordfunc3072 Год назад +11

    Thanks for sharing this, you guys are both great!

  • @posteisnoob5763
    @posteisnoob5763 Год назад +1

    love you both. Thanks for this amazing interview

  • @tordjarv3802
    @tordjarv3802 Год назад +6

    An additional thought about planning (comment on the discussion around the 45 min mark); usually planning is done in the beginning of a project, when you know the least about it so over planning might hurt you in the long run.

  • @xpygx1599
    @xpygx1599 Год назад

    What a good interview. Yall are great. Love you guys.

  • @tee949
    @tee949 Год назад +2

    One of the best talks I've seen on the channel

  • @gnarusg8708
    @gnarusg8708 Год назад +2

    Thank you for releasing, sir.

  • @TableTopFinder
    @TableTopFinder Год назад +3

    I love this! I'm realy into optimizing code, even miniscule micro optimizations. However, at work it's: "You've got one hour to make this work, Go!"

  • @tictactoc9311
    @tictactoc9311 Год назад +41

    Dude you are amazing, rarely i saw an ex FAANG actually really enthusiastic about programming

    • @tictactoc9311
      @tictactoc9311 Год назад +1

      @@Sledgeattack I thought he had retired

    • @Kriszzzful
      @Kriszzzful Год назад +5

      @@tictactoc9311 nope

    • @caltissue141
      @caltissue141 Год назад +9

      ​@@tictactoc9311 He made a video about "why he quit" but despite that, he still works there lol

    • @StephenMoreira
      @StephenMoreira Год назад +2

      Personally I think there's very few passionate and vocal Software Engineers. I don't agree with everything Primo says, but props to him and others for really putting out their content and their opinions out there.

  • @Sledgeattack
    @Sledgeattack Год назад +2

    Hell yeah I've been waiting for this

  • @CoderDBF
    @CoderDBF 10 месяцев назад +6

    Casey knows what he’s talking about.
    I want more of this! You guys should consider doing a weekly podcast together or something…

  • @sunkittsui7957
    @sunkittsui7957 3 дня назад

    I don't care what other people think, but I enjoy the long deep dives into specific topics. Loved your video on comparing rust and typescript enums, btw!

  • @Rohinthas
    @Rohinthas Год назад

    absolutely, just got into this channel/streamer and the stuff where he actually goes into the detail is surprisingly insightful for a junior

  • @Paintballman251
    @Paintballman251 Год назад

    I likes the rust vs typescript enums video! I appreciate you having made that anyway

  • @DMitsukirules
    @DMitsukirules Год назад +55

    What always astounds me is the massive amount of justifications I see in the comment sections for videos like this, yet the radio silence when people like that twitch guy made a better app than the twitch Mobile app than the official in a hackathon.
    There are a lot of ramblings about premature optimization but I really believe most people don't actually know what optimization is when that quote was invented.
    The win prime got with that Netflix code wasn't "optimization", it was actually doing the task correctly, and he still had to fight for the right to do even that. Sure, when he hops into the bosses room and says they need vectorized uis for each major Android processor as well as Apples you can tell him he's going overboard, but do you really think a modern interface should have over 1000ms delay for any action?
    Again, I hear a lot of hiding behind the veil of the internet for the latency not mattering, or something, but rtt to anywhere in the world is generally going to be less than human reaction time, so even that argument to me makes no sense. Ived piped plenty of data over the net that was still in time critical software, I just had to care about both ends being fast

    • @WizardofWestmarch
      @WizardofWestmarch Год назад +28

      The problem is most people think premature optimization is ANY optimization when it should be line level bit twiddling tier madness that can take a day to get 1% when you need that level of improvement. Those are the last resort optimizations not picking the right data structure or algorithm to properly use cache and quickly solve your problem.

    • @seanpe8474
      @seanpe8474 Год назад +6

      ​@@WizardofWestmarch also to add the MVP principle that agile promotes tends to lead to a lacking mentality. agile culture screams for a feature/product to be finished, no matter how bad as long as it works, but when you prioritize completion over practicality you sometimes build something that works but is difficult to fix/optimize. I feel like that's a large part of why people love rust so much; you can build an MVP, but with a good standard.

    • @swagatochatterjee7104
      @swagatochatterjee7104 Год назад +2

      What's the point in trying to optimize for sub milliseconds when you are bottlenecked by network latencies of couple milliseconds

    • @sethrenshaw8792
      @sethrenshaw8792 Год назад +13

      @@swagatochatterjee7104 Because that code still needs to run on a server somewhere, and when that code runs for billions to trillions of user requests per day, suddenly that "wasted effort" on preventing that extra 1-2ms per request add to thousands or millions of dollars in extra energy costs for the business that wrote the software.

    • @phazechange3345
      @phazechange3345 Год назад +8

      @@sethrenshaw8792 It's not just that though. When every part of your decision making becomes "but but but but... IO is slow!", those decisions compound. You write thousands of lines of technical debt that cause request latency to jump from 10ms to literally 1000+ms *per request*, and then you also pop off *hundreds* of requests per click. All of a sudden, you have a 25 second per click load time for someone on a wired fiber business class connection that lives 15 minutes away and has a $10,000 PC.
      And what will that developer say the entire time you call them on this absurdity?
      "There's nothing we can do. IO is slow bro. That's PREMATURE OPTIMIZATION!"

  • @mannycalavera121
    @mannycalavera121 Год назад

    Thank you for posting this

  • @bastost
    @bastost Год назад +3

    This was amazing!

  • @caltissue141
    @caltissue141 Год назад +1

    loved this interview

  • @dovos8572
    @dovos8572 Год назад +11

    41:00 "the first version has to be perfect" or "my first version works, so why should i change it" is one of the biggest traps in anything you can do, but mostly known in Author circles. in reality the first version you make is NEVER good, let alone perfect. you can always edit/refine it and get way better results by doing so.
    there is a reason why big successful author take at least 2/3rd of the needed time to rewrite and edit their story. if not more.
    it is sadly one of the most unrealistic habits we get teached in school and one that gives young people the most trouble. everything you do/write has to be as perfect as possible in the first try/version because you don't get the chance or time to change what you did.

  • @sharos404
    @sharos404 Год назад +15

    I noticed this abhorrent inefficiency of other apps very clearly when I bought an Android game called Slice & Dice. The app seems insanely optimized and doesn't use any battery at all, which is not very usual for mobile apps. Most mobile apps usually just turn your phone into a pocket heater.

    • @Snorehog
      @Snorehog 11 месяцев назад

      Funny because on M1 Mac macOS it ran terribly last time I played 😂

    • @Snorehog
      @Snorehog 7 месяцев назад

      Sure! I have a pc too for games. Still this game isn't a 3D game etc so it should run perfectly fine on newer Mac. But the developer probably used a framework that didn't prioritize working well for Mac. Multiple operating systems is complicated, and yes Apple haven't prioritised making it easy to make games for Mac. Still, would love to play this game on iOS and Mac hehe@@ninsix

  • @GOZES
    @GOZES Год назад

    This really good!!! Primecast when?

  • @AungusMacgyver
    @AungusMacgyver 2 месяца назад

    This is my 3rd Casey & Prime video of the day. So. Good. Everything they are saying makes so much sense.

  • @ExpertOfNil
    @ExpertOfNil Год назад

    This was an awesome interview

  • @babyboie20
    @babyboie20 Год назад

    This vid explained a lot of Prime’s ideology for me lol, now I have a better understanding of why when I like or don’t like something. Really good one vid!! Also, love the guess too. I feel smarter just listening in lol

  • @GeekMasher
    @GeekMasher Год назад

    Great interview!

  • @ArkhKGB
    @ArkhKGB Год назад +2

    Around minute 40:00 just casually paraphrasing Continuous Delivery: deliver workable code fast let you get feedback fast so you can refactor and improve it as needed. Speed gives you quality, and coding with quality in mind makes you fast.

  • @heathenmonk1249
    @heathenmonk1249 Год назад

    Great Interview! I hope more comments help on getting more content

  • @chralexNET
    @chralexNET Год назад +2

    I watched Casey's video on quaternion double-cover yesterday where he explained how it could be useful in animations. There was a little bit of a hook to it, which is "here is what the industry doesn't do, which would be much better!", but apart from that I thought it was a pretty calm and informative video. My point is that, some people do watch the more technical stuff, and it is up to the content creator to know their target audience, and it just happens that the highly technical audience, who has enough spare time to watch videos, is not that big, but they do watch it.

    • @chainingsolid
      @chainingsolid Год назад +1

      got a video title? I'm not seeing it..

    • @chralexNET
      @chralexNET Год назад +1

      @@chainingsolid "Quaternion Double-cover and the Rest Pose Neighborhood - 2006" channel: "Casey Muratori"

  • @friend0
    @friend0 Год назад +3

    great video love how hard you guys are vibing

    • @friend0
      @friend0 Год назад

      you shouldve asked him why he was using notepad in his video tho just cause i bet hed have an interesting answer

    • @Rakkoonn
      @Rakkoonn Год назад

      ​@@friend0 Probably just for the video, he doesn't actually use it. He used Emacs for a long time, but switched to another editor someone from his community made at some point.

    • @someever
      @someever Год назад

      ​@@Rakkoonn yup he uses 4coder

  • @karlheinzneugebauer
    @karlheinzneugebauer Год назад +7

    Invite him more often!

  • @olafbaeyens8955
    @olafbaeyens8955 Год назад +35

    47 is just the beginning.

  • @vesk4000
    @vesk4000 Год назад +2

    Awesome!

  • @marcobrien4137
    @marcobrien4137 7 месяцев назад

    That was awesome. Casey is the man.

  • @kaansouth8789
    @kaansouth8789 9 месяцев назад +1

    More conversations with Casey pleaseeee!

  • @CertifiedDynamite
    @CertifiedDynamite Год назад +1

    Casey in high school really reminds me of myself to the point when I had literal flashbacks of those times :)

  • @Trokkin
    @Trokkin Год назад +5

    Great interview. And the point of performant applications is so soothing to hear. I hate using online services just cause of the loading times. That's why I use Client mail apps not google, Obsidian not Notion, even VSCode live share not some web collaborative ides.

    • @aoeu256
      @aoeu256 Год назад +1

      The problem with slow websites isn’t just JavaScript code, it’s the slowness the network.

  • @tedbendixson
    @tedbendixson Год назад +4

    Oh hell yeah! I will always be grateful to Casey for teaching me how to program games

  • @ifstatementifstatement2704
    @ifstatementifstatement2704 Год назад

    I also think when I implement something how to do it the best way possible. The thing is that after implementing it drawing on my entire experience so far as a programmer, I usually cannot see a way to do it any better and leave it at that.

  • @restindev
    @restindev Год назад +4

    I literally avoid Google drive (the web page) because it is so slow. In fact, it's so terrible, and all of my music is there, that I don't listen to music much anymore. It has actually changed the way I live my life, and I kinda have just given up on these things being better, so I don't even believe in a competitor very much.

  • @adam.alexandru
    @adam.alexandru Год назад

    Glad I randomly found you on Twitch 😅

  • @Nate77HK
    @Nate77HK Год назад +39

    I think the distinction between advocating premature optimization and just being aware of performance-killing habits is important. Because, frankly, highly optimized code can also be incredibly inflexible.
    That's another difference between the webdev space and video games - web applications tend to grow over time but most video games don't double or triple their code over their lifetime.

    • @MH_VOID
      @MH_VOID Год назад +1

      I'd think it's more the video games are largely swapping out code rather than just adding new code, in addition to many changes just not really being code (i.e., stat adjustments all the time for buffs/nerfs each patch, skins and voice packs and other assets being added forever all the time, but not really entailing any code in most cases)

    • @CottidaeSEA
      @CottidaeSEA Год назад

      ​@@MH_VOID A lot of those things are largely pure data. Unless there needs to be very specific interactions, a skin/model can be packed with all animations and run in the renderer just fine. The issue comes when the game adds something like an item which has unique effects. I'll take League of Legends as they have a recent example.
      There is a biscuit item which is supposed to give mana permanently when used or sold. The issue is that if they were sold and you undid it, the mana either increased or decreased permanently and was infinitely recreatable. That is because the item is the only one which has an effect on removal.

    • @GonziHere
      @GonziHere Год назад

      Tripling your source code is almost never warrantied. The issue is that the abstractions actually make it hard to keep the solution DRY (think of all of the boiler plate code). On the other hand, you could simply write a solution to your current, actual, contained problem and when you'll add a new functionality later on, you'll also refactor the first one for some code reuse.... Like code on the project absolutely should grow logarithmically, not linearly.

    • @CottidaeSEA
      @CottidaeSEA Год назад +3

      @@GonziHere DRY can sometimes lead to obscure abstractions and difficult to maintain code. Sometines it's just better to repeat yourself if you aren't doing exactly the same thing.

  • @PGDJ88
    @PGDJ88 Год назад +2

    Holy shit my friends and I spent around 18 straight hours playing Dungeon Siege in a basement in high school. Love that game.

  • @ritchielrez1680
    @ritchielrez1680 Год назад

    Bruh really I never thought this collab would be possible!!

  • @theIbraDev
    @theIbraDev Год назад +1

    i love this

  • @fuscitas
    @fuscitas Год назад +1

    I liked the typescript vs rust enums😢... Please don't stop doing videos like that

  • @muzikjay
    @muzikjay Год назад

    Such a great discussion.

  • @RetroGenetic
    @RetroGenetic 9 месяцев назад +1

    Dungeon Siege is still one of my favourite games to go back to every once in a while, and hearing RAD game tools brings up memories 😂

  • @emanuelribeiro6369
    @emanuelribeiro6369 7 месяцев назад

    Best channel ever no cap!!

  • @whiitehead
    @whiitehead Год назад

    This is crazy, I thought this was a react video then Casey started responding

  • @andrewallbright658
    @andrewallbright658 Год назад +1

    Holy smokes you got to interview Molly Rocket? I just discovered your content yesterday. What other gems are in this channel?

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Год назад +1

      there are tons. got rich harris on here as well
      going to get more

    • @andrewallbright658
      @andrewallbright658 Год назад

      @@ThePrimeTimeagen Nice! Keep up the good work. It seems like you have the entertaining stage presence of Dr Disrespect which combines nicely with advanced programming topics. It's great to see open minded discussions with the passionate (sometimes grumpy) devs like in this vid. You have very infotaining content IMO!

  • @dmitryburlakov6920
    @dmitryburlakov6920 Год назад +4

    I was a bit spicy about Casey's videos, but like 2 minutes in, and I'm all ears, seeing how chill he really is. I just remember the Windows terminal rant :) I completely understand what he talks about, sometimes you need to be extreme about your claims to be heard. What a great opportunity to hear you guys.
    (I have nothing against his arguments tho, just didn't like the ones he chose to debunk, and the overall approach: obviously "clean code" doesn't make a lot of sense when you're the only person who builds geometrical shapes library whatever, but some practices are useful in teams and larger codebases. It's a good example but just not like "we've picked their claims as the best example of clean code")

    • @Ryan-hl1bt
      @Ryan-hl1bt 11 месяцев назад +3

      people like casey and jon blow are often seen as abrasive because they aren't afraid to point out problems, and they step on a lot of toes in the process.

  • @Reavenk
    @Reavenk Год назад +1

    31:32 Once I compiled CPython and embedded it in my program, extended it and had to debug a function that involved stepping through the Python VM. I had to walk in and out of so many C functions for the most trivial of things and I realized there's no way everything isn't drastically bloated.
    Also, 27:41 I'm new here, when he says "whole meth scene"... ?

    • @Anon.G
      @Anon.G Год назад

      Addiction to meth

  • @t1nytim
    @t1nytim 3 месяца назад

    What I find interesting about the content argument, and using something like Netflix as an example. I decided (number of years ago now), I would only pay for so many services. And the ones I would pay for, would be the ones with the best UX. As I knew I was gonna be going to the seas anyway, for stuff not provided by the services I was paying for.

  • @jmw420
    @jmw420 Год назад +2

    2:10 Can you make a playlist with these deep dives so people don't have to try finding them?😁
    Especially around Rust itself, not comparisons with other stuff...
    E. g. I really liked your Vim series... Things like that are dope and high quality shit🔥🔥🔥
    Thanks a lot!

  • @riittap9121
    @riittap9121 Месяц назад

    I seldom watch anything over 30 minutes. If it's longer than that, I only listen to it with my headphones while doing something else (cooking, laundry, cleaning, gardening). Tutorials are the kind of material that needs to be watched and thankfully they are usually chopped in shorter videos and combined to a playlist. For me, this channel is mostly for listening. It's a mix of entertainment, technical advice and career/life coaching.

  • @realdomdom
    @realdomdom Год назад

    love the title

  • @Eidolon108
    @Eidolon108 Год назад

    gonna buy 10 of the same pants and T-shirts now, thanks for enabling me

  • @desmondbrown5508
    @desmondbrown5508 9 месяцев назад +10

    I'll say that one of the worst things about polymorphism for me (especially in OOP code with DI) is that it can become quite ridiculous to even keep track of what the hell anything is/does. Like sure you SAY x thing does this... but really it calls y thing over here which calls z and their all interfaces so I need to find out which interface actually has the bug/problem. And yeah... it gets really out of hand.

    • @_jagger1407
      @_jagger1407 7 месяцев назад

      exactly, I don't see how "clean code" with abstractions, polymorphism and everything hidden behind access modifiers, somehow contributes to "readability". If anything, it's a detriment to readability AND performance.
      Maybe maintainability? But keeping all the abstractions and having all these arbitrary rules just sounds less maintainable too, idk

    • @scotthinton4610
      @scotthinton4610 6 месяцев назад

      I recently did this to myself. I thought "oh wow, this C++14 DI framework in a single header is really cool, and I don't have to worry about my constructors anymore". I've probably spent as much time trying to figure out WTF the DI lib is doing (including inferring behavior, yikes) and why things aren't working. I regret reading Clean Code.

  • @JamesMiller-ih3eu
    @JamesMiller-ih3eu 4 месяца назад

    Banger

  • @bozhidaratanasov7800
    @bozhidaratanasov7800 Год назад

    Can someone explain to me the part of the video where Prime relates performance to JS map calls?

  • @jedi2light
    @jedi2light 4 месяца назад

    If I’m working of something new for me, I don’t try to follow any particular rules and just ticker around see what can I achieve with some lines of code. When I’m working persistently on something like the app that renders some tables and charts or scrapes the stores data, I follow at least some basic set of established rules, but only established by seeing an app behaviour in real world.

  • @satellite964
    @satellite964 Год назад +1

    Can't believe you didn't ask Casey M about ZINC OXIDE!

  • @hbobenicio
    @hbobenicio Год назад

    solve & test first, abstract last. measure & optimize then, repeat until enough. ship it, done.

  • @nikonyrh
    @nikonyrh 3 месяца назад

    Haha auto-play transitioned me to this interview from a Cypress Hill live show, and the tab was playing on the background. I thought this was a post-concert interview! "And I'm just like guys, I talk calmly all the time, and no one cares." And I'm like "yeah yeah makes sense, and I like the band's aggressive style anyway".

  • @code_with_om
    @code_with_om 11 месяцев назад

    I loved this😂

  • @_jagger1407
    @_jagger1407 7 месяцев назад +2

    I'm sure there's people who have a similar viewpoint, but is it so uncommon to think that the "clean code" principles taught nowadays do nothing more than bloat your project, making it less readable as a result?
    Like I'm sorry, but seeing 17 Objects, each in their seperate files, does not make me think "oh yeah this is well structured and readable". Adding abstractions just makes this even worse, because each seperate file is interconnected with 3 others, and all of a sudden you see yourself switching between 5 files to understand a single algorithm that should've just taken one analytical look.
    Additionally, I've yet to see a situation where multiple objects are "more maintainable" than a performance-aware alternative.
    basically, I do not understand even the arguments *for* "clean code", since it doesn't look cleaner nor easier to read, nor easier to maintain, than a functional approach.

    • @alexm2716
      @alexm2716 6 месяцев назад

      I think there's a happy middle ground. If all abstractions were bad, you would never write functions, never use if statements or loops and just use gotos for all of your control flow. Hell, if you really wanted to get rid of abstractions, you would just write all your code as machine code. For some performance critical applications, this may make sense, but is obviously terrible from a readability perspective.
      In my career, I have seen cases of novice programmers copy-pasting nearly the exact same block of code hundreds of times, generating tens of thousands of lines of junk code. This could have all been compressed into like 100 lines of well written functions. The copy-pasted code is probably more performant than the abstracted code, since function calling introduces performance penalties, but the maintainability is obviously horrible.
      I also agree that people who write 17 classes to accomplish what could be done in a few lines is also very bad. I have also encountered this many times, and I probably hate it even more than the under-abstracted code because people who do this tend to be full of themselves.
      It's all about finding the right balance. I've found my code is usually the cleanest when I use a mix between functional and procedural style. I encapsulate the more complex logic in pure functions with a descriptive name and then call them in a simple, linear procedure without too much nesting. I only write classes when it really makes sense to couple logic and state, which isn't too often.

  • @davidthegood
    @davidthegood Год назад

    You're exactly right about the YT clickbait. It works, and if you don't do it, you don't get views.

  • @user-krnujdp
    @user-krnujdp Год назад

    What is Casey's video you are referring to?

  • @akademiacybersowa
    @akademiacybersowa 5 месяцев назад

    17:30 A threshold of acceptance. This sounds like a case of very high framerates. From purely engineering standpoint, most games could be improved to run in 120Hz and more. But that's not a thershold to reject the product (game). So it won't be pushed for unless it's already relatively easy to optimize the game at the final stretch.

  • @kenneth_romero
    @kenneth_romero Год назад +1

    I didn't click the enum vid bc i'm not a typescript or javascript dev. Will check it out later tho

  • @Microphunktv-jb3kj
    @Microphunktv-jb3kj Год назад

    dungeon siege wasnt huge.. dont know about that, over the years.. ive seen talk about how good the game is and they still play it :D
    What video are they talking about ?

  • @SpookySkeleton738
    @SpookySkeleton738 Год назад +1

    The word "pessimize" is used elsewhere! Clang has a warning -Wpessimizing-move for when someone uses std::move in a way that prevents copy elision.

  • @thiswallz
    @thiswallz Год назад

    You are so smart, pls continue with your smart stories when you save millions and millions.

  • @MyAmazingUsername
    @MyAmazingUsername 23 дня назад +1

    I always think about a design before implementing, to make sure it can be extended. Otherwise you're just writing bad code. But I agree that if you spend time writing a bunch of big frameworks before writing actual code, that is going too far.

  • @bananesalee7086
    @bananesalee7086 Год назад

    I feel like an extra nerd for knowing the cited video before finding this interview, i'm wasting my life

  • @GenCietrzezwiew
    @GenCietrzezwiew Год назад

    Interview Johnny Be Right , you reacted to some of his videos before

  • @thisbridgehascables
    @thisbridgehascables 8 месяцев назад

    lol.. as a web developer/ designer at the age of 44.. yeah I’m critical of code I wrote and mostly rewrite complete module or extensions over multiple times just to make it seem more readable and understood.
    I’ve gone back to code I wrote years ago and can’t for the life of me understand why I structured it in such a confusing way..

  • @kellyrankin8844
    @kellyrankin8844 Год назад

    The other problem is that we do see people trying to optimize and accomplishing nothing. If it's so straight forward why does the IDE not warn about performance intensive decisions?

  • @khatdubell
    @khatdubell Год назад +2

    Actual interview starts around 6:30 for the impatient, like me.

  • @baxkill
    @baxkill Год назад +1

    DUNGEON SIEGE?!?! LETS GOOOO!! DUN DUN DUDUDU DUN DUN

  • @vladimirkolosov8836
    @vladimirkolosov8836 4 месяца назад

    OMG Casey!! Love the guy.

  • @Lolleka
    @Lolleka Год назад

    I keep pushing my best towards some performance optimization in my code. Noone cares. But I mean, if you are faster when you run the software for debugging and testing, isn't it better for the business down the line?

  • @worlordv
    @worlordv 10 месяцев назад +1

    I had a project that was canned... it's was doomed at the start... The architect "well hind sight is a great thing, no one was jumping up and down at the start". I was like "no I wasn't shouting, butI said several times calmly, also I didn't need to shout about it because was doing that that; and they fired him"... If people don't wannt listen, you say it calm, you can say loud, it don't matter... but be sure at the end you'll always get a wight board jocky that wasn't listening... "well you know hind sight and all"..

  • @vibrantneon.
    @vibrantneon. Год назад

    That first minute and a half hit home what I dislike about online. People don't consider a calm thing worth listening to, without a hot take.