Eiffel - Langage pour des logiciels sûrs
Eiffel a été conçu par Bertrand Meyer en 1985. L'idée
était de corriger les défauts des autres langages classiques,
qui sont la cause de bogues et coûtent du temps aux programmeurs.
Il prend son inspiration de langages théoriques imaginés en
Université et jamais implementés jusqu'ici. C'est aussi le cas de Scala.
C'est un langage purement
orienté objet.
Le nom Eiffel est inspiré par celui du constructeur de la tour et veut évoquer l'idée qu'une construction bien pensée permet d'aller plus loin.
Selon l'auteur, il convient de l'utiliser pour produire du logiciel de qualité fait par des programmeurs professionnels. C'est un choix de langage quand la sécurité est essentielle. Il est souvent utilisé par les hôpitaux.
Eiffel est devenu un standard de l'ECMA en 2006 sous le nom ECMA-367, qui le décrit comme un langage de programmation, d'analyse et de conception.
Des verrous contre les effets inattendus
Le langage a été conçu pour éviter les effets inattendus avec des arguments passés aux fonctions, comme une division par zéro. C'est une erreur aussi infime qui a provoqué l'échec d'un lancement de la fusée Ariane 5 en 1996.
- Classes génériques. Réutilisation de classes avec des types differents.
- Classes virtuelles. Une sorte d'interface. Les méthodes sont virtuelles jusqu'à ce que le compilateur les rende réelles, ou même inline.
- Héritage multiple.
- Précondition et postconditions aux fonctions (appelées aussi assertions, programmation par contrat).
- Types héritables qui sont des objets du langage également. "Integer" hérite de "numeric", etc.
Exemple de code
Salut le monde!
class SALUT creation make feature make is local io:BASIC IO do !!io io.put_string("%N Salut le Monde!") end --make end -- class SALUT
Sites et outils
- SmartEiffel. Un portage du langage gratuit et open source.
- Sather. Un langage très proche, en open source.
- Visual Eiffel. Autre version.