Sunday, May 4, 2008

Functional Programming, F# and Q

FP(Functional Programming) has been gaining more and more popularity in recent years as people started to realized that Objected-Oriented and Imperative Programming can NOT possibly be the only answer to everything. By avoiding states and side effects, FP makes programs more maintainable. Also because of it views computing problems as mathematic problems, hence the name "Functional", it's more natural to solve analytics and quantitative problems.

KDB+/Q by no doubt is one of the most powerful FP.

Even Microsoft started to promote FP in its release of F#, inspired by OCaml. It is promised to provide the power and productivity of FP, as well as interop with the .NET CLI libraries.
There were two books on F# so far. Don's book is especially comprehensive and could take you to the "expert" level of F#. Note: you don't have to buy books on OCaml because the F# books cover everything you need to know about FP and there are some difference between F# and OCaml. One of the good things in F# is its "#light" mode, which makes the syntax lighter, although some people might get annoyed by the fact that indentation becomes significant in the "#light" mode.