Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS, MAUI

Le journal des TechEd : Jour 5 - The End

Ca y est... C'est (déjà) fini Frown On aimerait tellement en voir plus, avoir plus de temps pour suivre tout...
83 conférences dans ma sélection, juste une poignée suivies, les TechEd devrait durer 1 mois !

Heureusement qu'à partir de la semaine prochaine les vidéo seront en ligne en attendant le DVD... En fonction de ma sélection, cela fait une bonne centaine d'heures... De quoi occuper les longues soirées d'hiver Laughing.

J'ai suivi aujourd'hui une conférence sur un langage un peu exotique, F#, vous connaissez ? Un dérivé de ocaml (Objective Caml) un style différent appelé "programmation fonctionnelle orientée objet". Avantage de F#, il fonctionnera sous MONO aussi. La conférence TLA405 se titrait "Parallel and Asynchronous Functional Programming on  NET with F#", tout un ... programme.
Simple curiosité ou langage d'avenir ? Je ne saurai vraiment pas le dire. C'est en tout cas la curiosité qui m'a amené à voir cette session, je suis content, je sais ce que c'est maintenant et je pourrai frimer à la machine à café "comment ? quoi ? tu ne connais pas F# ? quel hasbeen tu fais mon pauvre xxxxx (à remplacer par le nom du pauvre gus qui se trouvera là) !".

Non je plaisante, s'ouvrir l'esprit en regardant toujours ailleurs est certainement la qualité la plus importante du développeur, et peut-être la moins bien partagée quand on voit comment parfois les gens se cloisonnent et s'accrochent à leur savoir, à "leur" langage (comme s'ils l'avaient écrit eux-mêmes), à "leur" IDE... C'est en regardant C#, comme ça, pour m'informer que j'ai basculé vers .NET... 
Mais bon, là, je n'échangerai pas mon baril de C# contre deux de F#. Intéressant, certes, mais un peu trop exotique à mon goût. Mais faites-vous votre propre opinion en visitant la page du labo de recherche de Microsoft qui a planché sur ce nouveau langage.

Plus ardue mais passionnante, fut la conférence Win401 "Deep Reflection - Things You Really Need to Know About Reflection 2 0". Il s'agissait de voir en profondeur la réflexion sur certains aspects comme la façon d'inspecter les génériques ou même de créer des génériques au runtime.. La génération de code avec CodeDOM a été très instructive et il a fallut s'accrocher lorsque le speaker a décidé de nous entraîner dans le code IL et les méandres de la CLR. Je ne suis pas certain qu'après une semaine de conférences avoir choisir de clore par cette session était une excellente idée, j'ai la tête farcie Tongue out !

Les techEd sont terminées, mais en réalité seule la partie visible de l'iceberg vient de fondre : le plus gros du travail est à venir. Trier, digérer l'information, voir et revoir les vidéos, tester au calme chaque aspect démontré dans chaque conférence, en tirer la substantifique moëlle, et vous faire partager tout cela au travers d'articles à venir...

Pour le moment, c'est le sas de décompression : une soirée calme avec quelques rougets bien frais achetés à la Boqueria que je vais accompagner d'un riz le tout arrosé d'un bon rouge local ! Demain direction Figueras et le musée Dali, impossible d'en être si près sans aller voir les oeuvres du maître.

L'année prochaine, venez aux TechEd (qui auront lieu ici encore très certainement) et réservez-vous du temps pour voir du Picasso, du Dali, les maisons de Gaudi et toutes les splendeurs de Barcelone. Participer à une conférence sur F# ne suffit pas pour prétendre s'ouvrir l'esprit, l'art, les gens, sentir l'atmosphère d'une ville, d'une nation, c'est aussi important, je dirais même mieux, sur le plan personnel et humaniste, la visite d'une maison de Gaudi vous marquera à vie, alors que dans 20 ans vous ne vous souviendrez plus du paragraphe plus haut sur F# !

La suite bientôt sur ce blog... Du C#, du LINQ, du WPF, du Silverlight, vous n'avez pas fini de m'en entendre parler !

Le journal des TechEd : Jour 4

L'avant dernière journée de cette course folle s'achève...

Sélectionner les bonnes conférences est toujours délicat. Je vous parlais dans un précédent billet de l'excellente idée de Microsoft de filmer toutes les breakout sessions qui se retrouveront ainsi en video sur le DVD de la conf et dans l'attente de ce dernier qui seront téléchargeables sur le site des TechEd.

Mais il y a une autre façon de présélectionner les conférences, en téléchargeant les slides sur la page "My event" (à laquelle tout participant a accès avec son login). Les slides sont souvent "légers", beaucoup de speakers n'y mettent qu'un minimum préférant la démo en live au texte des diapos. Malgré tout cela permet de se faire une idée plus précise du plan que suivra le conférencier et d'affiner sa sélection.

