Vai offline con l'app Player FM !
Podcast che vale la pena ascoltare
SPONSORIZZATO


Down the Oregon Trail with Functional C#, with Simon J. Painter
Manage episode 400403446 series 1329529
In 1971, three students from Minnesota thought they could liven up a history lecture by creating a computer game for the students to play, and after several days of work in HP Time Share BASIC, they came up with what turned out to be a significant milestone in the history of computer games - Oregon Trail.
Oregon Trail is often regarded as one of the first great computer games, as well as being the originator of a franchise that is still running to this day. It was effectively also one of the first instances of both Shareware and a Commercial home release (depending on the version).
My interest though, isn't just in historical computer games, it's also .NET and Functional Programming. I want to use this as a worked example of one of my passions - Functional Programming in C#! The challenge I've set myself is to redevelop Oregon Trail into C# using the following restrictions:
- Near 100% unit test coverage
- No variables can change state once set
- No statements (for, foreach, if, where, etc.) unless there literally is no way of avoiding them
I'll also be demonstrating a few of the tricks Functional Programming can offer, like Higher-order functions, functional flows with simple Monads and Tail Recursion. There should also be a bit of retro computing fun, while we're at it.
Links:
68 episodi
Manage episode 400403446 series 1329529
In 1971, three students from Minnesota thought they could liven up a history lecture by creating a computer game for the students to play, and after several days of work in HP Time Share BASIC, they came up with what turned out to be a significant milestone in the history of computer games - Oregon Trail.
Oregon Trail is often regarded as one of the first great computer games, as well as being the originator of a franchise that is still running to this day. It was effectively also one of the first instances of both Shareware and a Commercial home release (depending on the version).
My interest though, isn't just in historical computer games, it's also .NET and Functional Programming. I want to use this as a worked example of one of my passions - Functional Programming in C#! The challenge I've set myself is to redevelop Oregon Trail into C# using the following restrictions:
- Near 100% unit test coverage
- No variables can change state once set
- No statements (for, foreach, if, where, etc.) unless there literally is no way of avoiding them
I'll also be demonstrating a few of the tricks Functional Programming can offer, like Higher-order functions, functional flows with simple Monads and Tail Recursion. There should also be a bit of retro computing fun, while we're at it.
Links:
68 episodi
Tutti gli episodi
×

1 Testing with SpecFlow, with Stephen Nield and Rich Moran 1:08:23

1 10 tips and tricks for GitHub Actions and Azure DevOps, with David Gardiner 1:20:38

1 The different ways you can join your code together, with Calvin Fong 1:05:41

1 Extending Microsoft Copilot with .NET, with Daniel Brown 1:14:54

1 OpenTelemetry: Adding observability to any Microservices environment, with Glenn Versweyveld 1:03:03

1 Building a Microsoft Teams app to replace email, with Ben Smit and Matthew Astachnowicz 1:04:27

1 Boosting Developer Experience, with Sam Fernando 1:15:02


1 .NET 8 Lightning talks 1:31:42

1 Down the Oregon Trail with Functional C#, with Simon J. Painter 1:24:52

1 Revolutionizing Online Retail with Blazor, with James Chapman-Smith and Donald Urquhart 1:40:40

1 Managing granular authorisation in .NET, with Ryan Rowston 1:04:36

1 ChatGPT Client with Blazor, GraphQL, .NET and Azure OpenAI Service, with John Merchant 1:19:52

1 From Code to Production - Building .NET Natively on AWS, with Derek Bingham 1:13:56

1 Moving Beyond RESTful: Why gRPC should be your next choice for .NET API services, with Andy Li 1:47:14

1 How does Hot Reload even work, with David Wengier 1:20:51

1 Writing XAML like it's 2023, with Matt Lacey 1:20:51

1 Insights into Developing with Blazor, with Stephen Nield 1:08:33

1 Cross-Platform Mobile, Desktop & Web apps in .NET with Uno, with Nick Randolph 1:17:48


1 .NET Snapshot testing with Verify, with Simon Cropp 1:13:27

1 .NET on AKS the easy way, with John
Azariah 1:12:06

1 Visual
Studio 2022 Features + Q&A, with Kendra Havens 1:04:00

1 Scalability
Architectures in Commercial Software, with Ryan, Esayas and Luca 1:18:00

1 Go
for .NET Developers, with Sahan Serasinghe 1:29:41




Benvenuto su Player FM!
Player FM ricerca sul web podcast di alta qualità che tu possa goderti adesso. È la migliore app di podcast e funziona su Android, iPhone e web. Registrati per sincronizzare le iscrizioni su tutti i tuoi dispositivi.