This course introduces you to the F# programming language. F# is a multi-paradigm programming language that encompasses functional and object-oriented programming models. It is a variant of ML, and has become the predominant functional language targeting the .NET platform. This course will walk you through all of the core details of working with F#, covering not just language fundamentals, but also showing practical scenarios of where it is best used creating .NET applications.
Oliver Sturm is a consultant and trainer on topics around .NET software architecture. An Associate Consultant at thinktecture, he is also well known as an author of training classes and articles, an expert on programming languages and a Microsoft C# MVP, and for his experience in the specialized area of DevExpress UI components and frameworks.
Introduction to F# - Getting Started the Hello World Way Hi. This is Oliver Sturm. Welcome to my introduction to F# class. In this first module I would like to show you F# going the "Hello, world, " just showing you very simple demos to point out what F# can do. First I'm going to look at a simple console application. Then I will look at Windows Forms as a platform to target. WPF next. Those are all the client (inaudible) platforms, and finally I'm going to check out FSI, the interactive REPL environment for F# programmers.
Quick Start Hi, this is Oliver Sturm. After you've seen some simple "Hello World" examples, this module will provide you with a high level overview of some of the important topics you need to be aware of when programming in F#. I will start by looking at the value and data types supported in the F# and how Type Inference means that you're rarely be using those types manually. Then, I'm going to look at the process of creating and calling functions and how to structure your application using modules and. NET namespaces. Support for testing is easy to get hold off in F# and I'll have a quick look at this as another getting started topic.
Hello to the Real World with ASP.NET MVC Oliver Sturm: Hi, this is Oliver Sturm. In this module, I'm going to walk you towards a goal of creating a real-world application based on Microsoft's asp. net MVC platform with the F Sharp language. On the way there, I'm going to look at various basics that are needed to target that platform. First, I'm going to look at declaring classes and enums that are compatible with the requirements of the MVC platform. Part of the requirements in there are around mutable properties which are a bit of a conflict with F Sharps, G4 immutable data types. I also need to look at creating inheritance hierarchies and casting types and eventually I'm going to get to a demo of creating an MVC application in F Sharp utilizing all of the basics I've walked through.
Functions and Expressions Hi this is Oliver Sturm. In this module, I'm going to explain to you some of the more intricate details of using functions and expressions in the F# language. First, I'm going to look at declaring functions as well as lambda expressions. Then, I'm going to move on to some of the techniques in the area of function construction. There are two in particular that I'm going to cover called partial application and composition. Finally, I will move on to some functional algorithmic considerations and talk about pre-computation and recursion.
Handling Data Hi, this is Oliver Sturm. In this module I'll be talking to you about the options F Sharp provides for handling data. There are several different things I would like to talk about. I'll begin with some of the special data types F Sharp provides or supports in ways that other dot net languages don't. Then I will move on to comprehension syntax support, an easy way of instantiating data types right from code if they are list and sequence types. Then discriminated unions will show you a way of creating rather complex data structures using very simple syntax and record types are usually used as immutable data types with an easy syntax to create complex structures. Finally, I'm going to have a look at some algorithmic support for data manipulation and analysis writing your own as well as using library supplied functionality.
Object Oriented Programming Hi, this is Oliver Sturm. In this module, I'm going to talk to you about the Object Oriented functionality in the F Sharp programming language. First, I'm going to look at constructed types, a type of class that has a constructor. Then I'm going to look at the implementation inheritance support in the F Sharp language, moving on to interface implementation and use, and finally, talking about object expressions, a quick and easy way to create object instances and even interface instances.
.NET Specific Elements Hi, this Oliver Sturm. In this short module, I would like to talk to you about some. NET specific elements in the F Sharp language. First, I'm going to tell you how to work with exceptions. You have the ability of creating your own custom exception types as well has handling, catching and throwing standard. NET exceptions. Second, I'll talk about handling the IDisposable interface, a special interface in. NET that is used for resource management.