About Eiffel
Eiffel is an ISO-standardized, object-oriented programming language .
The design of the language is closely connected with the Eiffel programming
method. Both are based on a set of principles, including design by contract, command-query
separation, the uniform-access
principle, the single-choice
principle, the open-closed
principle, and option-operand
separation.
Many concepts initially introduced by Eiffel later found their way
into Java, C#, and
other languages. New language design ideas, particularly through the Ecma/ISO standardization
process, continue to be incorporated into the Eiffel language.
A Little History
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
Why Eiffel?
- Eiffel is arguably the best commercial object-oriented language available today.
---Jim Rumbaugh et al. in
Object-Oriented Modeling and Design, Prentice Hall 1991.
- Developers who want an object-oriented language that adheres to the keystone principles of software engineering need look no further than Eiffel.
---Peter Varhol in Byte Magazine,
February 1996.
- As a design language, Eiffel continues to be a better model for object- oriented programming than Ada. It is even better than the new Ada 9X standard.
---Richard Riehle in HP
Professional, October 1994, A Tour of Eiffel.
- It took us 7 years to design the Taligent software in C++. If we had had Eiffel as our design and coding environment, we could have done it in 4.
---Jack Grimes, VP, Taligent in a
Keynote speech at the TOOLS USA '95 Conference in Santa Barbara, CA
- There is a big problem with people who say they know C++ - but they don't really know how to do objects. If they have Eiffel on their résumé, then we know they really have the proper understanding of what they are doing.
---Leslie Goff quoting an IT
hiring manager in Computerworld, Object Edge, December 18, 1995.
- We evaluated three major object-oriented languages for the project - Smalltalk, C++ and Eiffel - and chose Eiffel. [...] Rainbow currently comprises over 400,000 lines of code, for about 3000 classes. The developers feel very productive. This was confirmed when Rainbow's financial backers brought in object professionals to audit the project. The auditors evaluated the project during July 1994 and were impressed with the productivity of the Rainbow development group.
-- ---Stephan
in Object Magazine, July-August 1995, Building financial software with object
technology.
References
http://www.irisa.fr/pampa/EPEE/WhyEiffel.html
http://groups.engin.umd.umich.edu/CIS/course.des/cis400/eiffel/eiffel.html
http://en.wikipedia.org/wiki/Eiffel_(programming_language)
http://tecomp.sourceforge.net/index.php?file=doc/lang/tutorial.txt
Group Members
Names Student Number
Ybur Haniel 2010-50662
Jericko Ramilo 2010-15519
Ybur Haniel 2010-50662
Jericko Ramilo 2010-15519
Ivan Matabang 2010-52896
Renee Chiarianne Navarrosa 2010-53164
Charmina Sejalbo 2010-04070
T-2L
No comments:
Post a Comment