Foundations of F# - Second Edition

I’m very pleased to announce I’ve started working on a second edition of Foundations of F#. The aim is to document the language in the form it will be in when it is released in with Visual Studio 2010. This will be a challenge since it’s not yet known exactly what features will be in the final release.

So, why a second edition? It’s true that the original book is only about 2 years old, but that’s quite a long time in the IT industry these days and much has change in the F# landscape since the original was wrote and indeed much in the .NET platform has evolved. When the original was written F# was still primarily a research project, entirely driven by Microsoft Research and had a relatively small user community and evener fewer commercial users. Now F# is being co-developed by Microsoft Corporate in Seattle and Microsoft Research in Cambridge into a product. While the community remains relative small compared to that of C++, C# and Java the community site http://cs.hubfs.net has seen grown enormously since the first editions releases and question regularly pop up on http://stackoverflow.com too. The language has also attracted some major commercial users, Credit Suisse recently announced they indented to develop their quantitative models that are deployed on the .NET platform in F#, other commercial users include Coherent PDF and flying frog consultancy. Also my own opinions about programming have evolved over the past two years; I’m now a professional functional programmer and so have a much greater experience about functional programming and want to share that with you.

What are my aims for the second edition? I believe the first edition was generally well received I have certainly received a lot of mail form reads and the vast majority of it has been very positive. The reviews on amazon.com are mostly positive too; however there are some criticisms and I indent to address these in the second edition. Name the code will be more accurate, and it will be focused on functional style and give better advice about building applications in F#. The errors in the code generally arouse form the fact the code was written Visual Studio then manually copied and pasted into word, making it difficult to recheck the codes accuracy as version of F# changes, also let to the temptation to make small edits of the code without checking them. To address the code quality issue: all code is now insert via a script and all the code samples will be available on codeplex, meaning there more easily available anyone interested can check them and send me comments. The codeplex project is: http://www.codeplex.com/FOFS. To address functional programming issues I’ll be doing a major rewrite of the functional programming issue to put more emphasis on good functional style and I’ll also be adding a chapter called “Anatomy of an F# Application” to try and give some guidance on how to build an application in F#. I also want to document all the new features of F#, Active Patterns, Workflows and Units of Measure.

Concretely how will the book change? I’m aiming for evolution rather than revolution, each chapter will be carefully reviewed and updated, and there will be quite a lot of new material too. As I’ve said the chapter that will see the biggest changes is chapter 3, most of the original examples in this chapter will probably stay but this will be better organised to give more emphasis on functional style and there’ll be some new material too. There’ll be three new chapters, “Concurrency”, “Parsing Text” and “Anatomy of an F# Application”.  I didn’t tackle “Concurrency” in the first edition because, to be honest, I didn’t know that much about concurrency, also I felt F# didn’t offer that many advantages in the concurrent programming. In the past two years I’ve learnt a lot more about concurrency (although there’s still more to know), F# has new and interesting features for tackling concurrency and it’s now a more important topic that ever, so it’ll definitely be in this book. The parsing “Parsing Text” chapter is be added because I want to grow the “Language Oriented Programming” chapter, I thought the original chapter was good but I want to put more emphasis on using the technique to tackle real world problems, so the chapter will grow and the sections concerned purely with parsing text will be split off. I also want to cover techniques other than fslex/fsyacc for parsing text such as fsparses and mgrammar.  “Anatomy of an F# Application” will address the need for more advice on how to build complete applications in F#.

Well that’s it for now. Feel free to send comments and suggestion to the usual address and check out the examples at codeplex: http://www.codeplex.com/FOFS

Bookmark
dotnetkicks+, digg+, reddit+, del.icio.us+, dzone+, facebook+

Print | posted @ Saturday, January 17, 2009 6:11 PM

Comments on this entry:

Gravatar # re: Foundations of F# - Second Edition
by Andreas at 1/20/2009 10:18 AM

Typo in Link
"http://cs.hubsf.net/"

should be
"http://cs.hubfs.net/"
Gravatar # re: Foundations of F# - Second Edition
by Wonseok Chae at 1/21/2009 4:44 PM

Hi, Robert. I am already looking forward to your second edition and post this good news on my blog (Korean though.) Particularly, I really like your F# landscape. Please, keep posting such a good one often. Thanks.

p.s. The link to hubFS has a typo.
Gravatar # re: Foundations of F# - Second Edition
by robert at 1/21/2009 4:56 PM

Thanks!

Links fixed now.
Gravatar # re: Foundations of F# - Second Edition
by Amanda at 2/11/2009 5:18 PM

Great to hear! Can't wait to see it.
Gravatar # re: Foundations of F# - Second Edition
by Nair at 3/9/2009 3:04 PM

I bought the first book and I was very happy with that book. I would like to know, will you be adding new section on Silverlight or any web related technologies. Based on my understanding and previous reads I think F# could a good fit for Async calls than C#.
Gravatar # re: Foundations of F# - Second Edition
by Robert Pickering at 3/10/2009 3:50 PM

Hi Nair,

I've just rewritten the section on user interfaces and didn't add too much stuff about the web. I will be adding quite a bit more about making async calls, and I think about including a section about working with different versions of the CRL which will include Sliverlight.

Cheers,
Rob
Gravatar # re: Foundations of F# - Second Edition
by Christian at 3/11/2009 9:58 PM

Hi
This book will be in spanish too??
Gravatar # re: Foundations of F# - Second Edition
by Robert Pickering at 3/11/2009 10:23 PM

Only if you can suggest a publisher who would be will to translate it :)

Thanks,
Robert
Gravatar # re: Foundations of F# - Second Edition
by Nair at 3/12/2009 3:07 PM

Fantastic. Can't wait for the book.
Gravatar # re: Foundations of F# - Second Edition
by Cheap Web Hosting at 12/26/2009 6:04 PM

I am already looking forward to your second edition and post this good news on my blog (Korean though.) Particularly, I really like your F# landscape. Please, keep posting such a good one often. Thanks.
Gravatar # re: Foundations of F# - Second Edition
by Cheap Web Hosting at 12/26/2009 6:26 PM

I will be adding quite a bit more about making async calls, and I think about including a section about working with different versions of the CRL which will include Sliverlight.

Your comment:

(Note: all comments are moderated so it may take sometime to appear)

Title:
Name:
Email:
Website:
 
Italic Underline Blockquote Hyperlink
 
 
Please add 5 and 4 and type the answer here:
 

 Subscribe in a reader

Links

CVMy CV
stackoverflowMy Stack Overflow CV
Twitter Follow me on Twitter
FaceBook View my Facebook
LinkedIn View my LinkedIn Profile
Viadeo Viadeo Profile (Français)

Conferences/Workshops

Robert Pickering:Robert Pickering's Beginning F# Workshop,  Robert Pickering's Beginning F# Workshop
2 DAY COURSE. Featuring Robert Pickering
London, Monday, May 10th
Progressive .NET Tutorials, Progressive .NET Tutorials
CONFERENCE (3 DAYS)
London, Wednesday, May 12th BOOK NOW!

Badges


Progressive .NET Tutorials 2009

Disclaimer

The views expressed on this weblog are mine and do not necessarily reflect the views of my employer.

All postings are provided "AS IS" with no warranties, and confer no rights.

www.flickr.com
This is a Flickr badge showing public photos and videos from Robert Pickering. Make your own badge here.