Parmi les conférences de la journée, TLA403 "Loose coupling in practice - Composite UI Application block (CAB) in the real world" a retenu mon attention. Elle présentait notamment le "Smart Client Software Factory" dont la V2 est sortie en mai dernier, un ensemble de classes et d'outils facilitant la conception d'applications modulaires. La V2 intègre la gestion des CAB pour la distribution des modules. Vous pouvez télécharger la SCSF et ses sources sur Codeplex ou sur la page officile chez Microsoft: http://msdn2.microsoft.com/en-us/practices/bb190387.aspx .

La session présentée par David Platt était doublée dans l'après par une autre conf sur le même sujet présentée par Mario Szpuszta (TLA406). Je n'ai pas assisté à cette dernière qui, selon les slides, faisait intervenir Workflow Foundation dans les patterns proposées. Une conférence qu'il sera bon de visionner lorsque sa video sera mise en ligne donc...

La conférence TLA303 présentait le Visual Studio 2008 Shell et la façon de créer son propre IDE en se basant sur ce noyau. je n'ai suivi que le tout début préférant voir ce contenu en video plus tard car au même moment se tenait la TLA407 "Dealing with concurrency and multi-core CPUs with today's developement technologies", ou bien en français "comment gérer la concurrence et les microprocesseurs multi-coeurs avec les technos actuelles". Une conférence dense, très intéressante qui méritera une seconde écoute au calme quand la vidéo sera en ligne...

Bref, une journée encore bien chargée... Après 4 jours de conférences en anglais on se surprend à retrouver dans ses notes des paragraphes entiers notés en anglais sans s'en être aperçu.. L'immersion linguistique, c'est aussi un autre avantage des conférences internationales comme les TechEd !!

A demain pour le dernier jour !

 

Le journal des TechEd : Jour 3

Encore une journée bien chargée...

Les conférences se succèdent, les sessions "Ask the experts" sont particulièrement riches en information pointues, une sorte de forum de discussion ouvert avec des experts de tout bord, de quoi satisfaire les participants qui sont venus non seulement s'informer mais aussi trouver des réponses précises à des questions techniques précises.

Mais revenons au journal des TechEd, que je vous livre au jour le jour, en direct de Barcelone. Il sera bien temps à mon retour, et une fois la masse d'information digérée, de prendre la plume pour quelques articles techniques qui seront mis en ligne gratuitement ici et sur le site www.e-naxos.com.

Parmi les choses les plus spectaculaires, je ne peux m'empêcher de vous livrer une petite photo d'une conférence sur LINQ. LINQ est un rêve devenu réalité, un pont établi entre deux mondes, le langage d'une part et les données d'autre part. Il y aura dans l'histoire des langages informatiques un avant LINQ et un après LINQ, c'est une évidence. Je vous en reparlerai souvent je pense dans les papiers à venir...

Microsoft étant passé maître dans l'art d'organiser des conférences de cette ampleur, il y avait ce soir le "country drink", une petite soirée festive offerte aux participants des TechEd, pays par pays. Pour les français c'est au MIX que cela s'est déroulé, un lieu entre bar branché et discothèque. Boissons diverses et variées à volonté, tapas originaux et délicieux servis en parallèle par des serveuses ayant un charme hispanique certain...

Quand je vous disais qu'il fallait venir !

A demain pour d'autres nouvelles !

Le journal des TechEd : Jour 2

Deuxième jour des TechEd.

Le programme est toujours aussi passionnant, Barcelone est toujours aussi belle...

Côté sessions, si lundi était un casse-tête, mardi ne fait que poser des cas de conscience ! Tout est intéressant :
Les nouveautés de SQL server 2008, la conception d'applications sécurisées avec WPF, leframework 3.5 de A à Z, design d'applications riches avec WPF, LINQ to sql, les transactions distribuées (voir mon papier sur le ce sujet dans les articles à télécharger), Silverlight 1.1, la sécurité du CLR sous framework 3.5, etc, etc...

Côté Barcelone, tout est chouette (sauf ce soir ou demain un match de foot qui visiblement mobilise la ville avec des supporters anglais - les pires - qui envahissent rues et cafés en beuglant de moins en moins juste et de plus en fort au rythme de leur alcoolémie croissante...).

Un petit tour au Marcat de la Boqueria, un magnifique marché (mais cher) où l'on trouve des fruits de tous horizons, du poisson bien frais, de la charcuterie espagnole délicieuse et du bon vin... Tout ce qu'ill faut pour faire un bon repas avec des amis !

Demain est un autre jour, mais on sait déjà qu'il se terminera en beauté puisque vers 19h30 commence une petite soirée sympa entre français organisée par Microsoft pour nous dans un bar qui est parait-il pas mal du tout... Vous en serez plus demain soir (tard), so, stay tuned !

