Description #
Eiffel is an object-oriented compiled language designed to support software engineering best practices, including design by contract, strong typing, and reusability. It emphasizes correctness and maintainability in large-scale applications.
History #
Eiffel was developed in 1985 by Bertrand Meyer and released by his company ISE (Interactive Software Engineering). It was created to address the growing complexity of software systems, introducing “design by contract” to ensure software correctness through enforceable contracts between components.
Hello World Code #
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, World!%N")
end
end
How to Run #
Option 1: Online
https://www.tutorialspoint.com/compile_eiffel_online.php
Option 2: Local
- Install EiffelStudio
- Create a new project and run via IDE
Key Concepts #
- Syntax style: Verbose, English-like keywords
- Typing discipline: Strong, static
- Execution model: Compiled to C, then to native code
- Common use cases: Enterprise software, modeling, safety-critical systems
- Toolchain or ecosystem: EiffelStudio, ECF project files
- Paradigms supported: Object-oriented, contract-based design
- Compilation details: Eiffel → C → Machine code
- Strengths or quirks: Design by Contract, automatic garbage collection, multiple inheritance
- Libraries/frameworks: EiffelBase, Gobo, ISE tools
- Community/adoption: Niche but loyal, mostly in academic and formal software circles
Try It Online #
https://www.tutorialspoint.com/compile_eiffel_online.php
Fun Facts #
Eiffel was one of the first languages to implement design by contract, a principle that inspired later languages like D and influenced formal methods in software engineering. It was also one of the first languages to support multiple inheritance with clear rules.