Eiffel is an advanced object-oriented programming language that is derived from Simula and Ada. Eiffel was created by Bertrand Meyer and developed by his company, Interactive Software Engineering . Eiffel is named after Gustave Eiffel, the engineer who designed the Eiffel Tower.
Since its first introduction in 1986, Eiffel has been under continual evolution. Eiffel is more than just a language but rather it is an environment for creating robust software. Eiffel supports the concept of "Design by Contract" and the use of assertions to improve software reliability. Eiffel is smaller than C++ ( Eiffel Syntax ) but at the same time provides the same expressiveness.
The aim of Eiffel is to improve the quality of software systems and the productivity of the development process. It particularly promotes the production of software that has the following qualities: reliability (absence of bugs) extendibility (ease of change) reusability (reliance of libraries of packaged components) and portability (adaptability on many platforms with full source compatibility). Eiffel also makes it possible to produce compilers, such as ISE's, which generate extremely efficient code.
Eiffel is a pure object-oriented programming language. Modularity occurs at the level of a class.
Eiffel contains the following
I decided to download and try EiffelBench for Windows NT from ISE. They provide a fully functional version for 30 days. It takes up about 7MB in zip form. The distribution comes with an IDE and a two tutorials. One tutorial explains how to use the IDE. The other goes over the Windows Eiffel Library (WEL). The EiffleBench system requires that you have a C compiler available on your system. It works with Microsoft and Borland compilers. The system works by taking Eiffel source into EiffelBench, the front end which then uses your C compiler as a back end. When you compile code it automatically creates a makefile and then starts a make process to finish the compilation.
I found that the tutorials were well written, but some of the examples did not work. They don't mention that you must build the WEL before you attempt to try and create a Windows application. This takes about an hour so be forewarned. I found that compilation time is rather slow even for their sample applications.
Some schools are even using Eiffel in their departments take a look at Rochester Institute of Technology, they have an on-line tutorial. Also take a look at the fifteen lesson guide to using Eiffel.
Here is an example that will create a window using EiffelBench
class
APPLICATION
inherit
WEL_APPLICATION
creation
make
feature
main_window: WEL_FRAME_WINDOW is
-- Create the application's main window.
once
!! Result.make_top ("My application")
end
end -- class APPLICATION