Thursday, January 15, 2009

Summary :
F# is a new language that is coming in the pipe of Microsoft for the Visual Studio platform. It aims to tackle the functional programming paradigm eventhough it is possible to use the imperative or object oriented programming.
Robert Pickering starts his book by explaining the basics of F#, how to get and how to use the tools. Then, the book describes the F# syntax to be used in the three language paradigm, functional programming, imperative programming and finally object oriented programming. Among other things, the notion of type inference is presented. Once the syntax is presented, the book describes the way to develop web, windows or even WPF applications using the .NET framework. Data access is also addressed using the current technologies available, such as ADO.NET or LINQ. Then, a quick look at DSLs, compilation and code generation is given, presenting the lex and yacc tools coming with the language. Finally, a full chapter is dedicated to the interoperability between .NET and F#, because even if F# is based on the CLI, the language introduces several types that are not available in the other .NET languages (C# or VB.NET).


Review :
Discovering a new language is really interesting and with F#, it is the occasion to see a new paragigm, functional programming. In really short, with F#, everything is a value, even a function. It means that you can use a function as a function parameter. The concept of type inference is also very attracting. The book is very easy to understand and a lot of little examples are explained in details, making the reading very fast. The first half of the book is dedicated to the language itself. The second half is more on using the .NET framework and I would say that it is the less interesting of the book. Indeed, during the first part, you have came across various examples using types and classes of the framework and user interface development being web or windows, or data access meaning that the second part does not bring a lot a information. Once you know these topics from the .NET documentation or from another book and once you have read how to access the .NET BCL from F#, then this part is pretty straightforward and not really useful. Moreover, the examples used to depict the topics are more explaining how to use the BCL classes than the language itself. Nevertheless, the last parts discussing the interoperability and the possibility of generating DSLs are more interesting.
My final words are that it is a very intersting book if you want to see another land (functional programming). Unfortunately, on my bookshelf, I also have "Expert F#" that I just opened to see what is inside and I saw that it takes the explanations and descriptions of the language from the beginning. If I had knew that before, maybe I would have bought this one instead. So, if the goal is just to scratch the surface of F#, "Foundations of F#" is the best suited, otherwise, if the goal is to go really deeper in the topic, then prefer "Expert F#" (a review of that one will be posted).

Friday, January 09, 2009

Yesterday, the Microsoft's CEO Steve Balmer announced the public availibility of the first beta release of Windows 7. I had a chance to have a quick look at it and the first impression I had was : "it's fast. And ?".


Stop kidding, but if you don't like the Aero style user interface, be prepared to be a bit overloaded. They have put one more layer of Aero and the new glassy toolbar simplifies the application navigation by replacing the multiple application icon by only one and allowing the user to see a preview of the running application when hovering the mouse on the icon.


I played few minutes with it, using minesweeper as well :-) and I like pretty well the user interface, the rapidity and also the fact that it did not crash during the hour I tested it.


A nice little feature is the possibility to display the desktop by just moving the mouse. On the other side, Microsoft says connecting home devices will be really easier than before (home computer). That are only few features that will be in Windows 7. This new version of Windows will probably be released earlier than originally expected in order to try to make people forget about the Windows Vista flop.


Sounds promising...

Tuesday, January 06, 2009

Back to business from some vacations...
First of all, I would like to wish a happy new year and all the best to the readers.


As it is the case every year, people are trying to take resolutions for the new year and I am afraid that I am one of them.
Regarding this blog, I have a couple of points I would like to address this year.


The very first one is to make some cleanup in the blog, such as clearing the spam in the trackbacks and reorganizing the categories.
Then, I would like to upgrade to the last version of the engine, v2.2, released last october.
One goal I would like to achieve this year is to be more active and posting more regularly. Once a week for example. This is going to be quite challenging, I know that already, because the goal is to produce content but not only for the sake of writing stuff.
Finally, and this is something pending since few years now (since I left LooKware in fact), the main web site really needs to be put online. On this side, some work needs to be done to find the right look and feel and also to write the content.


Quite a lot on the plate, and I hope that at the end of 2009, most (all) of the points will be addressed.