F# Tutorial Code and Slides
[ The attached tutorial code has now been updated for the F# Visual Studio 2010 Beta2 release (with matching CTP update for Visual Studio 2008) ]
One of the great pleasures of my job is to go to conferences like JAOO and present on F# and other topics. This year I presented both a tutorial and a lecture at JAOO 2009, and I've included the tutorial and lecture slides below! Thanks to everyone who came along - I really enjoyed giving this one!
Some highlights of the code are:
- Foundational material on F# async programming, and samples including:
- Fetching web pages in parallel
- The Bing translator sample using async programming
- A Graphical, asynchronous twitter client in 50 lines
- A Twitter feed example that uses F# first class reactive event processing to process the stream of feeds
- An asynchronous web crawler
- Processing images in parallel, using a mixture of I/O and CPU parallelism
- An updated version of the famous Interactive DirectX demo
- Lots of great micro samples on foundational topics such as
- object oriented programming
- language oriented programming
- function composition
- design patterns
- discriminated unions
- records
- units of measure
The tutorial slides include important new slides on asynchronous programming. Over the next few blog entries I'll be taking a closer look at some of the material, especially in the areas of parallel and asynchronous programming.
I'd really appreciate your input on how we can make this tutorial even better. Giving an F# tutorial is enormously enjoyable and if you'd like to give a tutorial, please drop me a note (dsyme at microsoft dot com) and I'll send you the latest copy of the slides and code - we're already planning to add a few more , including a section on the standard F# "functional programming operators" such as List.map, List.fold etc.Send us your suggestions for further topics to cover!
Some of this material comes from Chris Smith, Matthew Podwysocki, Luke Hoban, Brian McNamara and James Margetson from the F# core team at Microsoft. Some snippets of the async samples showing the use of the PeriodicTable web service were co-developed with Robert Pickering (thanks Robert!)
Enjoy!
Don
FSharp-Tutorial-jaoo-2009-beta2.zip
Comments
Anonymous
October 10, 2009
Thanks for the great post, but it seems that attachments have errorsAnonymous
October 10, 2009
Thank you for linking to the slides. I am a firm believer that F# is the future, too bad I can't get a job doing it, at least right now. I have asked Channel 9 for the video of your talk, assuming one exists.Anonymous
October 10, 2009
Hi Don, the download link to the zip file does not seem to be working.Anonymous
October 10, 2009
Hello! I believe there's some problem with the attachment, the link leads to an error page.Anonymous
October 11, 2009
Don, the linked to the "jaoo-2009-fsharp-tutorial-slides-and-code.zip" is broken. Please upload the attachment again or correct the link. Thanks, Vivek.Anonymous
October 11, 2009
I cannot build the solution with Visual Studio 2010. Do you have solution that will build with VS 2010? Thanks, TonyAnonymous
October 12, 2009
The code will not compile under Visual Studio 2010. Do you have a project/solution for VS 2010? Thanks, TonyAnonymous
October 12, 2009
The link is fixed, i tried again today and i could download the file, thanks for the great collectionAnonymous
October 12, 2009
That's a beautiful and comprehensive tutorial.Anonymous
October 14, 2009
Looks very tempting. (1) Will we find more practical code examples like this in Your new book? (2) Which GUI framework do You recommend for F# above all? DirectX, XNA, Forms, WPF? I'm a bit confused what's worth the invest. BR