Parce qu'en C++ on n'a pas pour objectif d'être un intégriste de l'objet
J'adore ce genre de chose. Tu pourrais aussi me traiter d'autre chose, je laisse ton imagination débridée choisir parmi les nombreuses possibilités.
Faire des contrats de cette manière c'est utile, et pas forcément parce qu'il y a un besoin objet derrière. Un point de vue obtus ne concevant qu'objet ne peut pas le comprendre.
De retraite en retraite, la défaite s'approche. Tu es formidable. Depuis quelques posts, tu refuses de donner un exemple pertinent. Alors que j'ai accepté de reconnaître mes erreurs (par exemple sur l'héritage multiple dont tu as donné un excellent exemple d'application), tu t'enfonces, tellement lamentable que tu passes aux "insultes". C'est affligeant. Je supposes que tu ne viens pas ici pour débatre, enrichir ta connaissance et celle des autres, mais lancer des affirmations gratuites puis terminer en attaques personnelles...
Ce n'est pas une hérésie parce que C++ n'a pas la prétention (contrairement à Java) d'être exclusivement orienté objet. Ça ne te plait pas dans une approche objet, ne l'utilise pas dans une approche objet. Je ne m'en sers pas dans une approche purement objet, ce n'est pas pour ça que je compte m'en passer ailleurs.
Tu peux toujours qualifier mes propos de conneries ou d'intégrisme de l'objet, ça ne change rien au fond du problème (et ça ne te grandit pas, d'ailleurs). Tout le monde, praticien comme théoricien, reconnaît le grand intérêt des langages typés. Le système de type du C++ est bancal car la sémantique d'un objet diffère selon le mode de passage, ce qui pertube les possibilités de prédiction du comportement d'un programme. Le reconnaître n'a aucun rapport avec un quelconque intégrisme, il s'agit simplement d'une reflexion critique sur le design d'un langage. C++ a été conçu par quelqu'un qui ne connaissait pas bien les langages objets et surtout qui confondait les concepts (héritage par exemple) avec leur implémentation (table de méthodes virtuelles). Le résultat est utile en pratique car C++ permet une énorme abstraction par rapport au C, mais il est aussi très criticable. La mauvaise conception du C++ le rend par exemple beaucoup plus difficile à apprendre que des langages nettement plus riches comme Eiffel et Sather. Mais comme ces derniers ont une syntaxe à la Pascal, ils n'ont pas le succès mérité. Heureusement que Java et C# sont arrivés.
Merci pour cet exposé extrémiste « Seul l'objet existe ».
[^] # Re: Des utilisateurs heureux de Java
Posté par boubou . En réponse à la dépêche IBM demande à Sun de "libérer" Java. Évalué à 4.
J'adore ce genre de chose. Tu pourrais aussi me traiter d'autre chose, je laisse ton imagination débridée choisir parmi les nombreuses possibilités.
Faire des contrats de cette manière c'est utile, et pas forcément parce qu'il y a un besoin objet derrière. Un point de vue obtus ne concevant qu'objet ne peut pas le comprendre.
De retraite en retraite, la défaite s'approche. Tu es formidable. Depuis quelques posts, tu refuses de donner un exemple pertinent. Alors que j'ai accepté de reconnaître mes erreurs (par exemple sur l'héritage multiple dont tu as donné un excellent exemple d'application), tu t'enfonces, tellement lamentable que tu passes aux "insultes". C'est affligeant. Je supposes que tu ne viens pas ici pour débatre, enrichir ta connaissance et celle des autres, mais lancer des affirmations gratuites puis terminer en attaques personnelles...
Ce n'est pas une hérésie parce que C++ n'a pas la prétention (contrairement à Java) d'être exclusivement orienté objet. Ça ne te plait pas dans une approche objet, ne l'utilise pas dans une approche objet. Je ne m'en sers pas dans une approche purement objet, ce n'est pas pour ça que je compte m'en passer ailleurs.
Tu peux toujours qualifier mes propos de conneries ou d'intégrisme de l'objet, ça ne change rien au fond du problème (et ça ne te grandit pas, d'ailleurs). Tout le monde, praticien comme théoricien, reconnaît le grand intérêt des langages typés. Le système de type du C++ est bancal car la sémantique d'un objet diffère selon le mode de passage, ce qui pertube les possibilités de prédiction du comportement d'un programme. Le reconnaître n'a aucun rapport avec un quelconque intégrisme, il s'agit simplement d'une reflexion critique sur le design d'un langage. C++ a été conçu par quelqu'un qui ne connaissait pas bien les langages objets et surtout qui confondait les concepts (héritage par exemple) avec leur implémentation (table de méthodes virtuelles). Le résultat est utile en pratique car C++ permet une énorme abstraction par rapport au C, mais il est aussi très criticable. La mauvaise conception du C++ le rend par exemple beaucoup plus difficile à apprendre que des langages nettement plus riches comme Eiffel et Sather. Mais comme ces derniers ont une syntaxe à la Pascal, ils n'ont pas le succès mérité. Heureusement que Java et C# sont arrivés.
Merci pour cet exposé extrémiste « Seul l'objet existe ».
Où est-ce que tu as lu ça ?