mai 2013 (4)

jeudi 30 mai 2013

À propos de atoum #3

S’il y a bien une chose que je n’avais pas du tout anticipée lorsque j’ai libéré le code d’atoum, c’est qu’il provoquerait une coopération entre plusieurs projets.

La documentation d’atoum est en effet actuellement maintenu par Renaud Littolff et il a choisi de la rédiger en SkrivML, un langage de description de page dérivé du markdown et du Creole dévoilé par Amaury Bouchard il y a quelque temps.

Atoum profite donc du travail de Amaury grâce auquel il dispose d’une documentation facile à maintenir et à faire évoluer.

Cependant, cette relation est loin d’être à sens unique.

Lire la suite

mercredi 22 mai 2013

Codez pour être heureux !

La vieillesse est un sujet qui me préoccupe de plus en plus.

Normal, me direz-vous, puisqu’à bientôt 40 ans, je suis plus proche de la fin de ma vie que de son début, statistiquement parlant.

Sauf que même si j’ai de plus en plus régulièrement envie d’avoir à nouveau 20 ans après une activité physique un peu soutenue, ce n’est pas ma vieillesse physique qui me préoccupe réellement, mais ma vieillesse professionnelle.

En effet, cela fait maintenant 13 ans que je travaille, et bizarrement, je pense que l’expérience que j’ai acquise durant cette période est un handicap dans le cadre de mon avenir professionnel pour plusieurs raisons.

Lire la suite

mercredi 15 mai 2013

La programmation n'est pas industrialisable

Mona Lisa en ascii art

Je poursuis ici ma réflexion entamée dans mon précédent billet concernant la difficulté de certaines personnes à comprendre qu’il est impossible de quantifier finement et surtout de manière fiable le temps nécessaire à la réalisation d’un logiciel.

Plus j’y pense, plus je me dis que le problème vient du fait que la personne qui demande un tel chiffrage à un développeur pense que la création d’un logiciel est le résultat d’une industrialisation.

Dans notre contexte, la définition la plus adéquate de l’industrialisation est la suivante, d’après Wikipedia :

L’industrialisation désigne le processus de transfert du processus de création de l’offre au processus de réalisation de l’offre.

En résumé, lors de la phase d’industrialisation d’un produit, l’ensemble de la phase de conception de ce produit a été réalisé et il est donc possible de définir précisément les étapes devant être successivement suivies pour l’obtenir à l’extrémité de la chaîne de production.

De plus, puisqu’au moins un exemplaire du produit existe dans le monde réel à l’issue du processus de création, il est possible de quantifier très précisément les ressources temporelles et matérielles qui seront nécessaires pour sa fabrication à grande échelle.

Enfin, pour la même raison, ses spécifications sont clairement définies et il est donc possible de s’y référer afin d’effectuer tout au long de la chaîne de fabrication des contrôles précis pour vérifier la qualité du produit final.

Lire la suite

mardi 7 mai 2013

Programmer, c'est jouer au Lego… ou pas !

LEGO Minecraft par Dunechaser

Depuis l’avènement de la programmation orientée objet, le développement d’un logiciel suivant ce paradigme de programmation peut être assimilé à la construction d’un modèle de Lego.

En effet, tout comme le joueur de Lego manipule et assemble des briques en plastiques pour réaliser sa construction, le développeur manipule et assemble des briques logicielles pour réaliser son programme.

Mais il y a cependant quelques différences importantes entre les deux.

Lire la suite