Podme logo
HjemOppdagKategorierSøkStudent
.NET 006: Async and C# 8 with Filip Ekberg

.NET 006: Async and C# 8 with Filip Ekberg

48:292019-09-17

Om episode

Episode Summary In this week’s episode of Adventures in .NET the panel interviews Filip Ekberg, Microsoft MVP, about using async, await, and the new features in C# 8. They begin by discussing the evolution of running tasks and multithreading in async. Filip describes the evolution beginning with background workers, through task parallel libraries finally to async and await. The panel considers how managing tasks has been made almost too easy.     Filip explains that there has been a drive to make everything asynchronous but explains that this approach doesn’t always make sense. The panel asks Filip when a developer should use async and await. If an application has a UI, Filip encourages the use of async and await and he outlines the benefits. He also explains that if someone wants to be a full-stack developer they need to understand async and await on both the serverside and clientside.    The panel wonders what the most common async and await mistakes are in .NET. Filip shares a couple of the most common mistakes he sees. The first is deadlocking an application because of the inappropriate methods such as .result and .wait on tasks. The second is marking methods as async without running the await keyword. He explains what these mistakes do to your application and gives advice on avoiding these mistakes.    The panel expresses past frustrations in making all methods especially tops methods when in ASP.NET. Filip gives the panel advice on making it asynchronous top to bottom and ways to handle those aggravating top methods. He also explains how to use the await keyword and state machines effectively.   Debugging in async is the next topic the panel considers. Filip explains why debugging is so tricky in asynchronous applications. He gives a few tips, his biggest piece of advice is to update Visual Studio and you should get more help in debugging than from older versions.    The panel moves on to discuss C# 8. Filip explains that C# is his language, he loves it! He shares three new changes to the language features in C# 8. They made changes to how tuples work, pattern matching and null reference types.    Tuples are the first change the panel considers. Filip explains what tuples are and what they do. Tuples allow you to represent a type without actually using that type. The panel considers how tuples have changed in C# 8, they are still position based but are more flexible in calling them.    Next, the panel discusses null reference types. The control null reference types allow over nulls is considered. Filip shares some recommendations for using null reference types. The panel considers what might happen if someone were to use null reference types in an existing application. The wonder if it would have any benefit or if it would break the whole application.    The final feature they discuss is pattern matching. Filip explains the benefit of using the new pattern matching with the new tuples feature in C# 8. The new pattern matching can be used to find tupple patterns, position patterns, and property patterns.    Panelists Shawn Clabough Charles Max Wood Caleb Wells Guest Filip Ekberg Sponsors   Adventures in BlockchainAdventures in DevOpsThe Freelancers ShowCacheFly Links C# 8 and Beyond - Filip Ekberg  Back to Basics: Efficient Async and Await - Filip Ekberg  https://twitter.com/fekberg?lang=enhttps://www.filipekberg.se/https://www.facebook.com/Adventures-in-NET-373059030062837/ https://twitter.com/dotNET_Podcast Picks Charles Max Wood: RR 429: Mechanical Confidence with Adam CuppyJSJ 392: The Murky Past and Misty Future of JavaScript with Douglas CrockfordDr. Mario World Caleb Wells: Upgrade to the new Nintendo Switch  Filip Ekberg: Final Fantasy VIII RemasteredFinal Fantasy VII Remake Shawn Clabough: https://oz-code.com/  Special Guest: Filip Ekberg. Support this podcast at — https://redcircle.com/adventures-in-net/donationsAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/adventures-in-net--6102015/support.

Nyeste episoder

Adventures in .NET
Adventures in .NET

How Do You Grow? - .NET 197

2024-08-2040min
Adventures in .NET
Adventures in .NET

NET Tools and Azure for .NET developers with Tim Heuer - .NET 196

2024-08-0655min
Adventures in .NET
Adventures in .NET

Containers with Michael Jolley - .NET 195

2024-07-2347min
Adventures in .NET
Adventures in .NET

Enhancing .NET Development: Visualization Tools and Open Source Contributions - .NET 194

2024-07-1652min
Adventures in .NET
Adventures in .NET

Community is Key - .NET 193

2024-07-0942min
Adventures in .NET
Adventures in .NET

Mastering Dotnet Testing: Using Verify to Minimize Assertions - .NET 192

2024-07-021h 56s
Adventures in .NET
Adventures in .NET

Microservices Security in Action with Prabath Siriwardena - .NET 191

2024-06-2553min
Adventures in .NET
Adventures in .NET

A Tour Around the World of XAML with Dmitry Lyalin - .NET 190

2024-06-1158min
Adventures in .NET
Adventures in .NET

Innocent Application Performance Monitoring with Innocent Bindura from Raygun - .NET 189

2024-05-2845min
Adventures in .NET
Adventures in .NET

Digging into .NET in AWS - .NET 188

2024-05-2151min
logo

PODME

INFORMASJON

  • Om informasjonskapsler
  • Generelle vilkår
  • Personvernerklæring

LAST NED APPEN

app storegoogle play store

REGION

flag
  • sweden_flag
  • norway_flag
  • finland_flag
redaktorsansvar

Podme arbeider etter Vær Varsom-plakatens regler for god presseskikk. Ansvarlig redaktør og daglig leder er Kristin Ward Heimdal. Redaktør for eksterne innholdssamarbeid er Mathias Thaulow Lisberg.

© Podme AB 2024