Hear from Joe Albahari, a C# Programming guru!

In April 2001, Joe wrote and published his first C# program.

Join him in discovering the most valuable principles that he’s learned in the 20 years of C# programming that followed.

In this video he covers a range of topics, with plenty of samples and useful code that you can take away.

This was chocked full of great information, definitely worth checking out!

 

00:00 – Introduction

01:04 – Types

18:55 – Functional Programming

19:43 – What Defines Functional Programming?

33:26 – Lazy Values

36:20 – Cache a function – Memoizer

41:49 – Using a Closure instead of a Class

43:24 – Memoizer example

45:07 – Asynchronous Programming

47:58 – How do we abstract around Futures?

53:54 – Asynchronous locking

58:04 – Implementing A-synch lock with Semaphore

01:09:48 – Await inside a UI method vs a library method

01:18:04 – Using Exceptions

01:36:18 – Implementing a Retry

01:39:02 – IEither interface

01:39:58 – Downloading samples on LINQPad

01:40:27 – Q&A Session

 

Twitter || https://twitter.com/ssw_tv

Facebook || https://www.facebook.com/SSW.page

 ——————————————————————————

Created by SSW TV | Videos By Developers, For Developers

See more at http://tv.ssw.com

For any production related enquiries please email || info@ssw.com.au ||​

About the speakers

About the speakers

Joe Albahari

Joe Albahari is a C# MVP, author of "C# 9 in a Nutshell", and the creator of LINQPad. Joe has given more than 40 talks at conferences and user groups over the past 10 years.

Related videos

Related videos

How to supercharge a company with AI | Ulysses Maclaren

Explore how AI is transforming businesses right now! In this video, Ulysses Maclaren from SSW walks us through the innovative ways AI is being used at Tina CMS. From automating customer interactions to analyzing vast amounts of data and even managing sales leads, AI is revolutionizing workflows

SSW FireBootCamp Journey to become a .NET developer (Story 2) | Jeoffrey Fischer & Isaac Lombard

Hear firsthand from SSW’s graduates about their learning journey with FireBootCamp.

Efficient Task Management with Microsoft Loop Tutorial | Tanya Leahy | SSW Rules

Discover how to streamline your task management with Microsoft Loop! In this video, Tanya Le, the Operations Coordinator at SSW, demonstrates how to create a shared, real-time workspace that you and your boss can edit together. Perfect for those unexpected calls from busy bosses. Learn step-by-step how to set up and use Microsoft Loop within Microsoft Teams, making it accessible anytime, anywhere. Don’t miss this essential productivity tip!

The importance of annual reviews for developers | Adam Cogan & Ulysses Maclaren | SSW Rules

Join SSW’s Chief Architect, Adam Cogan and SSW’s General Manager, Ulysses Maclaren as they discuss the importance of annual reviews for Software Developers, emphasizing the must-haves and the “icing on the cake”. Learn about key metrics, from billability to mentorship, and discover how to balance essential tasks with additional contributions to make the most out of your annual review.

SSW FireBootCamp Journey to become a .NET developer (Story 1) | Ella Smith & Josh Berman

Looking to get started into the software industry but struggling with the ‘experience required’ dilemma? Hear firsthand from SSW’s graduates about their learning journey with FireBootCamp, SSW’s internship program available in Australia, China and France. Discover how they gained valuable experience, learned essential soft skills, and thrived in a supportive environment alongside senior developers. Get inspired to level up your skills and jumpstart your career with FireBootCamp!

Talk before emailing – are you gold or silver? | Adam Cogan & Andrew Harris | SSW Rules

In this interview, SSW’s Chief Architect Adam Cogan sits down with SSW’s Solution Architect Andrew Harris to discuss the importance and evolution of the “As per our conversation” SSW Rule in email communication. They discuss the importance of confirming conversations, the challenges some face in following it, and the value it brings to any business communication. Join the conversation and share your insights in the comments!

Cloud Native Aspirations with .NET Aspire | Matt Wicks and Rob Pearson | SSW User Group

This session focuses on .NET Aspire’s capabilities and the multi-platform versatility of .NET 8.

Feature Management Simplified: A Deep Dive into Feature Boards | Matt Wicks & Lars Klint

Join SSW’s Solution Architect Matt Wicks as he dives into the world of feature management with Microsoft Azure MVP, Lars Klint, at NDC Sydney 2024. Explore the innovative approach of feature boards, shifting the responsibility from developers to product owners. Discover how feature toggling transcends the binary realm and adapts to dynamic audience segmentation. With insights into audience providers, SDK usage across multiple languages, and seamless integration into development pipelines, this conversation uncovers a new era of feature management.

Unlocking Domain-Driven Design: Exploring Contextive | Gert Marx & Chris Simon

In this video, join Gert Marx, SSW Solution Architect, as he interviews Chris Simon, Start up CTO Coach, about his open-source project, Contextive. Contextive is inspired by Domain-Driven Design (DDD) principles, particularly focusing on the ubiquitous language aspect. Chris explains how miscommunication between developers and users can lead to issues in software projects, and how Contextive aims to mitigate this by documenting domain terminology.

Navigating Coding, Deployments, and Legacy Projects | Matt Wicks & Ben Dechrai

Join SSW’s Solution Architect Matt Wicks in this interview with Developer Advocate, Ben Dechrai, at NDC Sydney. They explore the world of coding, deployments, and legacy projects as they discuss strategies for managing deployment debt, the importance of keeping infrastructure and code in sync, and navigating through legacy codebases. Learn practical tips for maintaining code cleanliness and optimizing readability, along with valuable insights on levering cognitive complexity to elevate code quality.