I’m heading home on the geek train back from a cracking DDD North, this year held in Sunderland and attracting 430 attendees and three well attended F# talks.
I managed to deliver the first pony of the day in F# eye for the C# Guy:
Starting with live samples of immutable classes in C# and then in F# using the class and record syntax. Then instantiating the classes via the F# interactive (REPL) window and from C# which simply requires a reference to the F# library project, it’s all .Net IL underneath.
Then we moved on to unit testing in F# using a selection of libraries from Nuget including NUnit, FsUnit and Unquote. On the unit testing theme Ian Cooper gave a talk on TDD, where did it all go wrong at the same time which was well received.
Leading on from unit testing we took a look at automated acceptance testing with TickSpec, and how this was used in the open source spreadsheet Cellz.
Finally for fun I showed a couple of FunScript samples including the Mario Tutorial (only working in IE at the moment) and a Pacman Sample. FunScript is an open source F# to JavaScript compiler with a Type Provider to TypeScript type definition files which provides typed access to common JavaScript libraries.
If you’re interested in picking up F# I’d recommend trying the F# Koans (where you can pick up the syntax while making a set of tests pass), the online Try F# site, and the F# Tutorial project in Visual Studio.
Hadoop Kickstarter
Next up in the same room Gary Short gave a great introduction to Hadoop and some of the related tools like Pig.
If you’re interested in trying out Hadoop with F# check out the Hadoop Type Provider online on the Try F# site which gives you typed access with intellisense:
WTFP?! Functional Programming and why you should care, with examples in F#
Before lunch Grant Crofton gave a great introduction to functional programming with F# using lots of live code snippets in Visual Studio
Grant also managed to slip some ASCII art into his scripts :)
Lightning talks
Lunch time saw a selection of lightning talks including Ben Nunney on Twillio and Anthony Steele on Feature Folders which emphasised the importance of focusing on the problem domain in your architecture.
The Joy of Wires: an introduction to Netduino
After lunch I popped over to see Iain Angus’s lively talk on Netduino which showed how much fun it can be playing with electronics.
You've learnt the basics of F#: What's next?
The last session of the day for me was Ian Russell’s fun talk which covered a selection of F# Type Providers for typed data access and F# Agents for taming concurrency.
Ian demonstrated the SQL, CSV, JSON and World Bank type providers all available either bundled with F# or via Nuget. For F# agents he showed a simple chat server that he ran from F# interactive using a local web server.
You can get the samples from Ian’s github repository: DDDNorth F# Presentation
Testing Crap in Web Applications Like ASP.Net MVC
The last pony of the day was spotted in Rob Ashton’s talk/rant which unfortunately I missed as it was on at the same time as Ian’s:
Close
Hanging out at the close with my fellow F#ers, Ian and Grant:
A big thanks to the DDD North team especially Andy Westgarth for hosting a great event!