Deep Dive on LINQ with Stephen Toub

Sdílet
Vložit
  • čas přidán 10. 05. 2024
  • Let's start to explore one of .NET's favorite features, LINQ (Language Integrated Query). LINQ easily enables developers to write query expressions with a declarative query syntax that allow them to perform filtering, ordering, grouping, and so much more with minimal code. Scott and Stephen are back to take you through the depths of this awesome .NET technology.
    Part 2: An even DEEPER Dive into LINQ with Stephen Toub - • An even DEEPER Dive in...
    Chapters:
    00:00:00 Exploring Programming Languages: A Discussion on Async, Link, and Modern Programming Concepts
    00:02:24 Understanding Iteration and For Loops in C#
    00:07:00 Understanding the Execution and State Management in Programming
    00:09:32 Understanding the Select Method in Link Programming
    00:11:51 Discussing the Impact of Copilot on Software Engineering Productivity
    00:13:38 Understanding and Implementing Selectors in Programming
    00:18:52 Exploring Programming Concepts: Implementing Select and SEAL Classes
    00:23:19 Understanding and Implementing Enumeration in Computer Science
    00:26:12 Exploring the Implementation of Enumerators and Selectors in Programming
    00:29:20 Discussion on Implementing Non-Predicable and Nullable Referencies in Programming
    00:33:47 Discussing the Implementation and Functionality of Reset in Programming
    00:35:29 Understanding the Implementation and Functionality of Iteration in Programming
    00:39:58 Understanding State Management and Exception Handling in Programming
    00:42:47 Understanding State Machines in Programming
    00:49:20 Debugging and Benchmarking in Programming
    00:52:47 Exploring Performance Profilers and Zooming in for Detailed Analysis
    00:56:08 Deep Dive into Code Profiling and State Management
    01:03:44 Exploring Different Approaches to Implementing Omic Operations and Performance Scaling in Programming
    01:08:11 Using Benchmark.net for Software Testing
    01:09:30 Discussion on Implementing and Benchmarking a Compiler
    01:14:45 Discussing Performance Testing and Optimization in Programming
    01:16:48 Discussing Memory Allocation and Performance Profiling in Visual Studio
    01:17:55 Understanding the Heisen Uncertainty Principle and Benchmark.net in Programming
    01:20:03 Exploring Compiler Optimizations and Iteration Loops in Programming
    01:26:50 Discussing Code Implementation and Optimization in Engineering
    Resources:
    Documentation: learn.microsoft.com/dotnet/cs...
    Connect with .NET:
    Blog: aka.ms/dotnet/blog
    Twitter: aka.ms/dotnet/twitter
    TikTok: aka.ms/dotnet/tiktok
    Mastodon: aka.ms/dotnet/mastodon
    LinkedIn: aka.ms/dotnet/linkedin
    Facebook: aka.ms/dotnet/facebook
    Docs: learn.microsoft.com/dotnet
    Forums: aka.ms/dotnet/forums
    🙋‍♀️Q&A: aka.ms/dotnet-qa
    👨‍🎓Microsoft Learn: aka.ms/learndotnet
    #dotnet
  • Věda a technologie

