Eiffel
23 septembre 1985. Dans les bureaux d’Interactive Software Engineering, une petite société californienne de Santa Barbara, Bertrand Meyer travaille sur un projet interne qui va bousculer bien des habitudes dans l’univers de la programmation orientée objet. Ce jour-là naît Eiffel, mais il faudra attendre le milieu de l’année 1986 pour voir fonctionner la première version opérationnelle.
Meyer ne part pas de rien. Depuis 1973, il manipule les concepts orientés objet avec Simula 67. Les travaux de Jean-Raymond Abrial sur la spécification formelle le fascinent, particulièrement sa version originale du langage Z. Liskov, Zilles et Guttag ont défriché le terrain des types de données abstraits, un domaine sur lequel Meyer a planché. La lignée prestigieuse Algol 60, Algol W, Pascal et Ada forge l’architecture générale du nouveau langage, tandis que Floyd, Hoare et Dijkstra apportent leur expertise sur la preuve de programmes et la sémantique axiomatique.
Cette alchimie particulière produit quelque chose d’inhabituel. En septembre 1986, à la première conférence « Object-Oriented Programming, Systems, Languages & Applications » de Portland, la présentation d’Eiffel fait sensation. Les concepts développés surpassent ce qui existe alors, tant dans l’industrie que dans les laboratoires de recherche. La transformation suit avec la commercialisation du compilateur interne dès décembre 1986. Les entreprises et universités peuvent enfin s’en emparer.
La version 2 arrive en 1988, année qui voit paraître « Object-Oriented Software Construction », le livre qui va propulser Eiffel sur le devant de la scène. L’édition de 1997, considérablement étoffée, confirme l’influence grandissante du langage. La version 2.3 de 1990 marque l’apogée de la technologie originale d’ISE.
Meyer prend alors une décision audacieuse : en 1990, ISE libère la définition du langage dans le domaine public. Cette ouverture déclenche une floraison de projets, compilateurs et bibliothèques éclosent un peu partout. Le langage traverse une période de refonte générale, se simplifie par endroits, s’enrichit par d’autres, mais conserve son âme originelle. Cette stabilité remarquable fait d’Eiffel un langage qui n’a guère changé depuis sa conception de 1985.
Entre 1990 et 1993, l’équipe d’ISE repense entièrement sa technologie. La version 2.3 sert d’amorce pour cette reconstruction complète. ISE Eiffel 3 débarque en 1993 avec son environnement de développement graphique, suivi par ISE Eiffel 4 en 1997 et Eiffel 5 en 2001. Ces versions apportent leur lot de nouveautés : les agents empruntent aux langages fonctionnels, l’introspection scrute les programmes, le mécanisme Precursor simplifie l’héritage répété, la création d’objets gagne en souplesse et les mécanismes de conversion s’affinent.
La notation BON surgit en 1995 avec l’ouvrage « Seamless Object-Oriented Software Construction » de Waldén et Nerson. Cette Business Object Notation étend Eiffel vers l’analyse et la conception, dans un langage que comprennent gestionnaires, analystes et architectes système.
L’écosystème grandit. Object Tools en Allemagne développe Visual Eiffel, héritier d’Eiffel/S. L’Université de Nancy propose Small Eiffel en version libre, Halstenbach GmbH commercialise sa propre solution allemande. Les bibliothèques foisonnent : graphisme 3D, analyse lexicale avec Gobo, interfaces DirectX, calcul à précision variable. Chaque domaine trouve sa solution.
Les secteurs d’activité découvrent les vertus d’Eiffel. La banque l’adopte, la finance s’y intéresse, la comptabilité l’expérimente. Les télécommunications, la santé, la CAO-FAO, la simulation et le calcul scientifique lui font confiance. Le système Rainbow de la banque CALFP raconte cette success story : conçu initialement pour le trading de produits dérivés, il finit par superviser la majorité des opérations bancaires.
L’université s’empare du langage avec enthousiasme. Nombreuses sont les facultés qui en font le premier langage enseigné aux étudiants. D’autres l’intègrent à différents niveaux du cursus, encouragées par les packages attractifs des éditeurs.
Pourquoi ce nom, Eiffel ? Meyer rend hommage à Gustave Eiffel, l’ingénieur qui ne s’est pas contenté d’ériger la tour parisienne. L’armature métallique de la Statue de la Liberté à New York, une gare ferroviaire à Budapest, autant de constructions durables sorties de ses ateliers. La Tour Eiffel, entamée en 1887 pour l’Exposition universelle de 1889, respecte délais et budget. Elle traverse les hostilités politiques, résiste aux tentatives de destruction, trouve de nouveaux usages avec la radio et la télévision. Construite à partir de motifs robustes et élégants, combinés et variés pour produire un résultat puissant, elle incarne parfaitement ce qu’Eiffel accomplit dans l’univers logiciel.
Le « Design by Contract » forge l’identité d’Eiffel. Cette approche fait évoluer la construction logicielle en la fondant sur des contrats entre clients et fournisseurs. Obligations et bénéfices mutuels s’explicitent par des assertions, établissant clairement les responsabilités de chaque composant. Cette philosophie produit des logiciels plus fiables et maintenables, où chaque élément connaît son rôle et ses limites.