Introduction↗
On February of this year, Paris hosted the third edition of the Microsoft TechDays. Over three days more than 16,000 visitors discovered new products and technologies presented by Microsoft through over 300 technical sessions.
This document summarizes some of the attended sessions.
Developers Introduction.↗

This first session addressed mainly developers. Nothing really new was presented; the goal was more to put emphasis on existing tools or products.
Visual Studio 2008 has been confirmed as the central tool for all kinds of developments: Windows, Web, and Mobile. All kinds of projects are now clearly centralized within that tool. You can even find a plug-in to develop with PHP. Any developer would also notice that most of presentations made during these 3 days have been actually made using Studio 2010.
The new Surface device has been presented. All your developments can be done using the WPF framework. A famous French cartoonist was even invited to create strip boards in real time just with his fingers.
The speakers have also spent a lot of time explaining the vision of Microsoft regarding Cloud computing with its Azur platform and the importance Software & Service technology is going to take in the next months or years.
Windows 7↗

This session was a quick introduction to the new Windows 7 operating system.
Unfortunately, the date of the commercial release has been not announced.
Anyway, most of the speakers are already using it. The emphasis has been put on several aspects.
They seemed to be really happy about the comments made on the public beta version all around the world.
They have ensured full compatibility with Vista regarding the applications as the same kernel has been re-used.
They made some nice presentations about the new UI and mainly around window management on the desktop. The multi–touch is natively fully supported.
It seems a lot of effort have been made to improve and simplify security.
They have insisted on the fact that you will not need to upgrade your hardware. They have even presented an EEEPC running Windows 7 ?!
They tried to explain that for enterprises, migration to Windows 7 will be possible whatever the Operating system is actually present.
Even if it has been said that this migration will be easier from Vista, it seems they do not really push for this step.
Moreover with the latest rumors about the Windows 7 schedules it may be worth to wait.
Windows Embedded CE 6.0↗

This was a small session more dedicated to people that already work with Windows CE 5. Important improvements have been made on the Operating System Architecture. CE 6.0 supports about 32000 processes with 2GB of Virtual Memory for each one, while the previous version could handle only 32 processes with 32Mb.
Now the creation of an Operating System for a dedicated target can be totally made from Visual Studio 2005. Actually, they did not mention 2008.
New tools are also available to facilitate debugging of your drivers and applications. Anyway, the main difficulty of this kind of development is still the construction of the BSP which means writing the drivers compatible with your hardware platform.
WF4↗

This session presented the fourth evolution of the Windows Workflow Foundation (WF 4).
I attended mainly out of curiosity, hoping to get a better understanding of a technology that can feel quite unusual for a developer who spends most of his time writing code..
Workflow Foundation is an API used to describe processes through a graphical language. With it, you define a model that represent your process, using flowcharts and state machines diagrams.
WF 4 introduces several important improvements:
- A new host, called
Dublinis now provided to run workflows. Previously no dedicated host existed, and wokflows had to be executed through IIS using ASP.NET or SharePoint. - Serialization was a major issue in earlier versions. Saving and restoring the state of a workflow was difficult and often painful. Significant work has been done to improve this aspect. Developers can now rely on explicit serialization contracts, making state persistence far more predictable and manageable.
Developing métier applications with Windows Presentation Foundation↗

Microsoft is actively promoting its WPF technology, encouraging developers to adopt it even though it requires moving beyond the relatively recent WinForms mode.
Most part of this session was a hands-on exercise focused on binding business-layer code to a simple XAML based user interface. The main message was the strong separation of concerns (improved in the latest version of WPF) between developers and designers.
This technology is worth investigating. Browsing the web will give you a good idea of the kind of beautiful and sophisticated user interfaces designers can create when working on top of a data‑binding tree supplied by developers.
Parallel Programming in .Net↗
Multiple-core programming is becoming a key concept for the future of scientific computing. Microsoft is currently developing new libraries that will be used internally and integrated into Visual Studio 2010 as part of CLR 4.0.
This integrated library can be used as a replacement for traditional thread-based programming. It provides built-in multi-core scheduling and background taks management.
Early tests have shown average performance gains of 3x to 4x on dual-core processors when using parallel algorithms.
From a development perspective, replacing portions of existing code with calls to this library is relatively straightforward. However, most of the effort will be focused on rethinking the architecture of your algorithms to optimize parallel execution paths.
Example:
for(int i = 0 ; i < length ; i++)
{
…
}
//replace by:
Parallel.For(0, length, i=>
{
…
});
Presentation of C# 4.0↗
C# 4.0 is a new big step for this language. Version 3.0 brought us LINQ, now the emphasis has been made on the dynamic concepts.
A new type called dynamic has been created. You can guess it by its name its resolution will be made during execution, not compilation.
Example:
dynamic calc = GetCalculator(); //get it by a factory
int sum = calc.add(10,20);
Some other examples were developed on dynamic programming and also with dynamic language runtime ‘DLR’ (over CLR). Some new languages were already created on this platform like ruby.net for example.
Some new features were also presented like optional parameters for methods.
Example:
public static void ExampleMethod(int a, int b=10, int c=20, int d=30)
{
…
}
//you can now call as you want:
ExampleMethod(10,15,25,35);
ExampleMethod(10,15,25); //default d=30 will be used
ExampleMethod(10,15); //default c=20 and d=30 will be used
ExampleMethod(10); //default b= 10, c= 20 and d=30 will be used
Or named parameters which let us call parameters we want in the order we want!
Example:
public static void ExampleMethod(int a=5, int b=10, int c=20, int d=30)
{
…
}
//you can now for example default values and a specific second parameter
ExampleMethod(b: 15);
Theses new additions have a good impact on COM interoperability. Now we can also make automatic COM mapping. Some other improvements of C# deserve better investigation like co and contra-variance.
A last but important detail: CLR will go to version 4.0 !