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).
Mike Flasco starts by executing an application that downloads the slides from the cloud.....
Search Server 2008 is a new brand for SharePoint Server 2007 for Search.
Todays, applications are facing mainly three challenges : distributed work, code coordination leading to complexity, and, finally, the management and the tracking of these applications is not trivial.
This general session was about how to reduce cost and carbon by sharing the infrastructure. Pat Helland also showed how the new Microsoft DataCenter will be build in Chicago and the new concept of containers for the servers. This datacenter will contain 100000 servers compartimented in 50 separated containers.
This presentation, held by Bjorn Erik Olsrod from FAST, starts by explaining that the FAST ESP Web Part, able to interact with the FAST Search engine, is available for free on CodePlex and start with a first demo showing how to use it.
Andrew Connell, MOSS MVP, starts by exposing some of the actual problems we can encounter when deploying a MOSS publishing site. First, when browsing such site, IE displays a warning message saying that the Name ActiveX must be trusted and installed on the client machine in order to see the web site, which is really not ideal. For that, there is a workaround explained in the MS KB 931509.
Page Output Cache is not activated by default. Enabling it will allow the generated HTML to be stored in RAM. Specific profiles can be created to apply to specific sites.
Roy Osherove is also one of my favorite speaker....and, once again, while waiting for the start of his presentation, he plays guitar (Nirvana, for example), which is a good for a wake up session :-)
With this number of framework, the ideal would be to have a merge between the testing frameworks and the isolation frameworks, but it is going to be difficult. Unit testing framework have no faking capabilities while Mocks frameworks have no running capabilities.
Hadi Hariri started by explaining that the ASP.NET MVC framework is based on the routing mechanism that has been part of the ASP.NET frameword itself since the beginning, meaning that it is available for webforms development as well. The only thing is that the ASP.NET MVC framework relies on the MvcHttpHandler class. Basically, routing are declared in the Global.asax file ordered from the more restrictive routing first to the generic one. Like we do for exception catching, meaning that if the most generic routing is declared first, this will be the only one that will be used. Routing can use constraints, such as regular expression or even on custom classes, implementing the Match method. Then, during the first demo, Hadi shows us hot to define routes using constraints and how to debug such routing. One of his advice is to always test routing. Indeed, most of the issues are coming from wrong route declaration.
