Eiffel (langage)
| Eiffel.mw-parser-output .entete.informatique{background-image:url("//upload.wikimedia.org/wikipedia/commons/a/ae/Picto-infoboxinfo.png")} | ||
| Date de première version | 1986 | |
|---|---|---|
| Paradigmes | Objet | |
| Auteur | Bertrand Meyer | |
| Développeurs | Bertrand Meyer & Eiffel Software | |
Dernière version | 4.2 | |
| Typage | Statique, Fort | |
| Dialectes | SmartEiffel EcmaEiffel | |
| Influencé par | Ada, Simula, Z | |
| A influencé | Sather, Scala, Ruby, Java, C#, D, Lisaac | |
| Implémentations | EiffelStudio, SmartEiffel, Visual Eiffel | |
modifier | ||
Eiffel est un langage de programmation orienté objet (POO) conçu par Bertrand Meyer, auteur de l'ouvrage Conception et Programmation orientées objet qui fait figure de référence pour la conception orientée objet.
Eiffel est un langage conçu autour d’une méthode de conception. Il a été conçu sur des concepts tels que la programmation par contrat, la réutilisation (notamment par héritage multiple), l’accès uniforme, la séparation requête — commande et expression — déclaration, la séparation des arguments et des options.
Il intègre des fonctionnalités avancées et novatrices. Il supporte en effet l'héritage multiple avec un mécanisme de renommage, la généricité multicontrainte, l'exportation sélective, la conversion de type, les routines d'ordres supérieurs, les routines à exécution uniques, un système de programmation parallèle unique, l'interfaçage avec d'autres langages, l'ancrage de type et la covariance.
Le langage fait l'objet des normes ECMA 367[1] et ISO/CEI 25436:2006[2].
Sommaire
1 Compilateurs
1.1 SmartEiffel
1.2 Studio de développement complet
1.3 Implémentation dans Microsoft .NET
2 « Hello, world »
3 Origine du nom
4 Bibliographie
5 Références
Compilateurs |
Il existe plusieurs compilateurs pour le langage Eiffel.
SmartEiffel |
SmartEiffel est développé par le LORIA, est libre et téléchargeable gratuitement. Depuis la version 2.2, cette distribution s'écarte volontairement du standard ECMA pour proposer sa propre version du langage.
SmartEiffel ne compile pas directement l'Eiffel en un programme exécutable, mais utilise l'intermédiaire du C ou du Java.
Studio de développement complet |
EiffelStudio (en) est un environnement de développement (éditeur, compilateur, débogueur…). EiffelStudio est disponible sous licence libre depuis la version 5.7[3]. La dernière version, 17.01, remonte au 10 janvier 2017[4].
Implémentation dans Microsoft .NET |
En 2000, Microsoft publie les travaux préliminaires de chercheurs de l'université Monash (Melbourne) visant à créer un langage Eiffel#. Ainsi, on peut mélanger Eiffel avec les autres langages de la plate-forme .NET, grâce à des compilateurs Eiffel vers CIL[5]. Eiffel ne fait toutefois pas partie des langages intégrés par Microsoft lui-même dans Visual Studio[6].
« Hello, world » |
Voici un exemple de Hello world en Eiffel :
class
HELLO_WORLD
create
make
feature
make
do
print ("Hello, world!%N")
end
end
Origine du nom |
Le nom du langage provient de l'ingénieur Français Gustave Eiffel, concepteur bien connu de la tour Eiffel, qui a été construite dans les délais et en respectant le budget, ce qui est le but avoué du langage Eiffel pour les projets logiciels importants. Le nom lui-même du langage est donc un clin d'œil à l'objectif de respect de saines pratiques lors des développements logiciels[réf. nécessaire].
Bibliographie |
Bertrand Meyer (1994), Eiffel, le langage (ISBN 2729605258)
- Martine Gautier, Gerald Masini, Karol Proch (1996), Concept de programmation par objet (ISBN 2225853010)
Bertrand Meyer (2000), Conception et programmation orientées objet (ISBN 2212091117)
Références |
ECMA 367, Eiffel: Analysis, Design and Programming Language, juin 2006
ISO/CEI 25436:2006, Technologies de l'information -- Eiffel: Langage d'analyse, conception et programmation, décembre 2006
EiffelStudio Releases
EiffelStudio
« Conférence de Bertrand Meyer sur le langage Eiffel », sur soat.fr, 11 mai 2012(consulté le 17 septembre 2015)
« Visual Studio Languages », sur msdn.miscroft.com, 2015(consulté le 15 septembre 2015)
- Portail de l’informatique
- Portail de la programmation informatique