Le journal des TechEd : Jour 1

ça y est ! La ruche bourdonne !

C'est parti pour 5 jours infernaux, des centaines de conférences, des cameramen pour chaque grande session pour préparer le DVD des confs, des partenaires exposants, bref, une grand messe réglée à la Microsoft : ultra pro.

Tout y est, du beau sac garni (voir le billet d'hier) au plan de Barcelone accompagné d'un plan de métro/tram/bus et de deux passes de dix voyages (l'équivalent de deux carnets de métro parisien). Microsoft a pensé à tout pour que ce séjour soit aussi studieux qu'agréable.

 

Tout est prévu pour un accueil sympathique malgré la foule, espace de repos, espace de travail avec connexion Wifi, distributeurs gratuits de bouteilles (eau, sodas divers), thé et café à tous les étages, pommes, donuts, fruits secs espagnols, toilettes impeccables (vu la foule il faut vraiment le souligner), bref le participant finirait par se prendre pour un GM au club med..

J'utilise le conditionnel, car si le GM ne pense qu'à la bronzette et à la détente, le participant aux TechEd lui, pense boulot ! Parmi toutes les conférences difficile de faire son choix, on voudrait toutes les voir !

Heureusement, Microsoft a la aussi pensé à tout puisque, comme je le disais, tout (ou presque) est filmé. D'abord c'est une retransmission en direct à l'extérieur de nombreuses salles: on se promène et on peut voir et écouter ce qui se passe sans entrer... démarche intéressante. Ensuite les vidéos seront disponibles aux participants sur le net, et enfin elles seront gravées sur le DVD envoyés dans 6 semaines. On pourra donc tout voir, ce qui est génial. De fait on peut fonctionner "au coup de coeur", suivre son envie de l'instant en étant presque certain qu'on ne loupe rien. Certaines sessions non enregistrées peuvent être ainsi visitées, même si on leur porte un intérêt moindre car les "breakout sessions" seront elles sur le DVD. Une approche réellement séduisante laissant une plus grande liberté de choix, sans stress d'avoir fait le mauvais.

Les adeptes de la nicotine se retrouvent dehors lors des breaks :

Beaucoup de choses intéressantes donc, les nouveautés de VS 2008, LINQ ou bien le développement avec Silverlight ne sont qu'une petite partie des thèmes abordés. Que des bonnes choses à venir...

Impossible bien entendu de faire le rapport détaillé des conférences , et puis cela ne serait pas loyal pou ceux qui ont fait le voyage jusqu'ici, je vous le dit depuis le début : il fallait venir ! Durant ces quelques jours je vais tenir un journal des techEd, je dirais même "mon petit journal égoïste des TechEd". Pour les grands papiers techniques où UML remplacera Picasso, et où la rigueur du fond tranchera avec la légèreté des courbes des maisons de Gaudi, il faudra attendre mon retour !

Il n'y a pas que les conférences bien entendu, il y a aussi Barcelone, belle le jour, belle la nuit. Picasso, Miro, Gaudi, de pures merveilles à voir et à revoir partout, mais je vous en reparlerai demain..

 

TechEd: Arrivée sur site !

Le journal des TechEd 2007 est ouvert !

Ce billet est écrit depuis l'apart que j'ai loué près des Ramblas de Barcelone..
Phase 0 : installer la Wifi (du Tele2) fournie avec l'apart mais pas sorti de sa boite ni configurée.

 J-2 : Arrivée à la frontière

Voyage en voiture

La ruelle de l'apart, en plein centre mais calme (bouclée au deux bouts par une grille).

Info pour ceux veulent louer dans Barcelone : ils comptent les entresols, du coup un 1er étage sans ascenceur (acceptable) devient un 2ème ou 3ème étage de chez nous... Et là c'est moins drôle si on est chargé ! (heureusement il y a un ascenceur dans mon immeuble, le 2d correspond bien à un 3/4eme étage français...).

J-1 : l'enregistrement avec le badge :

Une armée de réceptionnistes sympatiques. S'enregistrer le dimanche évite la foule, ça s'est passé en deux secondes. Efficace l'organisation Microsoft !

Au passage on récupère un joli sac garni ! Bien rembourré pour y glisser un portable sans risque de choc, et surtout le logo des techEd et celui de VS 2008 !

Il va y avoir des jaloux, mais il fallait venir !

Le plus important commence demain avec les premières sessions, je vous en parlerai lundi soir, comme on dit "stay tuned" !

Les sources du framework .NET publiées avec VS 2008 !

Voilà une bonne nouvelle : Microsoft va intégrer les sources du framework 3.5 dans Visual Studio 2008, notamment pour faciliter le debug.

Pas d'erreur toutefois: le framework ne devient pas "open source" pour autant, on a tout juste le droit de regarder les sources et de s'en servir pour debugger une application.

Nul doute aussi que la lecture du code source du framework permettra de mieux le comprendre, de s'inspirer des solutions et patterns utilisées pour sa conception et ainsi d'écrire un code encore plus en harmonie avec cette plateforme.

L'annonce de cette bonne nouvelle a été faite sur le blog de Scott Guthrie qui est General Manager chez MS et qui s'occupe notamment des équipes en charge du développement du CLR, de ASP.NET, de Silverlight, WPF, IIS 7.0, etc, etc. Un Monsieur sérieux et influent dont l'annonce vaut bien engagement et qui permet de prendre cette nouvelle très au sérieux. Les anglophones peuvent bien entendu lire la totalité de l'annonce sur le blog de Scott.

kick it on DotNetKicks.com

Une instruction méconnue de C#

Quelques mots sur un opérateur méconnu de C# qui pourtant s'avère très efficace..

Vous connaissez la syntaxe: x = (test) ? (sivrai) : (sifaux);
Cela permet en une instruction d'attribuer la valeur "sivrai" ou "sifaux" à x selon le résultat du test. Cela est très pratique et clarifie la lecture du source comparativement à l'utilisation d'un if/else.

Mais connaissez-vous la version courte de cet opérateur conditionnel ?

Le cas d'utilisation est très fréquent dans un code bien protégé : il s'agit en général d'affectuer une valeur à une variable si la valeur est non nulle, sinon d'affecter une valeur par défaut. Exemple :
string s = variable==null ? "chaîne nulle" : variable;
Ici on se protège contre le fait que la variable "variable" peut être nulle. Dans ce cas on affecte à "s" une chaîne par défaut, sinon on affecte "variable". L'utilisation de l'opérateur ?: se justifie pleinement ici (si on suppose par exemple que "variable" est un paramètre passé à la méthode en cours qui peut, même si cela n'est pas prévu, être passé à null). Cet opérateur rend l'écriture plus concise que l'utilisation de if/else qui serait:
string s; 
if (variable==null) s="chaîne nulle"; else s=variable;

Mais il y a encore plus court !

Le cas évoqué étant très fréquent, C# propose un autre opérateur conditionnel, le ??.
Ce dernier est spécialement étudié pour tester les nuls.
De fait, notre test exemple s'écrit désormais :
string s = variable ?? "chaîne vide";

En réalité l'opérateur ?? a surtout été ajouté pour gérer les types nullables. Lorsqu'on affecte une variable nullable à une autre qui ne l'est pas, il est en effet nécessaire de tester le null pour éviter une exception.
Exemple :

int? a = null; 
int y = a ?? -1;

ici, "a" est un integer nullable, que nous initialisons d'ailleurs à null, alors que "y" est un integer "standard" ne pouvant pas prendre la valeur nulle. L'utilisation de ?? est donc obligatoire ici pour éviter l'exception.
On comprend mieux la raison d'être de cet opérateur ajouté dans C# 2.0 puisque c'est dans cette version qu'on aussi été ajoutés les types nullables.

Néanmoins cette instruction très peu utilisée et méconnue rend aussi service en dehors du contexte des types nullables, notamment avec les types objets qui eux sont nullables depuis toujours. Notre exemple avec une variable string en est une illustration.

Bon développements ! (truffés désormais de "??" qui vous feront passer pour un guru de C# :-) )

Nouvelle rentrée, nouveau blog !

Bienvenue à toutes et à tous !

"Vous mé réconnéssé ? " Laughing

Pour ceux qui ne savent pas qui je suis, en deux mots : dirigeant de e-naxos, auteur de plusieurs ouvrages sur Delphi et C# chez Eyrolles, partenaire Borland de longue date (même si depuis le tournant Codegear nos voies se sont séparées), partenaire Microsoft. Ceux qui fréquentent ces milieux m'ont reconnu.

Ce nouveau blog, installé sur mon propre serveur, va me permettre de m'exprimer avec le maximum de liberté.

Non pas que le blog que je possède de longue date sur Developpez soit spécialement censuré, mais vous savez ce que c'est, il ne faut pas froisser untel, ou tel autre qui prend la mouche parce qu'on ne dit pas que du bien de tel produit ou éditeur ... Censure réelle ou auto-censure, le résultat est le même.

J'avais donc besoin d'un espace autogéré, j'ai trouve BlogEngine, un très beau moteur de blog open source en C#, et voilà comment est né Dot.Blog ! Blog avant tout technique, mes humeurs n'y seront pas donc forcément absentes mais Dot.Blog ne sera pas un blog d'opinion. 

C#, le framework .NET, Visual Studio, SQL Serveur, Silverlight, Ajax, Linq, sont autant de sujets qui me viennent à l'esprit et qui feront bientôt l'objet de billets ici.

Alors marquez cette page et revenez souvent y lire et y commenter les billets !

A très bientôt,

Olivier