Komentáře • 133

  • @weneedlittlepatience
    @weneedlittlepatience Před 24 dny +179

    Wake up babe, dotnet dropped another deep dive with Stephen Toub (we want more)

    • @naveenkp7849
      @naveenkp7849 Před 17 dny

      Absolutely

    • @frankhaugen
      @frankhaugen Před 15 dny

      And longer, these teases are way too short. 😢
      I want to absorb all the knowledge they have

  • @antonio_carvalho
    @antonio_carvalho Před 24 dny +89

    Stephen Toub is a great presenter and extremely knowledgeable, what a combo!

    • @SajadJalilian
      @SajadJalilian Před 23 dny +4

      This combination is the main reason his videos are extremely exciting.

    • @osman3404
      @osman3404 Před 23 dny +1

      YES YES ... also Scott is also the BEST host I've ever seen ... he has amazing empathy to sense what we the audiebnce thinking and he calls it out

  • @vandersonguidi
    @vandersonguidi Před 24 dny +71

    I'm a simple person, if Stephen Toub is in the video I'll watch it

  • @johndonaldmelville
    @johndonaldmelville Před 21 dnem +16

    Please, more Stephen Toub -- the deeper the better. Reminds me of the good old days watching Channel 9 in the early 2000s. It (at least looked like) a few guys walking around Microsoft with a video camera asking crazy smart people to explain incredibly difficult problems. It is fun to see smart people thinking hard whether I care about the particular technology or not.

  • @SlackwareNVM
    @SlackwareNVM Před 24 dny +39

    Hour, hour and a half attention span? I'm waiting for the 5 hour Director's Cut Extended Edition.

  • @draganradovac8803
    @draganradovac8803 Před 18 hodinami

    No session with Stephen Toub is ever long enough. Thanks guys that was awesome.

  • @osman3404
    @osman3404 Před 23 dny +8

    This video is BETTER than ANYTHING on Netflix :) and the Suprise ending was so cool too

  • @zakizaz1
    @zakizaz1 Před 23 dny +10

    Thank you guys . Please don't stop those series

  • @marianszewczyk8521
    @marianszewczyk8521 Před 24 dny +24

    I love these deep dives! Even though I'm already familiar with most of it, there's always a few hidden gems to learn. And I also just enjoy listening to Stephen Toub explain these things from the ground up.

    • @ripvannwinkler
      @ripvannwinkler Před 24 dny +4

      I love the time limit they impose because with someone like ST, you know you're going to get right to the meat of the discussion without a lot of cruft. And revisiting something we use every day to explain it in low level detail really helps understand the WHY behind the implementation. GREAT stuff Scott/Stephen.

  • @acedonk
    @acedonk Před 20 dny +3

    I believe just listening to Scotts and Stephens friendly banter makes me a better developer! 🙂

  • @SlackwareNVM
    @SlackwareNVM Před 24 dny +11

    I would love to see a part 2 with all of the potential optimizations.
    When you peek unther the covers to see how a library or .net itself implements things, it's really easy to get lost in the code, but a lot of the complexity comes from optimizations that have accumulated over time. It'd be great to be able to build a mental catalogue of "optimization patterns" so that we have an easier time reading code. I think this series will help immensely with this.

  • @ohdev2019
    @ohdev2019 Před 16 dny +3

    Keep this series going! Hard to find content like this, especially with this level of presentation.

  • @pmnm113
    @pmnm113 Před 24 dny +7

    That's how you teach dotnet, I will await for stephentoub

  • @denisivanov4888
    @denisivanov4888 Před 19 dny +1

    Gold channel with gold videos.

  • @TheChonsey
    @TheChonsey Před 21 dnem +1

    I really enjoy watching and learning from you guys. Pedagogical side of thing is just brilliant. It's so useful when Scott once in a while "takes the foot off the gas pedal" to explain "simple" things like underscore in an integer to separate thousands etc. It's so deep and explaining things from the first principles. Understand once and apply everywhere. It's like a breath of fresh air in an otherwise clean-code and clean-architecture flooded environment.

  • @thedarktower75
    @thedarktower75 Před 20 dny +1

    This series with Scott and Stephen is the best programming-related thing I've ever seen on CZcams.
    Thank you so much!

  • @AnupShah
    @AnupShah Před 20 dny +1

    Cheer up guys who is looking this now rather being on Netflix. Thanks Scott. Stephan while reading your old blogs post for async and stuff wished to see you like this and it’s dream true.
    Please bring more stuff. This gives a great motivation as well. Thanks again.

  • @VincentYang024
    @VincentYang024 Před 20 dny +1

    This is fantastic series. I barely watch movie nor CZcams video more than once except this series. Thank you Scott and Stephen🎉🎉

  • @ryanharris5968
    @ryanharris5968 Před 23 dny +3

    Brilliant stuff. Enjoyed it thoroughly. The great thing about this type of content is that it’s making me think deeper about the code I write.

  • @jannishecht4069
    @jannishecht4069 Před 24 dny +4

    Thanks, Scott, for stressing the environmental impact. It is at least as important as saving money❤

  • @sergiojrdotnet
    @sergiojrdotnet Před 24 dny +4

    I've been waiting for a series like this for a Int64 time! What an amazing presentation. Please keep it up!

  • @dy0mber847
    @dy0mber847 Před 22 dny +2

    These vids with Stephen Toub just pure gold

  • @stevanfreeborn
    @stevanfreeborn Před 22 dny

    Thank for taking the time to share all your smarts with us!

  • @marklord7614
    @marklord7614 Před 24 dny +6

    Great stuff! This session will be relevant for many years to come. Next up...Spans?

  • @sandeepmadineni2981
    @sandeepmadineni2981 Před 19 dny

    I am loving these deep dives and the energy and enthusiasm between the two is fantastic. Not to mention the little things you drop in between like sealed classes, statemachine, profiler, benchmark, interlocked vs threadid kept me engaged.
    Keep throwing these videos, we are happy to catch.
    Awaiting for the next one..

  • @caseyspaulding
    @caseyspaulding Před 21 dnem +1

    Thank you! Stephen is great at explaining code and Scott ask questions that I am thinking!

  • @wiseskeshom4673
    @wiseskeshom4673 Před 12 dny

    Thank you for the amazing Deep Dive series. We want more please 😊

  • @sudidav
    @sudidav Před 19 dny +1

    Thanks a lot for the time you guys are putting on this. This is great stuff!

  • @lolroflxd
    @lolroflxd Před 23 dny

    Awesome. Cant wait for a extreme deep dive extended directors cut version :D
    Could watch this content all day long

  • @cloudycloudlet7091
    @cloudycloudlet7091 Před 20 dny

    I love the deep dive videos with Stephen. Please do more!

  • @elliotdematteis7825
    @elliotdematteis7825 Před 21 dnem +1

    Holy crap just finding out about these deep dives, literally cannot wait to finish this and click on the async/await one sitting in the "up next" section of youtube lol

  • @Spirch
    @Spirch Před 23 dny

    it's nice to see this, please continue the series

  • @hhgforfhuv
    @hhgforfhuv Před 23 dny

    Stephen Toub legend, thanks for videos with him.

  • @emmanueladebiyi2109
    @emmanueladebiyi2109 Před 23 dny +1

    This series is amazing!

  • @robadubbdubb
    @robadubbdubb Před 24 dny +1

    Just fantastic. As always. Thanks guys!

  • @TheProTip
    @TheProTip Před 19 dny +1

    A deep dive on DLR would be awesome. There is a lot of FUD about "dynamic" that proliferates.

  • @dankeseb4825
    @dankeseb4825 Před 22 dny

    Great series, looking forward to the next one.

  • @HIOLLJ
    @HIOLLJ Před 21 dnem

    Hyped for part 2.

  • @mmfarahat1
    @mmfarahat1 Před 14 dny +1

    A very useful series, thanks

  • @ChaseFreedomMusician
    @ChaseFreedomMusician Před 24 dny +2

    This series is great!! Thank you!

  • @dejavupk
    @dejavupk Před 22 dny

    Thank you! That is great video. Can't wait for more 🙂

  • @tecTitus
    @tecTitus Před 20 dny

    Very very very good video. Haven't seen such clean deep dive since Stephen's STL C++ videoes.

  • @iamkilroiyo
    @iamkilroiyo Před 13 dny

    I love this series.

  • @MB-or1kh
    @MB-or1kh Před 12 dny

    Great show! Keep them coming.

  • @mewsic2496
    @mewsic2496 Před 22 dny

    Amazing video thank you Scott and Stephen !

  • @djchrisi
    @djchrisi Před 23 dny +1

    Looking forward for the next part. Reflection is a topic I think a deep dive is interesting.

  • @juanbautista6766
    @juanbautista6766 Před 23 dny

    Keep these deep dives coming!

  • @josephizang6187
    @josephizang6187 Před 24 dny

    I love these deep dives. Thanks guys.

  • @yonatan2608
    @yonatan2608 Před 21 dnem +1

    Oh no, another video with Stephen Toub!!!

  • @Runningalien
    @Runningalien Před 18 dny

    awesome presentation! very interesting and very well presented! Thank you!

  • @jarosawfrankowski7845
    @jarosawfrankowski7845 Před 24 dny

    One of my favorite series!

  • @--Eric--
    @--Eric-- Před 24 dny

    Thank you both, this was great, as usual… 👏🏼

  • @Noceo
    @Noceo Před 17 dny

    This kinda feels like the CZcams version of the infamous C# in Depth (by Jon Skeet). Not to the extend where it will replace it (even if you get all the chapters), but in the sense that you get the same deep understanding of how the language works on a lower level. I really love it and hope to see more videos of this type.

  • @egvijayanand
    @egvijayanand Před 14 dny

    The reason why the exception is thrown during the MoveNext call is the cursor, which keeps track of the items, is positioned right before the first item on the Enumerable. Similarly, the LINQ query is executed when it's used and not where it's defined.

  • @WeihanLi-iHerb
    @WeihanLi-iHerb Před 23 dny

    thanks very much for sharing, love it, we want more please

  • @kamatapa
    @kamatapa Před 22 dny

    Love these deep dives...

  • @Danielspss
    @Danielspss Před 23 dny

    this was just what i need it, thank you

  • @irinamarudina3114
    @irinamarudina3114 Před 19 dny

    I am not even .NET but a Java developer. Still this video was a motivation booster for me and I can't wait to see the next one with the specific Array optimized version. Thank you!

  • @sanampakuwal
    @sanampakuwal Před 24 dny +1

    Don't Stop these coming!

  • @WillEhrendreich
    @WillEhrendreich Před 24 dny +1

    That was great, thanks!

  • @fedayka
    @fedayka Před 23 dny

    This is great! Thanks guys!

  • @PerWillner
    @PerWillner Před 19 dny

    Wow, I am hooked 🤯👍

  • @_Miguel_Roman_
    @_Miguel_Roman_ Před 18 dny

    Excellent talk!

  • @oluwolekolawole3802
    @oluwolekolawole3802 Před 24 dny +2

    I love it that there are still people who are actual Computer Science nerds out there. At the end of the day, a lot of syntactic sugar boils down to `1: doSomething(); 2: if not done, GoTo 1;`

  • @EstebanAstudillo
    @EstebanAstudillo Před 17 dny

    Awesome stuff!

  • @daveblack6951
    @daveblack6951 Před 23 dny

    That was quite something! Thanks.

  • @bluecup25
    @bluecup25 Před 24 dny +3

    yay it is back

  • @CuriouslyContent
    @CuriouslyContent Před 21 dnem

    Would anyone else pay good money to see Stephen Toub do a dometrain-style course on performance profiling and optimization? Starting with how he thinks about performance optimization, talking about techniques and tools and then running through a robust example using everything he covered to optimize some piece of code... would be super cool if he did it for some open source project as a microsoft-sponsored demo using VS or any other stuff MS wants to showcase. Maybe a piece of OS code that MS uses internally but could never justify spending Stephens time on ;-)
    We need more Stephens. Would be good for the next generation of programmers to have a solid-starting point for this kind of work.

  • @JeanQPublique
    @JeanQPublique Před 24 dny +1

    It's nice to get some dotnet content for experienced devs.

  • @teevee-ej6zm
    @teevee-ej6zm Před 20 dny +1

    Thank you that was a great tutorial and very very insightful deep dive. Here we see linq is iterators all the way dow ;)
    Also thank you Scott for constantly telling Stephen to stop zooming out. Its very hard for us trying to follow the super fast drain dump going on and suddenly the code becomes completely unreadable due to Stephen zooming out all the time.

  • @DevelTime
    @DevelTime Před 23 dny

    Great video thank you very much. Bring some more goodies, please 🙂 but just remember about proper font size (thank you Scott 🙂 ). Maybe go even deeper with optimization, profiling, micro details. The check with current thread was really neat, I wonder what else Stephen keeps in his sleeves 🙂

  • @OeHomestead
    @OeHomestead Před 9 dny

    Keep 'em comin' :-) Parallelism, threading, optimisation, how to take advantage of all the language features next?

  • @expertreviews1112
    @expertreviews1112 Před 24 dny

    Fantastic!!!!

  • @JakobStrasser
    @JakobStrasser Před 24 dny

    Very interesting, thanks!

  • @juan_w_fer
    @juan_w_fer Před 23 dny

    This was super interesting!

  • @damiengu
    @damiengu Před 21 dnem +1

    While this is very cool it's also worth remembering that LINQ to Objects (in-memory implementations like this) are just the tip of the iceberg. Expression trees and IQueryable is what sets LINQ and C# apart from similar in-memory techniques in JavaScript, Swift etc. They don't have a way to get the syntax tree and to allow the query to be translated to a completely different remote language like SQL.

  • @fabii5555
    @fabii5555 Před 24 dny +1

    The original video got removed while I was watching it. My heart dropped a beat when the connection error popped up 😵

  • @user-cs8ii8tw4y
    @user-cs8ii8tw4y Před 2 dny

    Surely Reset() is a member on IEnumerator because IEnumerator is C#'s version of the well documented (GoF) Iterator pattern, which is described as MoveNext(), GetCurrent(), and Reset()

  • @FedasaBote
    @FedasaBote Před 23 dny

    Wow, this should be amazing

  • @Paul-uo9sv
    @Paul-uo9sv Před 22 dny

    This is great

  • @cccyberfamilydk
    @cccyberfamilydk Před 24 dny

    Great. More More.

  • @WillEhrendreich
    @WillEhrendreich Před 24 dny +2

    I'd love to hear from more people from the fsharp side of life!! Get Chet Husk, Jimmy Byrd, Vlad Zarytovskii, Don Syme, the whole gang.

  • @CuriouslyContent
    @CuriouslyContent Před 22 dny

    If Stephen wasn't doing so much good work on everything he touches, I would say please make more videos! But I can't help worrying that every minute he spends explaining something to me, he's not making the language/framework more awesome. We need to clone this mans brain!

  • @kastriotgashi
    @kastriotgashi Před 23 dny

    That was great

  • @arabiceasycode
    @arabiceasycode Před 20 dny

    love this vedio, youtube should pin it in the top of other videos!

  • @markgottselig3059
    @markgottselig3059 Před 22 dny

    I would absolutely love more Stephen Toub videos! Please get him a decent microphone though, I find the difference in audio quality between Scott and Stephen is distracting

  • @mrqbboy
    @mrqbboy Před 23 dny

    Good stuff

  • @zaub3rwalD
    @zaub3rwalD Před 22 dny

  • @moshtabamorsali
    @moshtabamorsali Před 13 dny

    First I watched async/await video and thought that is too much for me. Now I'm watching this and find out even LINQ is too much for me :')

  • @Kitulous
    @Kitulous Před 19 dny

    didn't know you could goto a case branch to fall through!

  • @m_stf
    @m_stf Před 24 dny

    the bell is smashed

  • @egvijayanand
    @egvijayanand Před 14 dny

    44:08 Could have checked for null, initialize the Enumerator field to null, and then set it here only if it's null. Using int-based state variable doesn't look good.

  • @warrenbuckley3267
    @warrenbuckley3267 Před 23 dny

    This was excellent, really enjoyed it. I'm really looking forward to part 2

  • @mcphailjonathan
    @mcphailjonathan Před 22 dny

    I'd like to enter a hackathon... with Stephen Toub and David Fowler on my team.

  • @robl39
    @robl39 Před 21 dnem +1

    Stephen Toub uses light mode Visual Studio!?!?!?

  • @oz4232
    @oz4232 Před 22 dny

    👍

  • @RJiiFin
    @RJiiFin Před 20 dny

    Today we learned that developing in C# is more like weight lifting than programming with all the lifting and lowering and lifting and lowering...

  • @OryanHassidim
    @OryanHassidim Před 19 dny

    The reason built in linq sum implementation so fast is because SIMD and vectorization, no??

  • @ghosttie
    @ghosttie Před 24 dny +1

    Is the analyzer that makes classes sealed publicly available?

  • @ekkalchev
    @ekkalchev Před 20 dny

    Stephen Toub should be the dotnet president. Vote with thumbs up or down.