Difference between revisions of "Reasons for using Eiffel"
m (→Reasons for Eiffel) |
(Added links to Eiffel Software pages) |
||
Line 1: | Line 1: | ||
[[Category:General]] | [[Category:General]] | ||
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. | 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. | ||
+ | |||
+ | You can also read the following articles from Eiffel Software for more reasons: | ||
+ | * [http://docs.eiffel.com/eiffelstudio/general/guided_tour/other/why_eiffel.html Why your next project should use Eiffel] | ||
+ | * [http://docs.eiffel.com/eiffelstudio/general/guided_tour/other/one_minute.html 1-Minute Summary] | ||
== Reasons for Eiffel == | == Reasons for Eiffel == |
Revision as of 08:47, 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.
You can also read the following articles from Eiffel Software for more reasons:
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 or on mainframes. Eiffel competes with C and C++ in terms of speed, not with Java or C#.
- 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 standardized by ECMA standard 367, ISO/IEC DIS 25436
- Eiffel is strongly typed
- Eiffel offers a static type system. By this, it can detect conceptual errors much easier than with language with a weak or no type system like C++ or Smalltalk.
- Eiffel has powerful constructs
- Eiffel offers constructs like generics (somewhat like Templates) or agents (also known as delegates), constructs that were only recently 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. Portable 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
- ...