• # Attention aux assertions

    Posté par (site web personnel) . En réponse au journal Comment résoudre la "crise du logiciel" ?. Évalué à 7.


    En effet, les langages objets s'imposent, mais à part SmartEiffel et Lisaac, aucun ne résoud la liaison dynamique coûteuse en performance (par vidage du cache du processeurs et impossibilité d'inliner le code).

    Hum ... un peu présomptueux de ta part de déclarer qu'aucun à part Eiffel (SmartEiffel ici qui n'est qu'une implémentation d'Eiffel) et Lisaac (qui pour l'instant semble abandonné (?)) ne résoud le coût de la liaison dynamique. Il existe un très grand nombre de langages objet et je ne pense pas que tu les connaissent suffisamment tous pour te permettre une telle assertion.
    Exemple d'Haskell (qui certe n'est pas réellement un langage objet).

    Sinon, quant à la lenteur d'exécution de code des langages de haut niveau, ils peuvent être relative. Voir par exemple le C++ avec Eiffel ; dans l'ensemble, avec la dernière version de SmartEffeil (2.2), c'est kif-kif. Voir aussi Squeak (une implémentation de Smalltalk) qui est pourtant un langage à typage dynamique.
    De toute façon, qu'un programme soit écrit avec un langage de bas niveau ne suffit pas pour qu'il soit performant. Voir GNOME par exemple. En effet, avec la complexité des applis et le choix de technologies dans ces langages, ils atteignent leur limites et peuvent être même plus lourds qu'un même programme écrit avec un langage de haut niveau. Déjà, il n'y a qu'à voir, dans la catégorie langages de haut niveau, la différence de perfs entre un programme graphique Java (par exemple Eclipse) avec l'environnement graphique Squeak.

    Malheureusement, comme tu le soulignes, ce sont plutôt des langages "lent", aux choix techniques des fois douteuses, qui vont prendre le dessus parce que derrière il y a un veritable rouleau compresseur marketing pour les imposer : Java et C#.