Archives par mot-clé : .net

Framework de développement de Microsoft.

Managed extensibility framework

I went yesterday to the MS Techdays and the most interesting talk I listen to was about MEF.

Introduced last year
, MEF is a « Managed extensibility framework » by Microsoft. It is a framework that helps to develop pluggable components in MS .net.

Similarly to the IoC design pattern, a given behaviour is not implemented directly in the core of the program. Instead, it relies on an interface, and the implementation is provided by another module. Martin Fowler wrote several years ago a very good article to introduce Inversion of control and dependency injection.

In Java such frameworks have been around for a while, have a look on Spring or Google Juice for instance.
Continuer la lecture de Managed extensibility framework

Premières impressions sur .net

Je suis en train de découvrir le monde .net.

Le langage C#

Mes premières impressions sont assez neutres sur le langage C#. Il n’y a rien de révolutionnaire (par rapport à Java 5 en tout cas).

La notion de delegates est assez sympathique, même si j’ai l’impression que les Design patterns Observer et Strategy permettent de répondre aux mêmes besoins en Java.

La gestion des threads à l’air plus simple en C# également.

C# permet aussi de gérer les pointeurs, comme en C++. Toujours proche du C++, C# permet de surcharger les opérateurs. Cela permet d’écrire des choses comme

Personne.Nom = "Haba";
Personne.Prenom = "Bart";

tout en faisant en réalité appel à des méthodes. C’est strictement équivalent en Java à
Personne.setNom("Haba");
Personne.setPrenom("Bart");
.
On peut apprécier (le code est écrit de façon plus « élégante »), mais je préfère les conventions de Java qui reflètent mieux ce qui se passent (on ne modifie pas directement l’attribue de classe).

La gestion des bibliothèques a l’air assez bien conçue (mais Microsoft ne pouvait pas vraiment faire pire que l’actuel DLL hell) et le mécanisme de signature a l’air plus homogène que celui des jar. ClickOnce est une copie de JavaWS, mieux intégrée à Windows.

L’IDE Visual Studio 2005

Concernant l’IDE en revanche, je suis assez déçu. Certes l’interface est jolie, mais ce n’est pas pour cela qu’elle est ergonomique.

Et surtout ça ressemble plus à un éditeur de texte qu’à un environnement de développement. Il n’y a pas de détection d’erreur à la volée, la complétion automatique est beaucoup moins puissante que dans Eclipse, sans parler des quickfixes…

Bon, je compléterai sans doute bientôt!

Compte rendu du symposium DNG

J’étais arrivé en avance, je n’ai donc pas manqué le début de la première conférence, malgré les petits problèmes logisitiques (vestiaire débordé et sécurité élevée due à la présence de l’homme le plus riche du monde). Pour commencer, donc, Jean-Louis Bénard (Brainsonic) et Eric Groise (Amazon) ont parlé d’industrialisation logicielle et ont présenté Visual-Studio-Team-quelque-chose comme un superbe outils qui répond à toutes les problématiques du développement logiciel : référentiel commun, respect de la méthode de travail (libre mais qui doit être formalisée), architecture (SOA). Cependant, j’ai des doutes sur quelques points. Par exemple, la notion de référentiel commun (qui n’est pas franchement une nouveauté) apporte-t-elle quelque chose? Certes, le manager peut voir le nombdre de bugs ouverts, mais il ne va sans doute pas s’intéresser à leur détails ; on ne gagne rien par rapport aux réunions d’équipe (à la différence des modules SAP qui s’appellent les uns les autres de façon virale).

Ensuite, Sami Jaber (qui est le fondateur de DotNetGuru) a parlé d’un sujet sur lequel on croyait tout savoir: les architectures n-tiers. Avec les technos d’aujourd’hui, il a montré comment le développeut métier pouvait écrire du « code pur cocaïne », principalement grâce à l’utilisation d’un framework technique maison. Il a aussi présenté Indigo (version moderne de COM basée sur XML et webservices) et la future version de c#.

Avant la pause déjeuner, un mec de Microsoft a présenté un peu trop longement Windows Vista et sa Windows Presentation Fondation. Pour résumer, l’écriture des GUI sera réduite à l’écriture d’une description XML et ressemblera un peu à ce que propose Gnome depuis des lustres avec glade. Et il faudra une machine affreusement puissante pour faire tourner une interface pleine de gadgets, dont plusieurs « inspirés » de Mac OS X Tiger.

Thomas Gil (qui a quitté Valtech et est maintenant indpendant) a poursuivi avec une présentation de Linq et XLinq, des langages de requêtes intégrés dans le langage de programmation. J’ai été très déçu par cette présentation: j’ai déjà admiré Thomas quand il expliquait des choses complexes de façon limpide, mais sur Linq, je n’ai rien compris… Sébastien Ros a enchaîné avec Dlinq, qui parle de la même chose, mais en faisant un mapping sur une base de données relationnelle (ouf, Oracle n’est pas à jeter).

Très hype, Didier Girard (de Improve, le « Java guy » derrière application-servers.com) et Julien Brunet (Noga) présentaient les clients riches. Avec tous les buzz words du moment (ajax, Client riche, RIA, Eclipse RCP, etc.) ils m’ont très intéressé (étude IHM au boulot oblige). Je retiens leur vision du futur: le « bureau métier », aujourd’hui sur Eclipse RCP ou CAB et surAvalon WPF à partir de 2007…

La dernière présentation était celle de Jean-Marc Prieur (a href= »http://www.defense.gouv.fr/sites/marine/ »>Marine nationale) qui a expliqué comment ils ont dépassé les manques d’UML avec les Domain Specific Languages (DSL). Sa présentation était très vivante et pleine d’humour. J’ai beaucoup aimé.

Last but not least, Bill Gates est passé pour une table ronde d’une heure (le millardaire était de passage à Paris pour l’inauguration d’un labo de recherche commun avec l’INRIA, et pour parler avec Sarkozy de crimanilité sur Internet). Je ne connaissais pas trop le personnage, mais lui ai trouvé plusieurs points communs avec Woody Allen… Cette table ronde a donné lieu a un échange très prpéparé avec l’équipe DotNetGuru. Dommage que ces derniers aient un niveau en anglais aussi faible, on comprenait à peine les questions. Et dommage que la salle n’ait pas pu participer.

Une journée très intéressante, sans doute même trop dense. Et pour ceux qui n’y étaient pas, les photos, les présentations et la vidéo de la table ronde sont sur DotNetGuru.