Difference between revisions of "Reasons for using Eiffel"
m (→Reasons for Eiffel: More reasons) |
m |
||
Line 1: | Line 1: | ||
[[Category:General]] | [[Category:General]] | ||
− | The step away from the main stream of languages is a difficult one. Leaving common | + | The step away from the main stream of languages is a difficult one. Leaving common ground is worrying. There is always the need to justify unorthodox decisions. This page tries to capture reasons to convince you, your friends, you boss, your client or your grandmother to use Eiffel and EiffelStudio. |
== Reasons for Eiffel == | == Reasons for Eiffel == |
Revision as of 04:21, 20 November 2006
The step away from the main stream of languages is a difficult one. Leaving common ground is worrying. There is always the need to justify unorthodox decisions. This page tries to capture reasons to convince you, your friends, you boss, your client or your grandmother to use Eiffel and EiffelStudio.
Reasons for Eiffel
- Eiffel is object-oriented
- While you might think that every modern language is calls itself object-oriented, there are very few languages that have the object-oriented paradigm so deeply integrated into the language as in Eiffel. Eiffel was built around object-orientation. Objects just feel right in Eiffel. Contracts make you understand inheritance. Even if you will change to another language later, object-orientation will never be the same to you once you have developed in Eiffel.
- Eiffel is fast
- Eiffel compiles to C, which is then directly translated to the machine code of your target platform. With that you can exploit the full speed of your target architecture. Eiffel can be used in embedded environments, in
- Eiffel has a garbage collector
- Memory management is very error prone. Detecting memory leaks is a tedious job that can endanger the reliability of the application. Eiffel was designed from the start to be a language that uses garbage collection. That way, developers do not have to free memory explicitly. EiffelStudio offers a fast moving garbage collector.
- Eiffel is mature
- Development on Eiffel started in 1985, long before Java (1991) or C# (2001). During more than two decades, Eiffel has been constantly improved and revised.
- Eiffel is standard
- Eiffel is standarized by ECMA standard 367, ISO/IEC DIS 25436
- Eiffel is strongly typed
- Eiffel offers strongly typed. By this, it can detect conceptual errors much easier than C++ or Smalltalk.
- Eiffel has powerful constructs
- Eiffel offers constructs like generics (somewhat like Templates) or agents (also known as delegates), constructs where have only recently been added to Java 1.5 or C# 2.0. Also, Eiffel has some unique concepts like Design by Contract or full-featured multiple inheritance.
- Eiffel is highly portable
- EiffelStudio has been ported to nearly all major operating systems, from Windows, MacOS X, Linux, FreeBSD to VMS. Protable libraries like EiffelVision2 make it possible to write applications for one platform and compile it for any other platform.
- Eiffel is built on 'Design by Contract'
- Design by Contract (DbC) is what made Eiffel famous. Using DbC, you can clearly define what your implementation expects from and what it provides to the caller. This behavior is checked at run-time, making it much easier to find bugs. The contracts are also used from documentation and play an important role for inheritance.
Reasons for EiffelStudio
- EiffelStudio is open-source
- ...
- EiffelStudio is supported by a company
- ...
- EiffelStudio has a power IDE
- ...
- EiffelStudio offers incremental compilation
- ...
- EiffelStudio adds run-time checking
- ...
- EiffelStudio has a powerful interactive debugger
- ...
- EiffelStudio allows you to draw UML and BON diagrams
- ...