• [^] # Re: Je me pose une question

    Posté par . En réponse au journal j'ai un rêve .... Évalué à 2.

    Restons calme,

    je répondais juste au môssieur qui se demandait comment faire de la POO avec du langage C et les liens précédents l'expliquent.

    L'une des techniques pour implémenter l'héritage c'est de jouer à fond sur les cast de pointeurs sur des structures.
    On peut même simuler le polymorphisme en incluant des beaux pointeurs de fonctions dans les structs.


    Le fait est que ce qui fait l'attrait de l'OO, c'est pas les langages mais le paradigme. Avec l'OO, on emmène avec soi la conception OO, les méthodes de suivi de projets OO, la modelisation OO (UML :).

    L'OO ca permet de faire le tri dans ses idées afin de construire une architecture solide et cohérente. (Le fameux principe de grady Booch: on décortique tout pendant l'analyse, on fait le tri dans ses idées et on réassemble de façon cohérente pendant la conception).
    L'OO ca permet de maîtriser la complexité en la rendant à nouveau accessible à l'intelligence d'un seul être humain.
    Et là ou je pense que Miguel a raison c'est qu'un OS basé sur une bonne architecture objet pourrait s'averer plus robuste qu'on ne le pense. Je ne sais pas combien représente le nb de ligne de codes de Linux mais je me demande s'il y a beaucoup de personnes au monde qui appréhendent son architecture en entier. Et si tel n'est pas le cas comment savoir si deux parties qui cohabitent le font en toute harmonie. Notez que je ne me suis jamais plongé dans la doc du kernel mais s'il y un modèle UML je suis preneur.


    Pourquoi ne pas utiliser un véritable langage objet pour faire de l'objet ? Dans certaines situations, ce sont les performances qui priment alors avec du C orienté objet on peut prendre le meilleur des 2 mondes , un bon design et lorsqu'on a besoin d'implémenter un algorithme au ptit poil encapsulé dans une méthode le C y'a pas mieux.

    Moi aussi, je rêve d'un OS où tout est objet, où l'on n'a plus besoin de savoir ce qu'est un pipe parce que les objets communiquent entre eux par message et quand je veux utiliser les services d'un objet j'invoque des messages. Et si y'a un pb je recois un bel objet sous forme d'exception sans ambiguité et pas un vieux code d'erreur qui veut rien dire et qui vaut presque tjs 1.
    Je rêve d'un OS qui n'a pas la philosophie d'unix (Aie pas taper LinuxFr) où "chaque programme ne sait faire qu'une chose mais le fait bien" mais plutôt chaque objet ne réagit qu'aux messages qu'il comprend.
    Je me prends à rever que lorsque j'edite mon code dans mon pauvre IDE, mon outil de refactoring communique avec mon compilo mais aussi mon module de test et que celui-ci m'informe que j'ai fait une cagade. Je rêve que je me fasse jeter quand je veux commiter parce que mon gestionnaire de sources demande l'autorisation à mon module de testing qui lui répond que c'est pas au point. Oui c'est vrai y'a ce bon vieux "aegis" qui peut s'interfacer avec n'importe quel outil en ligne de commande qui lui renverrait 1 comme message d'erreur.
    Je rêve d'un OS où je ne serais pas obligé de me taper des wrapper au dessus de l'interface en ligne de commande jamais fiables parce que le stout change à la moindre fantaisie du developpeur,
    mais plutôt d'un OS où le programme en question communique avec les autres sans ambiguité.


    Tiens c'est marrant on dirait .net ou peut être bien dcop. Mais ca serait tellement mieux si c'etait l'OS qui prenait en charge cette communication et pas un runtime ou autre mécanisme.
    Ainsi, on aurait moins de querelles de clocher et tous les programmes seraient non ambigus et pas seulement ceux qui veulent respecter les bons principes d'un Gnome d'un KDE , d'un Gnustep, d'un .net ou d'un J2EE. Cà allegerait sans doute le travail des developpeurs..

    Mon petit doigt me dit que quand on aura bien peaufiné cette couche logicielle, on se dira que ca serait pas mal d'appliquer ca au niveau de l'OS et peut être même du hard. Mon petit doigt me dit qu'il faudra que les gens changent de philosophie (Unix vs Objet) pour que ca marche et que ca n'est pas demain la veille. Attention avant que Billou n'en ait l'idée. Mais qui sait dans le monde du libre "TOUT EST POSSIBLE"

    ---

    La vérité n'est pas dans un seul rêve, mais dans beaucoup de rêves.
    [Pier Paolo Pasolini]