• [^] # Re: Eiffel

    Posté par . En réponse à la dépêche SmallEiffel devient SmartEiffel. Évalué à 10.

    Comme avec... les assert() en C.

    Le paradigme de "Design By Contract" a été mis en avant (voir inventé) par Bertrand MEYER et a été implanté en natif dans Eiffel. Tu as 3 contrats majeurs: la précondition, la postcondition et l'invariant.
    (pour plus d'info: http://www.eiffel.com/doc/manuals/technology/contract/page.html(...) )
    Bien sûr, tu peux faire du DbC avec des autres langages, mais Eiffel l'implante correctement et facilement.

    http://home.rochester.rr.com/skapp/DBCCollateral/DBCForC.PDF(...)

    Les lois de Murphy démontrent l'insuffisance notoire de telles constructions : tu ne les utilises jamais là où elles auraient été réellement utiles ;)


    La programmation par contrat aurait évité l'explosion d'Ariane 5:
    http://www.eiffel.com/doc/manuals/technology/contract/ariane/page.h(...)

    Comme toute technique, il faut savoir l'utiliser.

    > BON
    Plait-il ??

    Business Objet Notification est un notation simple, adapté au multi-héritage et le DbC. Il est très facile à comprendre et à utiliser (un concurrent simple d'UML):
    http://www.cs.yorku.ca/~paige/Bon/bon.html(...)

    Super. Et pour les performances, c'est comment ?
    C'est très bien, parce que les perfs des processeurs doublent chaque année, que les techniques de ramasse-miettes vont très bien, que la programmeur fait de la conception de haut niveau et pas de la comptabilité de mémoire. Maintenant bien sûr que si tu préfère faire de l'assembleur pour les perfs à tout prix, c'est ton choix :-). Moi,quand je peux, je préfère ne pas m'en préocupper et me concentrer sur la conception.
    Plus la complexité augmente, moins nous devons avoir à nous préoccuper du bas niveau.

    Oui, mais c'était Ada que je citais. Besoin de sommeil ?

    Je ne connais pas assez ADA dont Eiffel est un héritier, mais certains langages feraient mieux de passer la main plutôt que faire de mauvaise évolution: http://www.elj.com/eiffel/why-eiffel/#Ada(...)