1 hr 24 min

Down the Oregon Trail with Functional C#, with Simon J. Painter Adelaide .NET User Group Podcast

    • Technology

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: Functional Programming with C# (O'Reilly Media) Simon on LinkedIn Simon on Twitter Simon's website

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: Functional Programming with C# (O'Reilly Media) Simon on LinkedIn Simon on Twitter Simon's website

1 hr 24 min

Top Podcasts In Technology

Deep Questions with Cal Newport
Cal Newport
Acquired
Ben Gilbert and David Rosenthal
Lex Fridman Podcast
Lex Fridman
The TED AI Show
TED
See Tomorrow First
See Tomorrow First
Hard Fork
The New York Times