♫musicjinni

Down the Oregon Trail with Functional C# - with Simon Painter

video thumbnail
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 of(depending on the version).
My interest though isn't just in historical computer games, it's also in .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.

Functional NET Programming With F#

Functional Programming in C#

Object-Oriented vs. Functional Programming With C# and F#

Functional Programming in .net

The .NET Docs Show - Functional Fun with F#

On .NET Live - Let’s Talk Functional-First Programming!

On .NET Live - Fun Functional Functions for F# folks

Functional Programming with C# - Simon Painter - NDC London 2023

PYTHON tutorials by Mr. Vijay Sir

F# Fundamentals Tutorial | Learn Functional Programming | Step-by-Step Guide

F#: Putting the Fun into Functional Programming

Down the Oregon Trail with Functional C# | .NET Conf 2022

Possibility of Discriminated Unions in C#: Functional Programming in .NET

On .NET Live - F#: Path to functional enlightenment

The .NET Docs Show - F# - The Pit of Success 🎉

.NET Standard 2.0 Cookbook | 4. Functional Programming

Parallel and Asynchronous Programming with F#

Let's Learn .NET - F#

Introduction to Functional Programming with F# - Part 1 [Episode 001]

Comparing C# (OOP) and F# | OOP vs Functional Programming | Comparing Same Program in Both Paradigms

Spotkanie 54: Luca Bolognese - F#: functional programming in .NET

Let There Be Functional Programming with F# | Pluralsight

Functional Object-Oriented Programming with LanguageExt

Introduction to Functional Programming in F#

Introduction to Functional Programming with F#

Starting Your F# Journey | #dotNETConf: Focus on F#

Web Development with F# on .NET Core

Why Switch From C#/Java/Python to F#? Functional Programming vs Object Oriented Programming Overview

Rachel Reese - Building Reactive Services Using Functional Programming (Lambda Days 2016)

F# and Functional Programming!

Disclaimer DMCA