I learn new languages usually by trying to create something (most of time web apps) in a framework built on top of the language (Rails for Ruby, Lift for Scala, Nitrogen for Erlang, etc.). That way I already have to work in an environment that, hopefully, reflects the philosophy and typical usage patterns of the underlying language.
For F#, although a promising framework - WebSharper - exists, now I'll try my other approach, similar to Code Katas, writing short programs, solving some simple problems. Although I'm not completely new to fuctional programming, but still lack the 'industrial' experience, so it's probably anyway better to learn it from bottom-up. It is also said that FP excels at programming in the small, especially in mathematical and algorithmic problems (that doesn't mean it can't be used effectively in the large of course), so instead of choosing PragDave's katas themselves, I've picked the qualifier problem sets (the Electronical Contest) of Challenge 24, an annual international programming contest held in Hungary.
In the qualifier round the teams of three developers should solve 6 problems posted over the internet within 5 hours. The problem sets of previous years are published on the organizers' website, together with the expected solutions, but not the 'path' to achieve it, so I'll be able to verify whether what I've built is really solving the problem, and the temptation to peek into the answers is delivered from me as well :).
In this series I plan to demonstrate how I solve these problems in F#, trying to keep a 'clean' functional and F#-ish style - let's see how I'll succeed.
March 15, 2010
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment