Wolna encyklopedia

Ten artykuł dotyczy języka programowania. Zobacz też: francuski architekt Gustave Eiffel.


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, i to 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.

Linki zewnętrzne