Deep .NET: An even DEEPER Dive into LINQ with Stephen Toub and Scott Hanselman

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

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

  • @VanillaCaramelFudge
    @VanillaCaramelFudge 5 หลายเดือนก่อน +154

    I am totally in favor of a deep dive series. This is great

    • @yonatan2608
      @yonatan2608 5 หลายเดือนก่อน

      exactly.

  • @soberacidtrip
    @soberacidtrip 5 หลายเดือนก่อน +109

    Question for Stephen for a future video: I often hear you say "If I could go back and do Tasks/async await differently..." but you never really elaborate. I would love to know what things you would do differently!

    •  5 หลายเดือนก่อน +1

      ^ same

    • @alexisfibonacci
      @alexisfibonacci 5 หลายเดือนก่อน +1

      And what are they doing for Green Threads?

    • @guiorgy
      @guiorgy 5 หลายเดือนก่อน

      Second that

    • @guiorgy
      @guiorgy 5 หลายเดือนก่อน +3

      ​@@alexisfibonacciwasn't that abandoned?

    • @dvanrooyen1434
      @dvanrooyen1434 4 หลายเดือนก่อน

      Likely because it’s based on a state machine rather than concurrent patterns . Remember it’s only syntactic sugar but is often implemented in cases where developers intend for true asynchronous cases and it ain’t all that…

  • @QuaKx
    @QuaKx 5 หลายเดือนก่อน +23

    These Deep dive series is amazing. For an experienced dev this is gold, because it's actually quite a lot of information that you didn't already know.

  • @liquidpebbles
    @liquidpebbles 5 หลายเดือนก่อน +21

    The tangent on simd was fascinating. I have pondered on optimizing loops before and now learning that they can be vectorised and have multiple operations happen at a time just expanded my views.
    Please keep doing this series. This is the stuff we developers need out on the webs. Top tier computer scientists with decades of experience just talking about concepts at all different levels.
    Epsecially for people like myself who work for themselves or maybe don't have colleagues or friends in the developer space, these kinds of coversations are incredibly valuable.

    • @alexisfibonacci
      @alexisfibonacci 5 หลายเดือนก่อน +1

      Nick Chapsas has a video on those array parallelisations.

  • @ChrisPerone-cl3gf
    @ChrisPerone-cl3gf 5 หลายเดือนก่อน +11

    Thank you for this video series on LINQ, very educational!

  • @draganradovac8803
    @draganradovac8803 4 หลายเดือนก่อน +3

    It's great to have the internals explained and demonstrated showing every step in detail. Really liked the "(unit)i < (unit)source.Length". Awesome guys.

  • @АртемБаляница
    @АртемБаляница 5 หลายเดือนก่อน +5

    I adore these deep dive series. Can't wait for a deep dive into Entity Framework to finally understand how this magic works.

  • @taconaut8276
    @taconaut8276 5 หลายเดือนก่อน +3

    Love this series on several aspects. Both hosts work very well together. It gives great insight into 'magic' we use on a daily basis and now take for granted. We see what thoughts and considerations go into optimization, after a solid basis has been created. Which in the end opens up the mind to see things through a different lense and gives ideas for new concepts and patterns. Great job!

  • @VitalyPavluk
    @VitalyPavluk 4 หลายเดือนก่อน +1

    DEEP Dive series are amazing!! They are not "bla-bla-super-duper" talks but a diamond gems that reveals hidden aspects of technology!! Keep up such an excellent talks!

  • @erlittle
    @erlittle 5 หลายเดือนก่อน +3

    I love this series of deep dives. Even more so, the mentioning and tie ins to lowered and IL. This stuff is gold no matter you level, there is something to take away for everyone.
    Even internal to MSFT, ive told coworkers and other devs about this (and the async one especially).

  • @marklord7614
    @marklord7614 5 หลายเดือนก่อน +17

    Holy crap, how cool is this. Another one.

    • @shanselman
      @shanselman 5 หลายเดือนก่อน +2

      Darn tootin’

  • @s.hosseinhosseini8330
    @s.hosseinhosseini8330 5 หลายเดือนก่อน +1

    It's amazing where we started from in the previous video and where we got down to what is happening in the lowest levels.
    I love this series.

  • @MatteoGariglio
    @MatteoGariglio 5 หลายเดือนก่อน

    I'm amazed by how clear and insightful it is. Stephen's ability to break down complex topics into understandable, low-level explanations is truly commendable.
    This video has been incredibly helpful in deepening my understanding. A huge thank you to Stephen Toub and the team behind this invaluable instructional content!

  • @mrqbboy
    @mrqbboy 4 หลายเดือนก่อน

    This is pure gold. Very educational and doesn't ever get boring. Great job, Scott and Stephen. I hope more of these come out.

  • @alexsheppard-godwin7855
    @alexsheppard-godwin7855 5 หลายเดือนก่อน +3

    This is the awesome, super interesting and ties how of things I thought I knew but didn't quite have right into a super clear narrative.

  • @yufgyug3735
    @yufgyug3735 4 หลายเดือนก่อน

    invaluable content. uncovers much more than just reading documentation and/or books

  • @fabii5555
    @fabii5555 5 หลายเดือนก่อน +2

    Can't wait for the next episode of Deep dotnet. There is always so much to learn!

  • @frogger3d
    @frogger3d 4 หลายเดือนก่อน +2

    These sessions are great. I would love a DEEP dive into the reactive extensions.

    • @renatogolia211
      @renatogolia211 4 หลายเดือนก่อน +1

      Also how IAsyncEnumerable methods are implemented would be cool.

  • @naughtiousmaximus7853
    @naughtiousmaximus7853 5 หลายเดือนก่อน +1

    No way, I am just approaching half of the previous one. This is awesome!

  • @SlackwareNVM
    @SlackwareNVM 5 หลายเดือนก่อน +1

    This was amazing. I would also love to see an implementation of Thread Pool and a Task Scheduler.

  • @grsevero
    @grsevero 5 หลายเดือนก่อน +2

    Love the SIMD conversations

  • @MikeSigsworth
    @MikeSigsworth 4 หลายเดือนก่อน

    That tangent about SIMD was awesome. It's not something I've ever dove into. I had to pause and ask CoPilot what you guys were talking about. Really awesome stuff guys! Love this series!

  • @bshrikant123
    @bshrikant123 4 หลายเดือนก่อน

    Long overdue to bring best of architects and programmers to show us how its done, looking forward to more.

  • @estepor
    @estepor 5 หลายเดือนก่อน +4

    At 38:38, had the if statement explicitly checked for i>=0 && i

  • @verdantblast
    @verdantblast 5 หลายเดือนก่อน +1

    Seeing Stephen Toub, it suddenly occurred to me that we seem to be seeing Performance Improvements in .NET 9 soon? Time flies.

  • @seancpp
    @seancpp 4 หลายเดือนก่อน

    Loving this content--Deep dives that don't treat the viewer like an idiot. There's not enough software dev content out there that assumes the viewer is already an expert.

  • @fernandohelwanger2417
    @fernandohelwanger2417 5 หลายเดือนก่อน

    This series is absolutely amazing! Thank you so much, great content!

  • @mykhailokozlov6641
    @mykhailokozlov6641 4 หลายเดือนก่อน

    I have just one word on my mind - wow! Keep doing such deep videos!

  • @sjark5000
    @sjark5000 4 หลายเดือนก่อน

    This series is great. Please do continue with it!

  • @trannhan1432
    @trannhan1432 25 วันที่ผ่านมา

    What an excellent job. Thank you!

  • @marklnz
    @marklnz 5 หลายเดือนก่อน +6

    Deep dotnet! Deep dotnet! Love the idea - please give us more!

  • @bshrikant123
    @bshrikant123 4 หลายเดือนก่อน +1

    Can I suggest Stephen Toub and Joe Albahari together moderated by amazing Scott, from a designer and consumer perspectives and show us great stuff is built

  • @TheOneAnOnlyGuy
    @TheOneAnOnlyGuy 4 หลายเดือนก่อน

    Fantastic content, thanks Scott and Stephen!

  • @MladenMihajlovic
    @MladenMihajlovic 4 หลายเดือนก่อน

    Awesome deep dive - we want more! ;-)

  • @stephajn
    @stephajn 5 หลายเดือนก่อน

    I am loving these videos! Keep them coming.

  • @stevanfreeborn
    @stevanfreeborn 4 หลายเดือนก่อน +1

    I'd definitely buy a CTRL-Z to Glory t-shirt 😅

  • @AndrzejPauli
    @AndrzejPauli 5 หลายเดือนก่อน +1

    Ohh boy!! MOAR! 🙂

  • @schlott1970
    @schlott1970 5 หลายเดือนก่อน

    Just brilliant Scott and Stephen. Keep going these are brilliant

  • @CuriouslyContent
    @CuriouslyContent 4 หลายเดือนก่อน +1

    Tell us in the comments if this is what you want to see... Yes. Never waste a Toub Tangent. That's where deep learning happens!

  • @BlazorMisterMagoo
    @BlazorMisterMagoo 5 หลายเดือนก่อน +1

    Wish I could explain code as well as you do - loving this Deep dotnet

  • @porcinetdu6944
    @porcinetdu6944 5 หลายเดือนก่อน +1

    Great series

  • @roman-urum
    @roman-urum 4 หลายเดือนก่อน

    Thank you, this content is like intellectual honey. Looking forward your next deep C# videos.

  • @yusufcirakkk
    @yusufcirakkk 5 หลายเดือนก่อน +1

    Liked the video already because you know, Stephen Toub.

  • @DestinationDub
    @DestinationDub 5 หลายเดือนก่อน +2

    Stephen: Sorry, I'm probably getting a bit nerdy.
    Scott: Well, tell us in the comments if this is what you want to see?
    Comments: THIS IS WHAT WE WANT TO SEE!!!!!!!!!!!!!!!!!!!

  • @jmctoob2
    @jmctoob2 5 หลายเดือนก่อน +1

    These are so great!!

  • @letsplay1122
    @letsplay1122 5 หลายเดือนก่อน +3

    This is amazing, please make more of these!

  • @utubekade
    @utubekade 5 หลายเดือนก่อน

    excellent optimization hints.

  • @mfsbo
    @mfsbo 4 หลายเดือนก่อน

    33:00 a very good example of how programmers think

  • @thiagomenezes2k7
    @thiagomenezes2k7 5 หลายเดือนก่อน +1

    Brilliant stuff

  • @fxfighter
    @fxfighter หลายเดือนก่อน

    In regard to optimization at 48:00, why are type checks being used within an entry method at all? Why can't there be overloads and generics to support these separate paths instead? Then tree trimming would work properly and it should just be straight up faster as there's slightly less code to execute.

  • @PolatPINAR
    @PolatPINAR 5 หลายเดือนก่อน +1

    This is gold

  • @HeinrichTeitge
    @HeinrichTeitge 5 หลายเดือนก่อน

    Great videos, thank you!

  • @cccyberfamilydk
    @cccyberfamilydk 5 หลายเดือนก่อน +1

    Great. More of that. :) Gooooood informative content.

  • @egvijayanand
    @egvijayanand 4 หลายเดือนก่อน

    57:23 Why not use var values = from ... Implicitly typed variable. Defined for this kind of scenario. No need to type it again and again.

  • @giovannimorleschi1750
    @giovannimorleschi1750 4 หลายเดือนก่อน

    Continue the series!!!! xD i love this DDD(otnet)

  • @_Miguel_Roman_
    @_Miguel_Roman_ 5 หลายเดือนก่อน +1

    awesome!

  • @mahdiyar6725
    @mahdiyar6725 4 หลายเดือนก่อน

    love to see how plinq is implemented .

  • @DanGolick
    @DanGolick 5 หลายเดือนก่อน

    We want part three!

  • @rasheed9947
    @rasheed9947 4 หลายเดือนก่อน

    Thanks, a lot

  • @higuchihiguchihiguch
    @higuchihiguchihiguch 5 หลายเดือนก่อน +1

    Great! Take care of your throat, Stephen!

  • @guiorgy
    @guiorgy 5 หลายเดือนก่อน

    Would it be possible to have a Source Generator that recognizes linq call chains and generates dedicated enumerators for those?

  • @saifeddinebenromdhane7553
    @saifeddinebenromdhane7553 5 หลายเดือนก่อน +1

    so cool

  • @angelochiello
    @angelochiello 2 หลายเดือนก่อน

    I'm addicted.. I can't work anymore... GIVE ME MORE!!!

  • @bluecup25
    @bluecup25 5 หลายเดือนก่อน +2

    Everybody hop on the submersible. It's 100% safe.

  • @acedonk
    @acedonk 5 หลายเดือนก่อน

    "Knowledge is power"

  • @mrqbboy
    @mrqbboy 5 หลายเดือนก่อน +1

    It's time.

  •  5 หลายเดือนก่อน +5

    I think the LINQ keywords are totally superfluous and unnecessary. They can't and don't cover all use cases, like when I have to create my own extension methods to operate on enumerables. The keywords might make sense if you were loosely copying SQL syntax but instead they exactly (and awkwardly) match the extension method chaining.

  • @cokert3
    @cokert3 5 หลายเดือนก่อน

    At 1:15:34, what exactly causes the `Where` to be dropped/abandoned?

    • @pagorbunov
      @pagorbunov 5 หลายเดือนก่อน +1

      You do Where, then Select. When calling Select you check if your source happens to be WhereEnumerable and if so then instead of returning SelectEnumerable you combine them into single WhereSelectEnumerable and return it.

    • @cokert3
      @cokert3 5 หลายเดือนก่อน

      @@pagorbunov Oh, right. In my mental model, I was missing that nothing's actually executed until the call chain is "materialized" (ie, .ToList() or whatever is called). I was visualizing it as "Execute Where, pass those results to Select" and confused how we were skipping execution of the Where. What's really going on is at the end, we wind up one "thing" whose execution will "materialize" the results. And the new WhereSelect grabs the Where's arguments (source and predicate) and in effect "jumps the queue". ... I think that makes sense? Words are hard, massive respect to communicators like Scott and Steve who can communicate arcane details understandably but also precisely...

  • @B_knows_A_R_D-xh5lo
    @B_knows_A_R_D-xh5lo 5 หลายเดือนก่อน

    😊😊😊

  • @muhammadtariq8323
    @muhammadtariq8323 4 หลายเดือนก่อน

    Hard to read code. Next time may be use Dark theme for better code visibility

  • @naveenkp7849
    @naveenkp7849 5 หลายเดือนก่อน +1

    Stephen Stephen Shephen

  • @CuriouslyContent
    @CuriouslyContent 4 หลายเดือนก่อน +1

    Instead of Kill two birds with one stone, we Steven should use: feed two birds with one grain :)

  • @Janisku7
    @Janisku7 5 หลายเดือนก่อน

    on your risc-V chip what havent being invented yet

  • @ethanr0x
    @ethanr0x 2 หลายเดือนก่อน

    One person too many.

  • @DevelTime
    @DevelTime 5 หลายเดือนก่อน

    This would be superb video if only not presentation -- you found space for padding (top and bottom), for taskbar, for face frames, and well in rest you squeezed the least important content -- the code with 2px font. Awesome logic/thinking.

    • @shanselman
      @shanselman 5 หลายเดือนก่อน +7

      Given how hard we are personally working on these videos and these series, I would remind you that we are real humans doing their best. I look forward to your well-produced videos on these topics. That said, I agree this one got a little fancier and that we should zoom in on the code more. That message can be delivered without dripping sarcasm. 🥰

    • @DevelTime
      @DevelTime 5 หลายเดือนก่อน

      @@shanselman "I would remind you that we are real humans doing their best." Of course, but even with stellar content if you don't wrap it appropriately it is not so good after all, and the effort to some degree is wasted. From the other side -- in previous episodes you reminded about font size, during this one you completely skipped this part. And either I am dreaming, or you constantly were squinting your eyes and moving forward. Think about even less fortunate people, with worse eyesight, thank you (checklist would help a lot).

  • @codewithfrenchy
    @codewithfrenchy 5 หลายเดือนก่อน +1

    Thx guys, please do more of theses!

  • @__angle
    @__angle 4 หลายเดือนก่อน

    Thank you so much this kind of very interesting topic are really great ! Please more !!!! 🥰😍🥰

  • @leknyzma
    @leknyzma 5 หลายเดือนก่อน +1

    did you guys stream or was this pre recorded? ?

    • @shanselman
      @shanselman 5 หลายเดือนก่อน +4

      pre recorded last week but we do it all in one take

  • @SinanNAR
    @SinanNAR 4 หลายเดือนก่อน

    loving this series