De retour du lunch, j’ai poursuivi avec la suite Introduction à WPF/Silverlight et XAML, le soutien de la programmation parallèle et le Test-Driven-Design (TDD). J’attendais la conférence sur la programmation parallèle avec impatience.
Sous la Surface
Les « cours » de l’après-midi commencent avec des exemples de codes utilisant WPF et des démonstrations tout aussi « cools » les unes que les autres. Et c’était bien ainsi alors que la digestion de l’instance du lunch inspiré du motif 1233 draine presque toutes mes ressources internes et que la salle est bondée (faisait chaud!)
À défaut d’avoir la « Surface » sous nos yeux, nous avons du nous contenter de démos filmés. Fait intéressant, l’application du motif MVC permet la portabilité des interfaces utilisateurs du Web, à Windows 7 et à la Surface, bien sûr.
Alors que la Surface n’est pas encore disponible au grand public, j’ai avec moi une mini-surface en permanence: mon iPod Touch. Grâce à petit bidule, j’avais toute la programmation de DevTeach sous les doigts… et un mini-simulateur de vol (X-Plane) pour remplir les temps morts, en avion par exemple…
Univers parallèle
Le saviez-vous? La loi de Moore est de plus en plus difficile à appliquer car il n’est plus possible d’augmenter la cadence des microprocesseurs sans les faire brûler. La solution? Mettre plus de processeurs sur le même bout de silicium.
Malheureusement, les logiciels commerciaux sont en retard et nos machines ne fonctionnent pas à leurs pleins potentiels. Durant la seconde séance de l’après-midi, j’ai appris ce qui est disponible ou sera disponible pour implanter des algorithmes de traitement parallèle. Il existe des classes semblables à celles du System.Threading, mais pour lancer des tâches parallèles.
Quelques démos de calcul scientifique et de synthèse d’images par lancer de rayons ont démontré le gain en vitesse d’exécution dans le cas de calculs intensifs. C’est un début, mais il faudra penser à l’avenir en terme algorithmiques (récursivité, diviser pour régner) plutôt qu’en termes impératifs.
La compilation de grands projets est parfaitement adaptée à la règle « diviser pour régner ». Curieusement, les compilateurs Microsoft ne le font pas, à moins que Windows ne se charge de distribuer les lots de traitement équitablement.
TDD
De retour à la suite « Agile », je termine l’après-midi avec une conférence sur le design centré sur les tests. Le principe est simple :
1. Écrire un test unitaire pour que la classe à implanter échoue au test
2. Corriger le problème
3. Répéter 1 et 2 autant de fois que nécessaire
Le problème est de savoir quand s’arrêter.
La réponse est pourtant simple : ça dépend des exigences et puis, est-ce que ça vaut la peine d’investir des efforts pour traiter un cas d’exception improbable?
Peut-être pour des applications de pointe, comme en aviation, mais ce n’est pas le domaine pour la majorité des participants au DevTeach.
Il paraît qu’après avoir commencé à penser en mode TDD, on ne peut plus s’en passer et tout code légué sans tests devient suspect. J’ai téléchargé nUnit, un logiciel libre de test pour Do Dièze (C#). Faut que j’essaye ça.
J’ai appris un autre truc intéressant : vu que j’écris lentement, c’est plus rapide pour moi de prendre les acétates les plus intéressantes en photo (sans flash, sinon le résultat est nul). Un exemple :

L’après-convention
L’après-convention
Re-pub, pis deux autres bières, comme le disait la chanson du groupe Offenbach.
Après le pub, une petite marche à la marina pour y prendre quelques photos : l’air marin, les mouettes, le soleil couchant, c’est chouette.
« C’est pas l’homme qui prend la mer, c’est la mer qui prend l’homme »,
« Il est fier mon navire, Il est beau mon bateau… »
Tatatsin, et tout le reste. Vive Renaud…
« C’est pas l’homme qui prend la mer, c’est la mer qui prend l’homme »,
« Il est fier mon navire, Il est beau mon bateau… »
Tatatsin, et tout le reste. Vive Renaud…
… Et puis c’est tout.
Aucun commentaire:
Enregistrer un commentaire