Difference between revisions of "Eiffel Glossary"

(Removed Procedure definition from Routine.)
(Added dependence on other libraries from library)
Line 8: Line 8:
 
; Feature : An operation (command or query) applicable to all instances of the class, and specified in the class text. Routines and attributes are examples of features.
 
; Feature : An operation (command or query) applicable to all instances of the class, and specified in the class text. Routines and attributes are examples of features.
 
; Function : In a class, a feature with an associated algorithm that returns a result. A pure function or query does not affect the state of its object.
 
; Function : In a class, a feature with an associated algorithm that returns a result. A pure function or query does not affect the state of its object.
; Library : A group of related classes, devised to cover all the facilities needed in a certain application areas. A library is made of a number of clusters. For example a math library may be composed of clusters devoted to random number generation, linear algebra, integration, etc.
+
; Library : A group of related classes, devised to cover all the facilities needed in a certain application areas. A library is made of a number of clusters and may depends on other libraries. For example a math library may be composed of clusters devoted to random number generation, linear algebra, integration, etc.
 
; Procedure: In a class, a feature with an associated algorithm that does not return a result directly but often changes the state of the object associated with the Procedure
 
; Procedure: In a class, a feature with an associated algorithm that does not return a result directly but often changes the state of the object associated with the Procedure
 
; Routine : In a class, a feature with an associated algorithm, so that calling the feature executes that algorithm. A Routine takes zero or more arguments.
 
; Routine : In a class, a feature with an associated algorithm, so that calling the feature executes that algorithm. A Routine takes zero or more arguments.

Revision as of 17:49, 29 November 2006

Eiffel uses a precisely defined terminology. That terminology sometimes sounds strange to programmers used to other languages, but it's only because (1) there has been a systematic effort to classify object-oriented concepts in a logical way; (2) some of the terms predate terminology that is used in other languages. You will see, however, that behind every choice of term there is a carefully devised rationale.

Please try to keep the list sorted alphabetically.

Attribute 
A property of a class that denotes a field present in each instance of the class.
Cluster 
A group of logically related classes that have something in common. The corresponding class texts are generally stored in files of a single directory.
Feature 
An operation (command or query) applicable to all instances of the class, and specified in the class text. Routines and attributes are examples of features.
Function 
In a class, a feature with an associated algorithm that returns a result. A pure function or query does not affect the state of its object.
Library 
A group of related classes, devised to cover all the facilities needed in a certain application areas. A library is made of a number of clusters and may depends on other libraries. For example a math library may be composed of clusters devoted to random number generation, linear algebra, integration, etc.
Procedure
In a class, a feature with an associated algorithm that does not return a result directly but often changes the state of the object associated with the Procedure
Routine 
In a class, a feature with an associated algorithm, so that calling the feature executes that algorithm. A Routine takes zero or more arguments.