Le futur de C# ?
Le problème de la PDC, quand on y est pas et qu’on est curieux, c’est qu’il faut attendre les vidéos des sessions pour savoir ce qui s’est vraiment passé. Symptôme de naïveté : croire qu’on pourra s’en sortir grâce à la blogosphère. Sérieusement, et je reste sur l’exemple spécifique de C# 4.0, 80% des billets qui sont sortis jusqu’à présent à ce sujet ont simplement contribué à rendre l’écho plus pénible. Un peu partout on peut tomber sur des réactions constructives du genre :
The dynamic keyword is going be abused so much… C# is on its way to becoming PHP.
Introduction à Mono.Cecil : Implémenter INotifyPropertyChanged
Vous allez probablement m’en vouloir à force, mais j’ai décidé de continuer mes expériences autour d’INotifyPropertyChanged
. Cette fois-ci, en utilisant Mono.Cecil pour faire un peu d’IL rewriting. Où comment tisser un aspect sans utiliser de framework AOP. Comparée à celle basée sur PostSharp.Laos, cette solution a un inconvénient majeur : elle est plus roots.
En revanche, aucune autre méthode à ma connaissance ne permet d’obtenir un tissage aussi fin. Par fin, j’entends spécifique, propre, non pollué par le code que génèrent les outils d’AOP classiques pour supporter les mécanismes d’interception. Donc les performances seront à la clé puisqu’une fois l’assembly retravaillé avec Cecil, il ne sera plus possible de faire la différence entre son code IL et celui qui aurait été généré si nous avions implémenté INotifyPropertyChanged
à la main. Le développement aura juste été un peu plus cher…
ALT.NET en France : Mono à Paris pour la 7ème rencontre
Mardi dernier a eu lieu la réunion ALT.NET parisienne du mois de novembre. Généralement, on s’arrange pour que cela tombe le premier mercredi de chaque mois mais cette fois ci nous avons préféré supporter une exception pour bénéficier de la présence de Jean-Baptiste Evain, de passage à Paris. Ce dernier travaille à plein temps pour Novell, en tant que contributeur sur le projet Mono. Oui, vous avez le droit d’être jaloux, en comptant le QA ils doivent être une trentaine. Dans le monde.
(more…)
Utiliser l’AOP avec PostSharp pour implémenter INotifyPropertyChanged
J’ai ce billet dans mes drafts depuis un moment, et il serait peut-être bon de l’en sortir avant qu’il ne soit trop tard… Dans un post récent, je parlais de l’interface INotifyPropertyChanged
, en donnant un exemple d’implémentation basée sur les lambda expressions et les expression trees qui permettait d’obtenir une solution fortement typée.
L’AOP peut également être une solution, et peut-être même le meilleur compromis pour peu que l’on en tire partie correctement. Suite à un commentaire de Jb, j’ai essayé de voir ce que pouvait donner l’utilisation d’un tisseur statique comme PostSharp dans ce cas précis.
(more…)
INotifyPropertyChanged sans les strings, ça vous dit ?
INotifyPropertyChanged
est une interface mal nommée, mais utile. Elle est principalement utilisée lorsqu’on veut mettre en place un databinding bi-directionnel entre un objet et un contrôle Winforms. Le contrôle graphique est par défaut capable de mettre à jour la ou les propriétés de l’objet auquel il est bindé. Par contre, pour qu’il puisse lui-même se mettre à jour lorsque l’objet sous-jacent est modifié, il faut que ce dernier lance l’évènement PropertyChanged
défini par l’interface INotifyPropertyChanged
. Et pour que… OK, j’arrête, vous savez déjà tout ça.
(more…)
ALT.NET en France : Encore et toujours des rencontres à Paris
Nous avons dépassé la mi-septembre, mais j’aimerais dire deux mots à propos de la rencontre ALT.NET Parisienne qui a eu lieu au début du mois, comme tous les mois. Il y avait Robert Pickering, Julien Lavigne du Cadet, Mathias Kluba, Gauthier Segay, Maxence Dislaire, Romain (dont j’ai oublié le nom), et moi-même. J’ai trouvé la réunion particulièrement intéressante, même si nous étions un peu moins nombreux que la dernière fois.
(more…)
(InvokeRequired + Invoke) < SynchronizationContext
Tous les développeurs savent qu’il faut être prudent lorsqu’on est en Corée du Nord ou lorsqu’on s’amuse avec les Winforms dans un contexte multi-threads. On ne doit pas, plus précisément, accéder à un contrôle graphique à partir d’un thread différent de celui dans lequel il a été créé. Ceux qui ont essayé (tous, je crois) ont découvert qu’une InvalidOperationException
était levée :
(more…)
CIL Programming, presque under the hood of .NET
J’ai terminé il y a quelques semaines la lecture d’un des seuls livres publiés au sujet du langage intermédiaire de la plateforme .NET. J’ai nommé CIL Programming, Under the hood of .NET de Jason Bock.
Je me suis appliqué, un parfait cover to cover, mais je le regrette un peu. Il ne doit pas être évident d’écrire un livre sur un sujet aussi chiant particulier, donc je ne peux raisonnablement pas être aussi acerbe que déçu. Car j’ai été assez déçu.
(more…)
ALT.NET en France : Rencontre Parisienne #3
Je vous en avais parlé : la troisième rencontre ALT.NET Parisienne elle a eu lieu mercredi dernier, en (très) petit comité. Nous étions seulement trois : Robert Pickering, Mathias Kluba, et moi-même. La faute à l’été et aux congés ; il n’y avait pas de foot ce soir là.
(more…)
Lettre ouverte à Microsoft à propos d’Entity Framework
David Laribee a laissé un message sur le groupe de discussion ALT.NET, indiquant que plusieurs personnes avaient travaillé à la rédaction d’une lettre ouverte à Microsoft, au sujet de sa solution ORM en devenir : Entity Framework.
Cette lettre, qui prend forme d’une pétition, a pour but d’attirer l’attention sur les principales faiblesses du framework. Il ne s’agit pas d’une condamnation, mais plutôt d’une synthèse argumentée qui tente de regrouper les critiques ayant mobilisé le plus de voix au cours des derniers mois.
(more…)
5 comments