mercredi 2 janvier 2008

Variables métasyntaxiques

Pour démarrer l'année en beauté, un petit article ultra-technique sur un point essentiel de la programmation informatique : les variables métasyntaxiques.





Variables Métasyntaxiques ???

Il s'agit en fait très bêtement des noms "classiques" que l'on donne aux variables et fonctions pour des exemples de code ! En français, le plus connu étant toto (immanquablement suivi de titi, tata et tutu et parfois tonton). Je me suis toujours demandé pourquoi, mais il fallait bien choisir quelque chose... Le dernière réponse d'un éminent informaticien que j'ai obtenue ressemblait à "Pourquoi toto ? Pourquoi pas ! Mais si ça peut te faire plaisir, on va mettre titi !".

En anglais : foo


L'article de Wikipedia à ce sujet nous apprend également l'origine des équivalents anglophones de toto : foo (que je croyais vouloir dire "Fully Object Oriented"...), bar et baz. foo signifie en fait fucked up, et foobar, parce que fucked up beyond all repair ! Marrant...
Au passage, l'article anglais de Wikipedia à ce sujet est assez bavard sur les nombres les plus souvent utilisés en exemple... Du 42, réponse à la question "Le sens de la vie, l'univers et tout le reste", au 12648430 (COFFEE en hexadécimal...).

Variables implicites en Fortran :

Par ailleurs, l'article francophone de Wikipedia parle d'une petite particularité à connaître en Fortran : les variables implicites. En effet, par défaut, le Fortran accepte l'utilisation de variables sans déclaration de leur type : celles-ci seront typées automatiquement à peu près comme suit :
  • De i à n : INTEGER
  • x, y, z : REAL
  • Les autres : no sé ! (et peut dépendre éventuellement du compilo dans mon souvenir...)
Alors que les choses soient claires, même si ça peut paraître bien utile, en particulier pour les itérateurs (i, j, k...) ou les variables de fonctions (x, y, z), c'est TRÈS MAL ! Et ça explique pourquoi un code "propre" en Fortran comporte quasiment toujours la ligne "IMPLICIT NONE" vers le début (mais après les includes, dont la cible est d'une certaine manière implicite pour le compilateur...).

Et voilà. Rien de prodigieux, mais commencer l'année en étant un peu moins bête (mais un peu alors !), c'est déjà pas si mal !

0 commentaires: