Page 1 sur 2 12 DernièreDernière
Résultats de 1 à 10 sur 12

Sujet : PRESENTATION Eiffel

  1. #1
    Visiteur MP
    Visiteur MP

    PRESENTATION Eiffel

    Eiffel: est un langage de programmation orienté objet (OO) conçu par Bertrand Meyer.Il a été conçut le 14 septembre 1985 et a été introduit en 1986.

    Il implémente les principaux concepts d\'un langage orienté objets (classes, héritage simple et multiple), ainsi que des concepts originaux, comme l\'héritage de type (les types élémentaires héritent les uns des autres) et la programmation par contrat (assertion), qui est sa principale innovation. Il est toujours le seul langage implémentant en standard les concepts de programmation par contrat.

    La programmation par contrat:
    La programmation par contrat est un paradigme de programmation dans lequel le déroulement des traitements est garanti par des vérifications sur les données, ce qui permet d\'être sûr que les traitements ne vont pas déclencher d\'erreur. Il y a trois catégories de vérification :

    * Précondition : L\'ensemble des conditions qui doivent être vérifiées avant le lancement d\'un traitement donné. Ces conditions permettent de s\'assurer que le déroulement du traitement est possible sans déclencher d\'erreur.
    * Postcondition : L\'ensemble des conditions qui doivent être vérifiées après le déroulement d\'un traitement. Ces conditions permettent de s\'assurer que le déroulement du traitement n\'a pas déclenché d\'erreur.
    * Invariant : L\'ensemble des conditions qui doivent être vérifiées à tout moment, y compris au sein d\'un traitement.

    Le seul langage de programmation qui implémente ce paradigme est le langage Eiffel, mais des modules existent pour d\'autres langages, comme JContractor pour Java.

    Bibliographie:
    les deux livres pricipaux sont :
    *Eiffel : le langage (de bertrand meyer)
    *Conception et programmation orientée objet (de Bertrand meyer)

    Liens:
    FAQ du site des urtilisateurs francophones d\'eiffel.

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    203
    coucou.
    je viens de voir que tu a fais une petite erreur : tu dis que le langage a ete invente en 4985 :wink:
    je suppose que c est 1985.
    mis a part ca ton article est tres bien
    le joyeu luron de la prog qui connait rien en prog ;-)

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    1 050
    dsl, je modifie

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    273
    Définition du langage
    Le langage est défini par une première édition de \"Eiffel: The langage\", (ainsi qu\'un sous ensemble du premier, \"Eiffel: The Reference\"). Une deuxième édition a vu le jour \"Eiffel: The Langage - Second Edition\", plus counnue sous le nom de ETL2. Cette seconde édition n\'est toute fois pas une nouvelle version de la définition du langage, mais une nouvelle version des exposés qui l\'accompagne dans le livre. Une deuxième version du langage était encore, j\'usqu\'à il y a peu, en cours de conception. Cette deuxième version de la définition du langage est dénomé ETL3, afin que les utilisateur ne confonde pas avec la deuxième édition du livre décrivant la première version du langage.

    Trois livres, deux versions, une normes

    - ETL1: première édition du livre sur la première version du langage.
    - ETL2: deuxième édition du livre sur la première
    version du langage.
    - ETL3: première édition du livre sur la deuxième version du langage.

    ETL3 a été soumis à l\'ECMA qui l\'a apparament validé, puisqu\'il semblerait que ETL3 soit sorti sur presse aux états unis et en espagne. Je n\'ai pourtant trouvé aucune confirmation en France.

    ETL3, qui est le troisième livre, et la deuxième version du langage, est aussi sa première forme normalisé. Car bien que défini, l\'ancienne version de Eiffel n\'était pas reconnu comme une norme.

    Eiffel vient donc de passé en juin, une étape décisive, avec l\'annonce de sa norme officiele.

    Des changements importants avec le passé

    L\'esprit du langage est Eiffel est une certaine pureté des concepts. Et donc Bertrand Meyer a préféré modifié radicalement certains aspect, quite à ce que ceci le rende incompatible avec le première définition du langage. Mais chacun sait les problème de cohérence que pose la compatibilité ascendante avec les logiciels. Il en a va de même avec les normes. Et ainsi, avec pris le risque d\'une incompatibilité partielle, est une démarche salutaire pour le langage, et l\'avenir lui donnera certainement raison.

    Les utilisateur de Eiffel doivent donc se pencher sur la nouvelle version du langage pour le redécouvrire. Plusieurs régle de validité (Validity Rule) ont été créées, certaines supprimées, d\'autres modifiées. Des concepts important ont été revu. Même un concept aussi fondamental que l\'héritage a été remanié (la sémantique a été revue, la clause insert vient maintenant complété la clause inherit). Ce ne sont que des exemples...

    Droit d\'accés à la définition de référence

    Eiffel est libre de droit, mais sa référence est exclusivement diffusé par un livre, qui lui, n\'est pas gratuit. Toute fois, l\'utilisation de Eiffel, ne nécéssite la rémunération d\'aucun brevet. Bien que le livre soit payant, et sa diffusion sur internet, donc interdite, la section de reference est librement distribuable sous sa forme electronique. Je rédigerai un article dans cette même FAQ, dés que je retrouverai plus de détails à ce sujet, et j\'expliciterai également ce qu\'est exactement cet extrait pariticulier du livre, et en quoi il diffère du livre. J\'ajouterai également dans ce prochain article, une référence web vers cette référence de Eiffel pour ETL3.
    Lasidoré : Editeur XML orienté sémantique/Online XML editor - Alpha
    Utiliser le Compilateur Ada GNAT - Fiabilité professionnelle, Ada we trust
    Opera, Le navigateur - Léger, rapide, efficace, joli et source d'inspiration
    DragonFly, Le debugger JavaScript, CSS, ... et HTML - Only on Opera
    Le moteur de recherche Yahoo - Le connaissez vous vraiment ?

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    1 050
    Merci ce ce grand complément à la description, mais j\'ai une petite question :

    Sinon, pour l\'instant, on peux également dire que l\'argent provient aussi du compilateur, en effet, ils ont également produit le compilateur eiffel le plus complet (et ce n\'est pas peu dire) défiant ainsi d\'autres libres qui ne fonctionnent qu\'en ligne de commande. De plus, ce compilateur graphique n\'est pas gratuit .... 4799.00 $ :wink:

    Bien que le livre soit payant, et sa diffusion sur internet, donc interdite,
    C\'est bien là par respect des droits d\'auteur d\'un livre, je suppose. Il est quand même autorisé de publier ses propres \"tutos\".

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    273
    Comment ça ? C\'est l\'ECMA qui a produit un compilateur ? Je ne savais pas.

    Pour la question des droits d\'auteurs, bien sur, c\'est normal. Mais si je peux me permettre un hors sujet flagrant, j\'aimerais être éclairé sur une question: est-ce l\'information qui est protégée par les droits d\'auteurs, ou est-ce le texte lui même et sa forme ?

    Si c\'est la deuxième hypothèse qui est le bonne, alors pas de soucis, mais si c\'est la première, alors cela voudrait dire qu\'on ne peut publier ses propres tutos qu\'à la condition qu\'il soit incomplets au moins partiellement faux.

    Je n\'ai jamais trouvée de réponse à cette question délicate. Je pense qu\'une règle de bon sens voudrait que cela dépende du type d\'information. Par exemple, un texte équivalent, n\'est pas la même chose quand il s\'agit d\'un roman ou d\'une documentation technique. Dans le premier cas, c\'est du plagiat, c\'est sur, mais dans le deuxième cas, la question est plus ambigue.

    Dans le cas particulier d\'Eiffel, la question est en partie eclaircie par le fait que le contenu formel est librement copiable et distribuable, sous certaines conditions évidentes, comme celle de faire référence au document original. Mais qu\'en est-il des exemple contenus dans le livre ? Est-il possible de les paraphraser, de les synthéthiser, de se contenter de reprendre les grandes lignes, etc ?

    Par contre, je n\'arrive toujours pas à trouver la preuve officielle de la validation de ETL3, mais je l\'ai pourtant vu sur deux site de vente de livre en ligne, aux états unis et en espagne. Quelqu\'un a t-il/elle des news sur la question ?

    Même sur le site du Working Draft ETL3, je n\'ai rien vu, il semble geler depuis la soumission du standard à l\'ECMA. Surprenant...
    Lasidoré : Editeur XML orienté sémantique/Online XML editor - Alpha
    Utiliser le Compilateur Ada GNAT - Fiabilité professionnelle, Ada we trust
    Opera, Le navigateur - Léger, rapide, efficace, joli et source d'inspiration
    DragonFly, Le debugger JavaScript, CSS, ... et HTML - Only on Opera
    Le moteur de recherche Yahoo - Le connaissez vous vraiment ?

  7. #7
    Membre MP
    Inscrit
    août 2013
    Messages
    273
    La page des publications de Bertrand Meyer
    [ http://se.ethz.ch/~meyer/publications/index.html ], à ETH.

    Un Working Draft pour ETL3 était auparavant accessible depuis cette page [ http://se.ethz.ch/~meyer/publications/progress.html ], mais les compte et mot de passe spécifiés ne fonctionnent plus (même s\'ils restent mentionnés sur la page à tort).

    La forme actuelle du standard ECMA pour Eiffel est cependant accessible depuis cette section de la page des publications de Bertrand Meyer [ http://se.ethz.ch/~meyer/publications/index.html#Datelist ] vous pourrez trouver le fichier eiffel-standard-2005.pdf. Passez par le lien \"Eiffel standard, final draft\" qui pointe sur le fichier pdf. Le lien est dans la marge de droite de la page.

    Un régale de clarté et de cohérence! (ce qui est l\'esprit Eiffel)
    Pour tous ceux et toutes celles qui aiment l\'esthétique... Aussi beau que des math, sans en avoir les limites. A lire, même juste pour le plaisir, même si l\'on pas envie de programmer en Eiffel. Pour les amateurs et amatrices, sachez aussi que la nouvelle version d\'Eiffel est un challenge technologique. Je m\'explique: habituellement, on implemente un langage, puis on le documente. Là c\'est le contraire qui a été fait. Eiffel a été spécifié pour être sure, efficace, utile, clair, lisible et formel. Et seulement à partire des spécifications (les nouvelles), il faudra créer des implémentations (aussi nouvelles). Aucun compilateur à ce jour n\'implémente encore toute les fonctionnalité de ETL3, même s\'il y a de fortes présomptions de faisabilité (ces présomptions de faisabilité était le minimum requis par Bertrand Meyer pour les integrer à Eiffel).

    Je vais certainement essayer de m\'y mettre, d\'abord en solo...

    Une longue parenthèse avant de poursuivre, j\'aimerais attirer l\'attention sur un point au ce sujet de la planification d\'environnement Eiffel.
    Beaucoup d\'applications free ou open source souffrent d\'un problème d\'interface utilisateur. J\'ai lu quelque part sur le net, que le devellopement d\'interfaces graphiques était considérée par les devellopeur(se)s, comme moins gratifiant que la participation à un projet d\'innovation technologique. C\'est bien dommage, parce-que, que seraient les grands patrons sans les employé(e)s de ménages sans qui leurs bureaux deviendraient vite invivables. Déconsidérer le dévellopement des interfaces graphiques, c\'est aussi dommageable que de déconsidérer le travail au foyer (et c\'est même pas une femme qui le dit là!). Il y a un article récurant dans les FAQ Linux, qui s\'appel \"Where\'s my IDE?\". Et c\'est la première chose qui m\'a choqué sous linux, c\'est que je n\'avais aucun IDE pour developper en C ou en Pascal, alors que j\'en avais de trés maniables sous DOS. Est-il besoin de contraintes commerciales pour faire se pencher sur les petites tâches pourtant fondamentales ? Trop de compilateurs Eiffel (ou de clone d\'Eiffel) manquent d\'une bonne interface. Ce qui est en soit est même totalement contraire à l\'esprit d\'Eiffel.

    Alors avis au futur developpeurs et developpeuses d\'environnement Eiffel: pensez aux interfaces, faites le pour le developpement et la survice d\'Eiffel, autant que pour le bonheur des utilisateur(rice)s. Surtout, pensez à un environnement léger, avec interface graphique (ou au moins en mode texte). Pour les dinosaurs, on a déjà trop donné...

    Un guide pour le devellopement orienté objet, par l\'auteur du langage Eiffel lui même.
    Ici [ http://se.inf.ethz.ch/touch ] vous pouvez acceder à \"Touch of Class\" (fichier TOUCH.pdf), un draft pour une nouvelle version de \"An Introduction to Software Engineering\", une bible en la matière. La encore, c\'est un draft qui comme souvent sera peut-être amené à ne plus être accessible en ligne: profitez-en!

    J\'aime bien ce titre \"A Touch af Class\". Ca a un petit quelque chose d\'affectueux, précieux et élégant, comme quand on parle de la \"French Touch\"... Ca ne laisse pas insensible en tous cas :wink:

    p.s. Quelqu\'un(e) connais la date d\'anniversaire de notre chèr Bertrand ? ... On va tuite et toutes lui faire une suprise, et lui envoyer nos créations par mail! Hamdulah! :
    Lasidoré : Editeur XML orienté sémantique/Online XML editor - Alpha
    Utiliser le Compilateur Ada GNAT - Fiabilité professionnelle, Ada we trust
    Opera, Le navigateur - Léger, rapide, efficace, joli et source d'inspiration
    DragonFly, Le debugger JavaScript, CSS, ... et HTML - Only on Opera
    Le moteur de recherche Yahoo - Le connaissez vous vraiment ?

  8. #8
    Membre MP
    Inscrit
    août 2013
    Messages
    273
    J\'avais commencé une réponse sur un autre post, mais en écrivant, je me suis aperçu que j\'avais tellement de chose à dire, que je devrais plutôt posté cette article ici. A vous de juger (je repasserais plus tard pour corriger les faute d\'orthographe).

    J\'étais en train de rédigé une réponse à un message d\'albert pour moi, quand je me suis soudainement emballé dans mes sentiments...

    Citation Envoyé par \"albert\"
    Merci pour le petit détail et ravi de faire la connaissance d\'une personne connaisant l\'eiffel(et oui, de nos jour, c\'est rare) ou au moin certaines de ses possibilités ...

    Est-ce que tu programme en eiffel ?
    Oui, c\'est rare, et c\'est dommage... j\'ai commencé à programmer en QBasic, et à l\'époque, je suis tomber les fesses par terre en voyant ce que c\'était: je ne m\'attendait pas à un tel brouillon. Avant de connaitre la programmation, j\'avais beaucoup imaginé ce qu\'elle pouvait être (je n\'avais même pas eu un ordinateur entre les mains encore). J\'imaginais des choses construites, formel, à l\'image d\'une chose que j\'aime, mais ou je suis nul: la logique, et le raisonement mathématiquement, surtout le raisonement par induction. Mais il n\'y a pas que cet aspect brouillon qui m\'avait déçu. Bien d\'autres choses encore...

    C\'est vrai pour Eiffel, et les anciens on aussi connu un cas similaire. Je crois qu\'on imagine pas assez bien à quel point on a fait une bétise en laissant le C prendre le pas sur Pascal. Malheureusement, ce qui oriente le paysage informatique, ne sont pas des idées raisonnée, mais des avantages commerciaux. Pascal était bien meilleur que C sur beaucoup d\'aspect. Et même si C est maintenant devenu incontournable pour la portabilité, il y aurait certainement beaucoup d\'interet à en prendre note... pour developper des compilateur Pascal ayant le C pour langage cible...

    Je crois qu\'on est pas loin de faire la même énorme erreur en laissant Java tout dévorer. On le regrétera... ou plutôt, on aura même pas le luxe de s\'en apercevoir. Sur un autre post, un developpeur Java disait que ses doights le démangeait, quand il voyait du code Eiffel (qu\'il ne connaissait pas) parce qu\'il adore programmer avec des Classes. Mais il ignore à quel point Eiffel est bien supérieur à Java. Quand je l\'ai lu, sur l\'instant, j\'ai même trouvé choquant de comparer Eiffel et Java. Mais je me suis resaisie, et je me suis que pour quelqu\'un qui ne connait pas Eiffel, l\'erreur est compréhensible.

    C a pris la place de Pascal, pour de seules raisons commerciales. Malgré tout, les qualités de Pascal, ont été reconnue... mais seulement par les enseignants. Et c\'est comme que Pascal s\'est retrouvé cantonner à n\'être qu\'un langage pédagogique. Ce qu\'il faisait trés bien, puisque c\'est un trés bon langage. Mais le fait qu\'il soit un trés bon langage, en aurait fait un trés bon langage de dévellopement aussi.

    Malheureusement, taxé un langage d\'être pédagogique, à même pris avec le temps, une connotation péjorative. Alors dire que Pascal est un langage pédagogique, est compris comme une manière de dire qu\'il n\'est pas fait pour le dévellopement. Mais bien au contraire, c\'est justement parce qu\'il était fait pour le développement qu\'il était pédagique!

    C\'est un peu comme avec les métier qui se féminise, un métier qui se féminise, se dévalorise aussi-tôt. Alors que c\'est justement sont extension qui devrait le valoriser. Remplacer \"féminin\" par \"pédagogique\", et vous avez une idée du processus.

    D\'ailleurs, en passant, j\'ai vraiment envie de poser la question: Pourquoi y t-il si peu de femmes dévellopeuses, et si peu de femmes (peut-être même quasiment aucune) inscrite sur les site de gestion de projet et les helpdesk ???!!

    Je précise au passage que je ne suis moi-même pas une femme, mais la question m\'obsede quand même.

    Je reprends mon fil...

    Aprés avoir fait un parallèle entre femme et pédagogie, faisont maintenant un parallèle entre Pascal et Eiffel. Ca va être trés rapide: je vois de plus en plus d\'article sur le net, qui vante les mérite d\'Eiffel en tant que langage... pédagogique! Les jeux semblent fait, Eiffel semble déjà rudement mal parti sur la même pente que pascal. Java jouant le rôle que C à joué dans le passé. Et il a parier que l\'on verra de plus en plus pletore de livre pour tenter d\'aider à s\'en sortire avec un langage inextricable et sans aucune beauté, comme ce fut le cas avec C. Mais on le répendra de plus en plus, pour des raisons de portabilité, comme ce fut le cas avec C.

    Nous sommes déjà en train de refaire la même erreur! Et c\'est tellement grave que je vous conseille de relire cette article au moins trois fois avant de passer à n\'importe qu\'elle autre article sur le programmation! Relisez! Vous réaliserez!

    Il faudra lutter dure et sévère pour inverser la vapeur, mais je n\'y crois pas trop. Mais comme Pascal, Eiffel survivra, même ultra minoritaire (certains sites de devellopement l\'ignore même totalement), mais comme Pascal, il est tellement bon qu\'il n\'aura pas besoin du nombre pour survivre.

    Un peu comme cette minuscules populations de petits mamifères intelligents au milieux de nombreux et terrifiants dinosaurs...
    Lasidoré : Editeur XML orienté sémantique/Online XML editor - Alpha
    Utiliser le Compilateur Ada GNAT - Fiabilité professionnelle, Ada we trust
    Opera, Le navigateur - Léger, rapide, efficace, joli et source d'inspiration
    DragonFly, Le debugger JavaScript, CSS, ... et HTML - Only on Opera
    Le moteur de recherche Yahoo - Le connaissez vous vraiment ?

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    1 050
    Me revoila de vacances et que de choses intéressantes à lire ....
    Je suis totalement d\'accord avec toi sur la puissance d\'Eiffel et ne regretterait jamais de l\'avoir appris.

    Quand je parle des droits d\'auteur du livre, j\'entend aussi par là définition, le livre comprend des définitions et règles qui sont données, ces règles, quoique logique qu\'elle soit ont été \"pondue\" par son auteur, c\'est vrai qu\'il est difficile de dire jusqu\'ou irait le plagiat et comme en plus, il existe peu de références aussi complète.

    Au niveau du compilateur, je pense bien que c\'est bertrand meyer qui y travaille.

    Et puis tu parle justement d\'interfaces .... Je suis justement en train d\'en dévelopée une libre qui sera basée sur smarteiffel et puis sur le compilateur développé par GOBO par la suite. Je compte réellement créer un environnement de programmation (IDE) complet et riche en ... eiffel ... bien sur.

  10. #10
    Membre MP
    Inscrit
    août 2013
    Messages
    273
    Albert, j\'avais commencé moi aussi à écrire une bibliothèque GUI, ou des classes Eiffel encapsulaient des modules C (pour des raisons d\'efficacité du binaire, et pour accélerer la compilation, particulière avec Small/SmartEiffel). Je voulais créer une nouvelle bibliothèque, parce que celle fournie en standard pendant un moment, nécéssitait par exemple pour traiter les messages, d\'utiliser de longues liste de inspect case! Au milieu du code Eiffel, ça fait tache! D\'autres librairies sont basées sur Gtk, que je trouve trop lent sur les anciens pc (et il faut penser aussi aux anciens pc, du genre p133, ils sont encore des millions, dont moi-même par exemple). Et pour finir, EiffelVision, elle, n\'est pas clairement formalisée, et je crois même qu\'il y a quelque conditions commerciales. J\'ai arreté pour une durée inderterminé pour des raisons personnelles, mais comme j\'avais documenté, je pourrai reprendre facilement, le moment venu. Si tu as des idées de spécifications pour une librairie GUI, ou d\'autres suggestions, je suis à l\'écoute...
    Lasidoré : Editeur XML orienté sémantique/Online XML editor - Alpha
    Utiliser le Compilateur Ada GNAT - Fiabilité professionnelle, Ada we trust
    Opera, Le navigateur - Léger, rapide, efficace, joli et source d'inspiration
    DragonFly, Le debugger JavaScript, CSS, ... et HTML - Only on Opera
    Le moteur de recherche Yahoo - Le connaissez vous vraiment ?

Page 1 sur 2 12 DernièreDernière

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!