Eiffel to jeden z obiektowych języków programowania.
Eiffel jest statycznie typizowany. Do ciekawszych cech należy szerokie stosowanie asercji (tzw. Design By Contract).
class HELLO_WORLD
creation make
feature
make is
local
do
std_output.put_string("Hello, world")
std_output.put_new_line
end
end
Eiffel, pomimo posiadania kilku ciekawych rozwiązań, ma opinie języka typu bondage and discipline - ma składnię bardziej rozwklekłą niż wszystkie popularne języki (w benchmarku Computer Language Shootout miał najgorsze wyniki zwięzłości, zwykły hello world zajmuje w nim ok. 10 linijek) i wymusza ścisłe rozróżnienie metod funkcyjnych i proceduralnych, nawet znacznie silniej niż robił to krytykowany za tę cechę wczesny Pascal (współczesne implementacje nie mają tego problemu) - metody funkcyjne nie mogą zmieniać stanu obiektu, a wartości przez nie zwracane nie mogą być zignorowane; metody proceduralne zaś mogą co prawda zmieniać stan obiektu, za to nie mogą zwracać żadnych wartości.
edytuj Linki zewnętrzne
- Wiesław Porębski, Języki programowania obiektowego:Eiffel
- Kompilator SmallEiffel (open source)
- Eiffel IDE (open source)
|
|||||||||||||||||||||||||||||
