Power of Eiffel
Statically typed and strongly typed.
Dynamically bound, inheritance,multiple inheritance, ADTs,polymorphism,classes and objects.
Garbage Collection--programmer controlled or automatic
Data types include Boolean, Character, Integer, Double, Real, String, Bits(bit sequence).
If -then-elseif-else statements as well as a multi-branch choice(key word end is needed)
A single loop structure from until loop end
Has a precondition keyword(require) which states the conditions under which the routine may be called.
Has a post condition keyword(ensure). It can appear just before the end of a routine. The post condition states then property that the routine must guarantee at completion of any correct call.