Eiffel (langage)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Eiffel.
Eiffel
Apparu en 1986
Auteur Bertrand Meyer
Développeurs Bertrand Meyer & Eiffel Software
Dernière version stable 4.2
Paradigmes Objet
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

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.

Beaucoup de concepts introduits par Eiffel ont été plus tard intégrés dans C# et Java.[réf. nécessaire] Le langage, à travers sa norme ECMA et ISO, continue à évoluer en intégrant des concepts novateurs, avant-gardistes.

Compilateurs[modifier | modifier le code]

Il existe plusieurs compilateurs pour le langage Eiffel.

SmartEiffel[modifier | modifier le code]

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. L'utilisation du C a différents avantages :

  • Faire de la compilation incrémentale : si l'on modifie quelques lignes dans un très grand travail, grâce aux fonctionnalités de l'outil make, seuls les programmes-cible C modifiés seront recompilés, d'où gain de temps ;
  • Utiliser les fonctions d'optimisation des compilateurs C ;
  • Être portable sur toutes les plates-formes vers lesquelles C peut être compilé.

Studio de développement complet[modifier | modifier le code]

  • EiffelStudio est un environnement de développement (éditeur, compilateur, débogueur…). EiffelStudio est disponible sous licence libre depuis la version 5.7.

Implémentation dans Microsoft .NET[modifier | modifier le code]

« Hello, world »[modifier | modifier le code]

Voici un exemple de Hello world en Eiffel :

  1. class
    
  2. 	HELLO_WORLD
    
  3.  
    
  4. create
    
  5. 	make
    
  6.  
    
  7. feature
    
  8.  
    
  9. 	make
    
  10. 			-- Display welcome message.
    
  11. 		do
    
  12. 			print ("Hello world!")
    
  13. 		end
    
  14.  
    
  15. end
    

Anecdote[modifier | modifier le code]

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.

Bibliographie[modifier | modifier le code]

Sur les autres projets Wikimedia :