Déja auteur de plusieurs contributions, déja évoqué sur nos pages avec P2Ada, Gautier revient avec TeXCAD.
Tâchons den savoir plus !
Bonjour Gautier. Peux-tu te présenter brièvement ?
Je suis mathématicien, jhabite à Zürich (Suisse) et travaille comme actuaire [1] dans une compagnie de réassurances.
TeXCAD est un outil existant. En quoi était-il programmé ?
Il a été programmé autour de 1990 en Turbo Pascal. Cest un outil très commode pour faire toutes sortes de diagrammes en LaTeX. Sa particularité est que le format de fichier nest rien dautre quun bout de code LaTeX contenant un dessin (picture), quon peut inclure dans un texte - directement ou par la commande \input. Ce confort suppose un parser puissant, souple, résistant aux notations «alternatives» et capable de mémoriser les commandes quil ne comprend pas. Cest donc le fruit dun gros travail, mais qui était menacé de disparition parce quétant un programme DOS. Il fallait de plus en plus dacrobaties pour le faire tourner sur les machines actuelles. Comme les sources de TeXCAD 3.2 existent (encore) et que le programme est bon, cétait préférable de les rénover que de repartir de zéro.
![]() Gautier débroussaillant du code |
Pourquoi avoir changé pour Ada ?
Il y a mille bonnes raisons (que jexplique de long en large sur cette page Web) de passer du Pascal vers lAda. Le Pascal «de base» a été une étape importante et nécessairement éphémère dans lhistoire de la programmation et je lui souhaite une bonne retraite. Il y a bien sûr en circulation toutes sortes dextensions du Pascal, mais elles ne sont pas satisfaisantes : sur des points essentiels, elles ne sont pas encore au niveau de lAda 83 ; les palliatifs à la rigidité du Pascal sont souvent mal conçus, brisant sa cohérence et le typage fort ; enfin, et cest le plus ennuyeux, on a affaire a une myriade de dialectes incompatibles. Pour TeXCAD, le passage du Pascal à lAda nétait pas en soi indispensable, comme il lest pour du calcul numérique, mais plutôt commode. Il sagit de pouvoir produire des versions Mac, Linux, Unix ou Windows avec une base commune et bien sûr davoir quelque chose qui puisse évoluer et être utilisable dans 10 ou 20 ans. La disponibilité dun environnement de programmation à la fois professionnel et gratuit (GNAT), ainsi que de bibliothèques dinterfaces graphiques également gratuites a fait le poids. En somme, un exécutable TeXCAD peut être obtenu avec des données (compilateur, sources, bibliothèques) entièrement gratuites et disponibles sur le Web. Pour moi cest idéal ! La conversion des sources a été très simple : un petit coup de P2Ada, amélioré pour loccasion, et je me suis retrouvé avec des sources Ada dans lesquelles il était facile de piocher.
As-tu dautres idées pour TeXCAD, ou comptes-tu en rester là ?
Il y a encore à faire : quelques défauts hérités de la version originale, des détails pour la version Windows, des commandes de LaTeX à implémenter. Des idées me parviennent déjà de la part dutilisateurs... Limportant sera de garder cet outil aussi simple que possible, tout en le faisant évoluer.
![]() Paysage après une exception non traitée |
Pourquoi avoir choisi GWindows ?
Pour Windows, il y a un certain nombre denvironnements (à ma connaissance : CLAW, JEWL, GWindows, GtkAda). Jai fait un petit prototype dans chacun dentre eux pour sonder la faisabilité et voir honnêtement sur quelles difficultés on bute. Jai aussi pensé au confort de lutilisateur, à la facilité dinstallation, et toutes sortes de paramètres «hors programmation». Sans entrer dans les détails, cest GWindows qui sen sort haut la main. Maintenant, pour dautres plateformes, cest une autre histoire.
Tes contributions semblent montrer ton intéret pour linfographie. Cest un de tes sujets favoris ?
Si tu penses à Engine_3D eh bien oui, javoue avoir un faible pour la réalité virtuelle, surtout quand on peut construire le décor, faire un travelling, jouer sur la focale, les éclairages, les effets spéciaux. En plus, comment voir la puissance de la programmation mieux quen contemplant des millions de pixels rafraîchis 30 fois par seconde ? Cest planant... Ça ma aussi permis de découvrir quAda et optimisation ne sont pas contradictoires, loin de là !
Que ta-t-il manqué le plus pour tes développements dans Ada ?
Quand jai commencé à programmer en Ada en 1996, cétait un peu limite. Ada nétait pas vraiment sorti du nid et il allait probablement y rester... En quelques années, leffet combiné de la norme Ada95, de GNAT, dInternet, des processeurs rapides (important si le compilateur est lent !) a beaucoup changé le tableau. Évidemment, Ada gagnera à être mieux connu ; il y a encore du pain sur la planche...
Quattends-tu de la prochaine révision de la norme ?
Une clause "with and use X(,Y) ;" qui signifie "with X(,Y) ; use X(,Y) ;" ou bien "with X ; use X ; (with Y ; use Y ;)" (à définir par les juristes !).
Quels sont tes autres projets ?
En tout cas, un jeu en 3D (graphisme basé sur OpenGL).
Et en quel langage les réaliseras-tu ? :-)
Je ne suis pas sectaire. Du moment que jai le choix, il faut en tout cas quil soit modulaire, lisible, portable, non propriétaire et correctement typé. Il faut aussi un compilateur, des outils gratuits et au moins une petite communauté dutilisateurs.
Alors quelque chose me dis que nous aurons loccasion den reparler sur Ada-France !
Merci Gautier.
[1] actuariat : calcul des risques liés à une couverture dassurance pour en établir la prime