-
Geschrieben am 30.12.2007
The GNU Eiffel Compiler, Tools and Libraries
-
Geschrieben am 30.12.2007
Jedes Jahr eine neue Programmiersprache lernen, ist der Vorsatz. Ein Kandidat, Eiffel:
- An object-oriented program structure in which classes serve as the basic unit of decomposition.
- Design by contract, tightly integrated with other language constructs.
- Automatic memory management, typically implemented by garbage collection.
- Inheritance, including multiple inheritance and mechanisms to make inheritance safe (renaming, redefinition, "select", and non-conforming inheritance).
- Generic programming, constrained and unconstrained.
- A uniform type system handling both value and reference semantics, where all types including basic types such as INTEGER are based on classes.
- Type safety (static typing).
- "Void safety" (static protection against calls on null references) through the mechanism of "attached types".
- "Agents" (objects wrapping computations, closely connected with closures and lambda calculus).
- "Once" routines (evaluated only the first time around), for object sharing and decentralized initialization.
- Keyword-based syntax in the ALGOL/Pascal tradition but separator-free (semicolon is optional); operator syntax available for routines.
- Case insensitivity.
Aus
Wikipedia: Eiffel (programming language)