Eiffel
September 23, 1985. In the offices of Interactive Software Engineering, a small Californian company in Santa Barbara, Bertrand Meyer works on an internal project that will disrupt many established practices in the world of object-oriented programming. On that day, Eiffel is born, though it will not be until mid-1986 before the first operational version is running.
Meyer does not start from scratch. Since 1973, he has been working with object-oriented concepts using Simula 67. Jean-Raymond Abrial's work on formal specification fascinates him, particularly his original version of the Z language. Liskov, Zilles, and Guttag have broken ground in abstract data types, a field Meyer has explored. The prestigious lineage of Algol 60, Algol W, Pascal, and Ada shapes the general architecture of the new language, while Floyd, Hoare, and Dijkstra contribute their expertise in program proof and axiomatic semantics.
This particular alchemy produces something unusual. In September 1986, at the first "Object-Oriented Programming, Systems, Languages & Applications" conference in Portland, the presentation of Eiffel causes a sensation. The concepts developed surpass what exists at the time, both in industry and research laboratories. Commercialization follows with the internal compiler becoming available in December 1986. Companies and universities can finally get their hands on it.
Version 2 arrives in 1988, the year that sees the publication of "Object-Oriented Software Construction", the book that will propel Eiffel into the spotlight. The 1997 edition, considerably expanded, confirms the language's growing influence. Version 2.3 from 1990 marks the peak of ISE's original technology.
Meyer then makes a bold decision: in 1990, ISE releases the language definition into the public domain. This openness triggers a flourishing of projects—compilers and libraries spring up everywhere. The language undergoes a general overhaul, simplifying in some areas, enriching in others, but retaining its original soul. This remarkable stability makes Eiffel a language that has hardly changed since its 1985 design.
Between 1990 and 1993, the ISE team completely rethinks its technology. Version 2.3 serves as the foundation for this complete reconstruction. ISE Eiffel 3 arrives in 1993 with its graphical development environment, followed by ISE Eiffel 4 in 1997 and Eiffel 5 in 2001. These versions bring their share of innovations: agents borrow from functional languages, introspection examines programs, the Precursor mechanism simplifies repeated inheritance, object creation gains flexibility, and conversion mechanisms are refined.
The BON notation emerges in 1995 with the publication of "Seamless Object-Oriented Software Construction" by Waldén and Nerson. This Business Object Notation extends Eiffel toward analysis and design, in a language understood by managers, analysts, and system architects.
The ecosystem grows. Object Tools in Germany develops Visual Eiffel, successor to Eiffel/S. The University of Nancy offers Small Eiffel as a free version, Halstenbach GmbH markets its own German solution. Libraries proliferate: 3D graphics, lexical analysis with Gobo, DirectX interfaces, variable precision calculation. Every domain finds its solution.
Industries discover Eiffel's virtues. Banking adopts it, finance takes interest, accounting experiments with it. Telecommunications, healthcare, CAD-CAM, simulation, and scientific computing place their trust in it. The Rainbow system at CALFP bank tells this success story: initially designed for derivatives trading, it ends up supervising the majority of banking operations.
Universities embrace the language with enthusiasm. Many faculties make it the first language taught to students. Others integrate it at different levels of the curriculum, encouraged by attractive packages from publishers.
Why this name, Eiffel? Meyer pays tribute to Gustave Eiffel, the engineer who did not merely erect the Parisian tower. The metal framework of the Statue of Liberty in New York, a railway station in Budapest—so many enduring constructions emerged from his workshops. The Eiffel Tower, begun in 1887 for the 1889 Universal Exhibition, respects deadlines and budget. It survives political hostilities, resists attempts at destruction, finds new uses with radio and television. Built from robust and elegant patterns, combined and varied to produce a powerful result, it perfectly embodies what Eiffel accomplishes in the software world.
"Design by Contract" forges Eiffel's identity. This approach advances software construction by founding it on contracts between clients and suppliers. Mutual obligations and benefits are made explicit through assertions, clearly establishing the responsibilities of each component. This philosophy produces more reliable and maintainable software, where each element knows its role and its limits.