Eiffel, [1] the clean, strongly typed, truely object-oriented programming language - so its supporters say. Eiffel was designed by Bertrand Meyer in 1985 and first sold as a commercial product by Eiffel Software (part of his company ISE - Interactive Software Engineering) in 1986. Its unique characteristic is "Design by Contract" (DBC), the ability to define semantics conditions of methods in the language itself, but the language contains many other interesting ideas.
The Eiffel Software offers the development environment EiffelStudio for free for non-commercial use. However, preferring open source tools, I've used SmartEiffel (formerly known as SmallEiffel) on Linux. This is sufficient for our small examples which do not require a full blown IDE, but you should be able to run the examples in EiffelStudio as well.
SmartEiffel is part of most Linux distributions (Debian in my case), and the installation does not pose any problem. SmartEiffel first precompiles the Eiffel code to C, and then calls the C compiler to create the executable. This is done transparently for the Eiffel developer. All you have to do is set the environment variable SmallEiffel to the location of the SmallEiffel library (in my case /usr/lib/smalleiffel) and call se-compile.
[1] | Yes, Eiffel is named after Gustave Eiffel, the engineer who created the famous tower for the 1889 world fair. |