Liens connexes

Dépêche modérée par

Dépêche éditée par

: Sortie de SmartEiffel 2.2

Posté par jcs (page perso, ). Modéré le 21 décembre 2005.
0
L'équipe de développement de SmartEiffel au Loria à Nancy vient de sortir la version 2.2 du logiciel. SmartEiffel est un compilateur pour le langage Eiffel disponible sous licence GNU GPL.

Au programme des nouveautés, côté organisation du projet. On a d'abord assisté à la mise en place d'un wiki, ensuite le projet est arrivé sur InriaGforge qui est la plateforme de développement collaboratif de l'INRIA.

Côté logiciel, on découvre des nouveautés et améliorations dans le changelog. La commande eiffeldoc permet de produire de la documentation à partir des classes (comme javadoc). Le système de plugins qui permet d'intégrer des bibliothèques existantes à du code Eiffel a été amélioré. Un widget gérant OpenGL est disponible dans la bibliothèque Vision. La bibliothèque réseau est maintenant entièrement compatible avec les systèmes POSIX et propose même un serveur HTTP (béta)...

> Lire la suite (10 commentaires, moyenne: 3,4).   [dépêche : 707 caractères]

Le Langage Eiffel est un langage objet créé par Bertrand Meier. Il s'inspire de plusieurs langages (ALGOL68, Smalltalk...) et dispose de nombreuses fonctionnalités comme l'héritage multiple, la généricité (simple et contrainte), l'héritage de type ou d'implémentation, la programmation par contrat...

Le fait qu'Eiffel reste proche des théories initiales des langages objets a fait de lui un bon langage pédagogique pour appréhender le développement orienté objet.

Il faut cependant noter qu'en mai 2005, après de longues discussions sur la mailing-list l'équipe de SmartEiffel a décidé de ne pas suivre la norme ECMA-367 (ECMA Eiffel) qu'elle considère trop éloignée de "l'esprit initial" du langage.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Au programme des nouveautés

Posté par _cb (page perso, ) le 21/12/2005 à 16:03. (lien). Évalué à 7.

Deux changements majeurs accompagnent la migration sur InriaGforge :
- d'une part, l'abandon de CVS au profit de Subversion.
- d'autre part, et c'est sans doute le point le plus représentatif de la volonté d'ouverture du projet, la mise à disposition _totale_ des sources.

Est ainsi rendu disponible le fameux répertoire 'work/' contenant, en autres, les germes du compilateur, divers outils et, surtout, l'ensemble des fichiers de test.

Pour compléter :
- le projet sur le site de l'INRIA : http://gforge.inria.fr/projects/smarteiffel/
- la commande pour récupérer le dépôt en anonyme : svn checkout svn://scm.gforge.inria.fr/svn/smarteiffel

Qu'est-ce que ça veut dire ?

Posté par benoar (Jabber id, ) le 22/12/2005 à 04:03. (lien). Évalué à 2.

Le Langage Eiffel [...] dispose de nombreuses fonctionnalités comme [...] l'héritage de type ou d'implémentations

Quelqu'un aurait des infos sur la signification de "héritage d'implémentations" ? Je vois pas trop ce que ça peut être...

En évoquant Eiffel...

Posté par Philip Marlowe (Jabber id, ) le 25/12/2005 à 13:28. (lien). Évalué à 7.

A propos de SmartEiffel, il faut signaler que l'équipe qui s'en occupe a délibérément décidé d'ignorer les spécifications officielles du langage, désormais édictées par l'ECMA. A l'URL http://www.ecma-international.org/publications/files/ECMA-ST(...) on peut les trouver, et remarquer leur byzantine complication. A côté de ça le seul manque vraiment criant du langage, l'absence de spécifications sur la concurrence, n'est pas abordé.

Le compilateur propriétaire d'Eiffel Software, fondée par Bertrand Meyer (et non Meier... Bertrand Meyer semble avoir pris de la distance par rapport à la compagnie qu'il a créée et occupe désormais une position académique en tant que président du département de Génie Logiciel de l'ETH, alias l'Ecole Polytechnique Fédérale de Zurich, dont est issu un certain Albert Einstein, mais c'est une autre histoire...) dispose d'une gestion des threads, mais celle-ci est une particularité de ce compilateur lui-même particulier, bref n'est pas issu d'une norme et n'en crée pas une.

On peut noter que Bertrand Meyer dans Object Oriented Software Construction deuxième édition, dont on peut trouver chez Eyrolles une traduction française sous le titre Conception et Programmation Orientées Objet http://www.eyrolles.com/Informatique/Livre/9782212091113/liv(...) propose une conception de la concurrence, SCOOP (Simple Concurrent Object-Oriented Programming) d'une remarquable simplicité pour l'utilisateur. Cette simplicité est à rapprocher de la simplicité d'utilisation des autres concepts réunis dans Eiffel (héritage multiple et répété, généricité simple et contrainte, conception par contrats). Simple pour l'utilisateur, certes, une autre paire de manches quand il s'agit de construire un compilateur ! Les concepts d'Eiffel définis dès 1984 ont attendu une dizaine d'années pour voir leurs premières implémentations. Il est à craindre que l'implémentation de SCOOP dans un compilateur soit d'un ordre de difficulté encore supérieur à celui de la totalité de celle des précédents concepts. Autant dire, surtout que (malheureusement) le succès d'Eiffel n'est pas de nature à submerger le reste, ce sera probablement pour une prochaine fois et pour un autre langage. On peut cependant noter avec espoir que l'équipe de SmartEiffel continue de faire figurer l'implémentation de SCOOP dans la liste des future improvements http://smarteiffel.loria.fr/papers/future.html sur leur site.

Il reste désormais trois compilateurs Eiffel (quatre si l'on considère à part le compilateur pour Mac d'Object Tools) : ISE Eiffel http://eiffel.com/ , SmartEiffel qui est le sujet de cette nouvelle et celui d'Object Tools, Visual Eiffel http://www.visual-eiffel.com/front_content.php qui est depuis juillet, dans l'indifférence générale, passé en GPL. Visual Eiffel a les caractéristiques suivantes : il respecte la troisième version du langage, antérieure, celle avant que soit définie la notion (mal nommée) d'agent. Il semble par contre qu'il respecte avec une grande rigueur cette spécification. La deuxième particularité est qu'il engendre directement un fichier exécutable, à la différence des deux autres qui utilisent le C comme langage intermédiaire. La troisième particularité est qu'il ne supporte que l'architecture i386, et c'est une grosse restricition.

Pour de plus amples informations, plongez dans les liens. Je ne peux toutefois pas m'empêcher de paraphraser Frank Zappa : Eiffel is not dead, but it smells ffunny.

Revenir en haut de page