|
The Eiffel Programming Language
Free
resources updated everyday:
XXXLINKSXX
The Eiffel programming language was created by Bertrand Meyer and developed by his company, Interactive Software Engineering (ISE) of Goleta, CA in 1985. Eiffel has evolved continually since its conception on September 14, 1985 and its first introduction in 1986. Eiffel is named after Gustave Eiffel, the engineer who designed the Eiffel Tower. The developers of Eiffel like to compare themselves to the well-built structure of the Eiffel Tower. The Eiffel Tower was completed on time and within budget, which should happen if you use Eiffel for your software projects.
Significant Language Features
There are several significant language features of Eiffel:
- Portable- this language is available for major industry platforms, such as Windows, OS/2, Linux, UNIX, VMS, etc...
- Open System- includes a C and C++ interface making it easily possible to reuse code previously written.
- "Melting Ice Technology"- combines compilation, for the generation of efficient code, with bytecode interpretation, for fast turnaround after a change.
- "Design by Contract"- enforced through assertions such as class invariants, preconditions and postconditions.
- Automatic Documentation ("Short Form")- abstract yet precise documentation produced by the environment at the click of a button.
- Multiple Inheritance- a class can inherit from as many parents as necessary.
- Repeated Inheritance- a class inherits from another through two or more parents.
- Statically Typed- ensure that errors are caught at compile time, rather than run time.
- Dynamically Bound- guarantees that the right version of an operation will always be applied depending on the target object.
Areas of Application
Eiffel is used in many application areas, such as:
- Telecommunication Systems
- Teaching Purposes
- Rapid Prototyping
- Financial Applications
Sample Program
Source Code: (Hello World)
-------------------------------------------------
the HELLO_WORLD class (hello_world.c)
-------------------------------------------------
class HELLO_WORLD
creation
make
feature
make is
local
io:BASIC IO
do
!!io
io.put_string("%N Hello World!!!!")
end --make
end -- class HELLO_WORLD
-------------------------------------------------
program to run HELLO_WORLD class (hello_prog.pdl)
-------------------------------------------------
program hello_prog
root
HELLO_WORLD: "make"
cluster
"./"
end
include "$EIFFEL_S/library/lib.pdl"
end -- hello_prog
|
|