Suite à la réflexion des réponses données quant à un de mes anciens posts sur ce qu'étais la POO, je me suis demandé si un langage étant multi-paradigme, pouvait répondre à toutes les spécificités et subtilités de ses paradigmes, et si c'était le cas, qu'apporterait t'il (ou qu'apporte t'il déjà) ?
Je me suis renseigné quant au langage le plus OO (selon la définition de ses concepteurs), et il s'agit d'un langage que je ne connaissais pas : le smalltalk. Vu qu'il se veut le plus orienté objet possible, sa syntaxe est différente des autres langages, tout comme la manière de réfléchir, surtout au niveau des affectations de valeurs.
Mais si un langage, comme le smalltalk, possède un paradigme qui respecte au maximum ses altérités, peut-il en posséder un autre, qui lui aussi respecterait toutes les spécificités, selon la définition ? Ou est-ce plutôt de la sorte : Tel langage à 30% de... et 70% de ... Un autre à 60% de... et de 40% de ... ?
(quoique voyant déjà à quoi ressemble le smalltalk, ... je ne sais pas si c'est une bonne idée (et surtout ce que ca apporterait) un langage multi-100%-paradigme...)
Merci en tout cas ! Bonne journée.
- Edité par Geralt de Riv 5 janvier 2018 à 9:56:22
Je me suis renseigné quant au langage le plus OO (selon la définition de ses concepteurs), et il s'agit d'un langage que je ne connaissais pas : le smalltalk. Vu qu'il se veut le plus orienté objet possible, sa syntaxe est différente des autres langages, tout comme la manière de réfléchir, surtout au niveau des affectations de valeurs.
En fait, d'après Coplien, Alan Kay avait trouvé que SmallTalk était devenu de moins en moins orienté objet à partir du jour où les classes ont été ajoutées au langage. D'autre part, il faut aussi noter que le 100% OO n'est pas possible dans les faits. Il y a forcément un moment où l'on doit se référer aux types natifs de la machine et à ce moment là, on perd le polymorphisme qui doit normalement inhérent à toute variable.
Après, parler de pourcentage de paradigme est bizarre. Simplement, si tu prends tous les langages jouets utilisés pour raisonner à propos des différents paradigmes, tu vas obtenir un langage qui supporte complètement chaque paradigme, sans pour autant signifier que tu imposes leur usage (et donc que le code résultant soit 100% orienté tous les paradigmes). Typiquement, avoir un code qui soit à la fois à 100% objet et 100% procédural est un non sens : le premier impose l'opacité des objets, le second demande généralement qu'il soit transparents à un moment.
Une classe n'est rien de plus que l'implémentation d'un ADT. Cela peut faire partie d'un mécanisme que l'on utilise pour créer des objets. La programmation orientée objet concerne les réseaux d'objets qui implémentent un <<modèle opérationnel>> de résolution de problèmes. Les classes ne sont ni nécessaires ni suffisantes pour la programmation orientée objet.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C