Tuesday, September 25, 2012

Eiffel


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 contractcommand-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 JavaC#, 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

Sample Hello World Program



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
Ivan Matabang                          2010-52896
Renee Chiarianne Navarrosa               2010-53164
Charmina  Sejalbo                     2010-04070
T-2L

No comments:

Post a Comment