Over the years, I keep coming back to F# as a neat language for certain situations. A few weeks ago, Microsoft Research announced the beta of the Try F# site, and I decided to check it out. Not only is Try F# an excellent way to learn a little about F#, it also sets an excellent standard for programming tutorials.
Highlights
It’s quite easy to use the Try F# tutorials. Once you are in the tutorials, I suggest you click the Index icon in the top-right corner to show the table of contents at all times. The format of the lessons is fantastic: You select a topic, it shows you text and sample code, and to the right there is a live, interactive F# interpreter. To make it even easier, you can click Copy And Run (sometimes labeled as Load And Run) in the sample code to have it sent over to the interpreter and executed. I really liked how this format bridged the gap between static code samples and experimenting live, without the tedium of re-typing it in or having to grab code from a book publisher’s website.
The tutorial text is very good as well. It lays the F# language out in plain speak, while highlighting along the way key conceptual differences between F# and languages such as C# and Java. This is important for any F# tutorial, because it is easy for developers who are familiar with other languages to get lost on fundamental principles, such as the “let” statement binding a variable to a function instead of assigning a value.
F#’s three paradigms — functional, imperative, and object oriented — are all briefly covered. As expected for a functional language, recursion is touched on. The tutorial also covers some advanced topics such as parallelism and asynchronous programming.
Weak points
One glaring omission is .NET interop. While it is not a fun topic and can certainly scare away a newcomer, I think it is going to be on the minds of people who want to learn F#. After all, if you don’t use .NET interop, does it really matter if it is a .NET language?
Other weak spots were the lack of information explaining how to use F# in a more effective manner than other languages, or details about what changes to your programming style allow you to get the most benefit from F#. Again, this may be a bit too advanced for a tutorial like this, but it is the kind of thing that is really important to people who are taking a look at F# and want to know what it can do and why they should be interested in it.
Conclusion
If you fit the target audience for F# (i.e., people working on algorithms, primarily), the Try F# site is a great way to see if the language is for you. Out of all of the F# resources I have sampled over the years, this is the best I have seen. It only takes an hour or two to check out (depending on your previous background in functional languages and reading speed), and it is broken up into easily-digested chunks, perfect for perusing on a lunch break or during other brief moments of downtime.
J.Ja
Additional F# resources on TechRepublic
Keep your engineering skills up to date by signing up for TechRepublic’s free Software Engineer newsletter, delivered each Tuesday.