Thursday, 20 December 2007

Review: Expert F#

Apress were kind enough to send me a complimentary copy of their latest F# book called Expert F# by Don Syme, Adam Granicz and Antonio Cisternino. Most notable among the authors, of course, is Don Syme who created the F# programming language and continues his role through its productization by Microsoft as lead developer. Now that I have spent some time perusing these 600 pages, I believe I can offer a fair opinion on who I think should read this book and why. I should also note that I am an author writing a competing book (F# for Scientists) for a competing publisher (John Wiley & Sons).

Expert F# does exactly what it says on the tin. Anyone serious about using F# professionally must have a copy of this book to hand because it is the only resource that describes how to build production-quality applications and libraries using F#. Robert Pickering's book Foundations of F# is a solid introduction to the language, particularly for object oriented programmers, but Expert F# goes the extra mile by covering everything a professional needs to know, such as the best way to design and implement interfaces in F# and when to bend the .NET guidelines in doing so.

In order to cover every important aspect of the F# language, from parsing with yacc to continuation passing, this book dives into every subject head first. Provided you are already familiar with the concepts involved, you'll quickly get up to speed on the F# way of doing things, but if you're a newbie then I think you'll find this book harder going than other introductory material on F#, like The F#.NET Journal articles. For example, by page 25 the book has already covered how to write a Windows Forms application that downloads web pages and counts the number of words in them. On the same page in Foundations of F#, you're still covering the Fibonacci function as an example of recursion. To be fair, that is as much a testament to the awesome expressive power of F# allowing you to write a web-fetching GUI application in a dozen lines of code but, still, you get the point!

In addition to covering all of the aspects of F# that are essential for professional programmers, Expert F# also covers several advanced topics, where F# represents the current state-of-the-art even among research languages. Two of the most notable subjects are active patterns and asynchronous workflows. The former being an elegant way to apply F#'s powerful OCaml-style pattern matching to alien data structures and the latter being a novel attack on concurrent programming.

Overall I think this is a superb book and I would not hesitate to recommend it to anyone wanting to learn more about the F# programming language. Since Microsoft's productization of F#, it is clear that this will be a force to be reckoned with in the world of professional programming languages and Expert F# is the companion everyone needs in order to learn how to harness this powerful new language. Easily worth its $35 eBook price tag.


16 comments:

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20cialis/17_mycialis.html][IMG]http://imgwebsearch.com/35357/img0/buy%20cialis/17_mycialis.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20cialis/4_mycialis.html][IMG]http://imgwebsearch.com/35357/img0/buy%20cialis/4_mycialis.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/8_viagra1.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/8_viagra1.png[/IMG][/URL]


[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/13_buygenericviagra.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/13_buygenericviagra.png[/IMG][/URL]


[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/19_buygenericviagra1.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/19_buygenericviagra1.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/9_viagra1.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/9_viagra1.png[/IMG][/URL]


[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/2_buygenericviagra.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/2_buygenericviagra.png[/IMG][/URL]


[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/3_buygenericviagra1.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/3_buygenericviagra1.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/20_viagra1.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/20_viagra1.png[/IMG][/URL]


[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/19_buygenericviagra.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/19_buygenericviagra.png[/IMG][/URL]


[URL=http://imgwebsearch.com/35357/link/buy%20viagra%20online/2_buygenericviagra1.html][IMG]http://imgwebsearch.com/35357/img0/buy%20viagra%20online/2_buygenericviagra1.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/casino%20online/2_casinoss.html][IMG]http://imgwebsearch.com/35357/img0/casino%20online/2_casinoss.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/casino%20online/1_casinoss.html][IMG]http://imgwebsearch.com/35357/img0/casino%20online/1_casinoss.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/casino%20online/1_casinoss.html][IMG]http://imgwebsearch.com/35357/img0/casino%20online/1_casinoss.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20cialis/18_mycialis.html][IMG]http://imgwebsearch.com/35357/img0/buy%20cialis/18_mycialis.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20cialis/4_mycialis.html][IMG]http://imgwebsearch.com/35357/img0/buy%20cialis/4_mycialis.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/buy%20cialis/13_mycialis.html][IMG]http://imgwebsearch.com/35357/img0/buy%20cialis/13_mycialis.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/casino%20online/11_style_casino.html][IMG]http://imgwebsearch.com/35357/img0/casino%20online/11_style_casino.png[/IMG][/URL]

Anonymous said...

[URL=http://imgwebsearch.com/35357/link/casino%20online/4_style_casino.html][IMG]http://imgwebsearch.com/35357/img0/casino%20online/4_style_casino.png[/IMG][/URL]

Anonymous said...

May be the Very best topic that i read all week?!

Anonymous said...

Just popping in to say nice site.

Anonymous said...

Service : Client assistance ended up being terrific. Girl on the phone had a pleasant approach and moreover My husband and i was given moolah quick.
Value :I attained the best value due to the fact pay day loan charges happen to be particularly very competitive.
AAA Vancouver Payday Loans 310-4088 Cambie Street, Vancouver, BC V5Z 2X8 (778) 785-2087 payday loans vancouver
AAA Calgary Payday Loans 1014 Macleod Trail Southeast, Calgary, AB T2G 2M7 (403) 614-4637 payday loans calgary
AAA Ottawa Payday Loans 503 Avenue Gladstone, Ottawa, ON K1R 5N9 (343) 883-1422 payday loans ottawa
AAA Edmonton Payday Loans 10223 97 Street Northwest, Edmonton, AB T5J 0L5 (780) 669-1284 payday loans edmonton