Saturday, 9 February 2008

F# for Scientists now being published!

We have completed our latest book F# for Scientists and sent the final version to the publisher, John Wiley & Sons, this week. The book will reach bookstores all over the world in the coming months.

This is our second book on non-mainstream programming languages in recent years and, for various reasons, many such languages are currently booming.

Our previous book OCaml for Scientists covered the OCaml programming language, which is a close relative of F#, and is targetted primarily at technical users (scientists and engineers) using the Linux and Mac OS X platforms.

In contrast, F# for Scientists targets primarily Windows users and covers many new topics from invaluable language features like extensible operator overloading with type inference and active patterns to important practical concerns like interoperability with Microsoft Excel and the use of existing .NET libraries for number crunching and real-time interactive visualization.

We would like to take this opportunity to thank the people involved in this work, without whom this book would never have seen the light of day. Don Syme and his F# group at Microsoft Research Cambridge (UK) for creating what is a truly awesome development tool. We have no doubt that F# will have an enormous effect the world over, not only in technical computing but for general software development. Also, Robin Milner, Xavier Leroy and their groups for their pioneering work in creating this whole family of languages.

Over the coming months we shall endeavour to put as much of the code from the book as possible on the book's web page, including compiled versions of all of the demos.

Finally, we hope you have as much fun reading our book as we had writing it. Thank you!


yledu said...

Dear Jon Harrop,

Great news ! Had your book on OCaml, now will buy that on F#. However, a bit disappointed to read it's not tuned for Linux...

1/ Generally, does the code run on Mono ?

2/ How does Mono compare to .NET performance-wise for the code in the book (when it runs !) ?

3/ Does it benefit from 64 bits architecture ?

4/ Can we make use of multiple cores ? Do you explain how to do this in the book ? If so, is the multi-core code compatible with mono ?

5/ Does it run properly on VMWare, including 64 bits ? Dual core VMWare ?

6/ Do you have bundled versions of F# for scientists and the F# journal ?

Best regards,


Flying Frog Consultancy Ltd. said...

Wow, that's a lot of questions! Glad you liked OCaml for Scientists, Yann. That is still our best selling product!

Overall, I will say that this book is definitely aimed at Windows users. Many of the examples use Windows Forms, DirectX and commercial libraries like Extreme Optimization, ComponentXtra and F# for Visualization that are only available for .NET.

I appreciate that Linux is still the defacto-standard for technical computing these days, and OCaml remains a serious contender, but Microsoft are having a major push at technical computing on .NET and I must say that their results have impressed me enormously, to the extent that I now use F# and Windows almost as much as I use OCaml and Linux! I believe the first product release of F# later this year, with its glitzy development environment, may well make F# the gold standard for technical computing.

To answer each of your questions:

1. Yes, most of the code is standalone and runs on Mono.

2. Mono is much slower and less reliable than .NET. Indeed, when considering how we might build our own technical computing environment, I evaluated Mono and was so disappointed with it that I decided we would not even try to support it. I am actually seriously worried about the lack of open source future-proof tools in this context. Linux are about to lose a lot of developer market share in the move to multicore...

3. I expect migrating to a 64-bit system to show the same performance improvements that other languages generally benefit from, i.e. particularly in the context of numerical computing. However, I have not had the chance to benchmark this myself yet.

4. Yes, yes and yes! F# and .NET are awesome tools for parallel computing and this is covered in the book.

5. I have no idea if these programs will run on VMWare but if anyone tries it, I'd love to hear!

6. Microsoft commissioned us to write this book for John Wiley & Sons, so we are not responsible for its publication and cannot do deals with our own products as a consequence. However, you can still benefit from our existing special offers and we are highly likely to create more F# and .NET products because these have been successful for us in the past.

Many thanks,
Jon Harrop.

AN said...

Congratulations on getting the book done! I can't wait to read it -- it seems like it's going to focus on some useful areas that Expert F# doesn't concentrate on.

Art said...

Thanks and congratulations Jon.
I'll be adding it to my growing F# library.
Looking forward to future developments!


Anonymous said...

veepzuhuifzzmfvwpo; nail fungus treatment, OopuQMU?

Anonymous said...

Damn, certainly great post. How will I get your subscription?

Nicky Stepman
cam finder