IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Quel avenir du C++ par rapport au C# ou à Java ?


Sujet :

Débats sur le développement - Le Best Of

  1. #41
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par sylvain114d
    - le monde des langages de bas niveau (C)
    Le C est un langage de haut niveau. Les bas niveau sont plus spécifiques aux matériels. Le C est très portable. On causait à un moment de l'histoire de haut/bas niveau dans ce thread.
    Tom

  2. #42
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Quel débat entre Metal Tom et Fëanor13 !

    Il y a juste un truc qui m'a dérangé quand vous commenciez à parler fortement d'ordinateurs intelligent. Vous avez commencé par vous demander ce que serait la prog de demain, et vous voilà en train de penser à des ordinateurs qui "sauraient comment faire" les choses et prendraient des décisions. Seulement, ces deux notions sont à mon avis divergentes et doivent absolument le rester.
    J'ai toujours eu l'intime conviction que l'intelligence et l'incompétence étaient en fait les deux facettes du même phénomène, deux notions indissociables. En d'autre termes, l'intelligence artificielle ne pourra se faire sans "incompétence articielle". Je m'explique : qu'est-ce qui fait à l'heure actuelle la puissance des ordinateus ? C'est le fait que tu peux leur demander n'importe quoi, à n'importe quel moment et autant de fois que tu veux, il te répondra toujours la même chose, de façon rationnelle et sans jamais t'envoyer chier parce qu'il en a marre de répondre. C'est sa force, et pourtant c'est ce qui prouve qu'il est particulièrement stupide. Prenons maintenant un ordinateur super intelligent, capable de prendre des décisions, de corriger tes erreurs, etc... il serait forcément amené à remettre en cause tout ce que tu lui dis, et à l'interpréter à sa façon... Il serait devenu très intelligent, mais aussi totalement faillible. Car qui dit prise de décision dit possibilité d'erreur dans cette prise de décision, ce qui est définitivement inadmissible dans le cadre du comportement d'un ordinateur tel qu'on le connait.

    Je ne dis pas que l'intelligence artificielle n'a pas d'avenir dans l'informatique, ce serait absurde. Ce que je veux dire, c'est qu'il doit naître à mon avis une nouvelle espère d'ordinateurs intelligents, mais que cette nouvelle génération ne PEUT PAS faire disparaître celle que nous connaissons, celle que nous programmons, car celle-ci nous sera toujours indispensable. Je crois donc que vos avis divergent littéralement car ils se rapporte à deux modes d'évolution qui sont nécessairement amenés à se compléter, dans des domaines d'application radicalement différents.

    D'autres part, quand metal tom parle de base ternaire, il n'est pas très loin de la vérité puisque la physique quantique (qui n'après de nombreux scientifiques sera amenée à supplanter la micro-électronique dans le domaine de l'informatique) permet de coder les infos à partir de trois état. Un photons peut être soit dans un état, soit dans un autre, soit les deux à la fois...

  3. #43
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Je vais peut etre te paraïtre niais en te demandant ca, mais je pars du principe que pour débattre les choses doivent être posées clairement. Lorsque tu parles de possibilité d'erreur, sur prise de décision, j'aimerais savoir ou tu situe exactement l'erreur. Si par exemple l'erreur se situait au niveau de l'interprétation de l'ordre donné par un utilisateur, le problème ne se poserait pas. C'est bête, mais où un tel ordinateur commetrait une erreur de décision ?

    J'ajouterais concernant le sujet, que trois état ne remettrons en cause qu'un petite partie du C/C++. Personnelement je les utilise assez souvent, mais je ne suis pas sur que tout le monde utilise frequement les opérateurs &, |, ^, <<, ou >> (avec des entiers, pas les surcharges). Leurs sens étant exclusivement binaire, il va falloir leur redonner un nouveau sens (pour les décalages de bits, le nouveau sens ne pose pas de problèmes).

  4. #44
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Metal Tom a dit
    Le C est un langage de haut niveau. Les bas niveau sont plus spécifiques aux matériels. Le C est très portable. On causait à un moment de l'histoire de haut/bas niveau dans ce thread.
    Bien sur ça depend ou tu te places, moi je parlai par rapport au Java, Php...
    Le C permet une manipulation direct de la memoire et ça c'est pas vraiement du haut niveau !!!

  5. #45
    Expert éminent
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Points : 6 418
    Points
    6 418
    Par défaut
    Je pense que le C++ restera, comme le C reste et l'assembleur reste.

    Par contre, pour le developpement de progiciel ou de systèmes d'information le C++ me semble un peu dépassé (pas taper ). On a des platterformes de développement avec le support du xml en standard, les webservices, la possibilité de faire une partie d'un système en web sans changer de plateforme, etc... Disons que c'est des facilités qui font gagné du temps et c'est bien connus le temps c'est de l'argent.

    On a maintenant entre .NET et java des plateformes de développement qui permettent de programmer plus vite et d'éviter pas mal de bug dans les programme avec la disparitions de pointeur et le code managé. Vous allez me dire qu'un programme bien fait en C++ n'as pas de bug, de dépassement de mémoire, etc ... Je suis d'accord, mais en C++ c'est une chose de plus à laquelle il faut penser donc forcément quelque part du temps "perdu".

    Là ou j'émmet des doutes c'est sur les jeux et la 3D. Java ne me semble pas du tout adapté et même si on à l'impression que microsoft voudrait que tout le monde fasse ces jeux avec DX9/C# je demande quand même à voir...

    Donc pour conclure, le c++ disparaitra : NON. C'est juste qu'on ne fera plus certainnes choses avec ! Mais le C++ restera dans les jeux, l'informatique industrielle, et l'informatique embarqué !

  6. #46
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par neo.51
    Je pense que le C++ restera, comme le C reste et l'assembleur reste.
    C'est évident. A mon avis ils ont la même "espérance de vie" pour être plus précis..

    Citation Envoyé par neo.51
    Par contre, pour le developpement de progiciel ou de systèmes d'information le C++ me semble un peu dépassé (pas taper ). On a des platterformes de développement avec le support du xml en standard, les webservices, la possibilité de faire une partie d'un système en web sans changer de plateforme, etc... Disons que c'est des facilités qui font gagné du temps et c'est bien connus le temps c'est de l'argent.
    Tu prêches pour ta paroisse, c'est un peu normal. Chaque informaticien a des langages et outils qu'il adore et des langages/outils qu'ils détestent. Et c'est de là que naissent de superbes trolls quand deux informaticiens se rencontrent sur un forum :-)

    Citation Envoyé par neo.51
    On a maintenant entre .NET et java des plateformes de développement qui permettent de programmer plus vite et d'éviter pas mal de bug dans les programme avec la disparitions de pointeur et le code managé. Vous allez me dire qu'un programme bien fait en C++ n'as pas de bug, de dépassement de mémoire, etc ... Je suis d'accord, mais en C++ c'est une chose de plus à laquelle il faut penser donc forcément quelque part du temps "perdu".
    C'est vrai que le débuggage en C (et en C++ dans une moindre mesure) c'est long, fastidieux et chiant.

    Citation Envoyé par sylvain114d
    Bien sur ça depend ou tu te places, moi je parlai par rapport au Java, Php...
    Le C permet une manipulation direct de la memoire et ça c'est pas vraiement du haut niveau !!!
    Là je suis d'accord.

    Sinon je suis d'accord avec tout ce que dit Blustuff. (pour faire court... )

    Citation Envoyé par papapetz
    Quel débat entre Metal Tom et Fëanor13 !
    Ca devient éprouvant. Surtout quand tout le monde s'y met !

    Sinon ce que tu dis à propos de l'intelligence artificielle et de l'incompétence artificielle, etc. Je pense que tu vois la chose d'une façon trop philosophique. L'intelligence artificielle est par définition artificielle. Je ne crois pas qu'elle a pour but de faire émerger des sentiments à une machine. On est pas dans Star Trek (comme hier soir sur Canal Jimmy où Data apprenait à danser : c'était trop fun la gueule qu'il tirait ).
    Le but c'est que les machines arrivent apprendre, programmer. Après il y a la notion de vie artificielle qui va avec c'est à dire la régénération, l'autoréparation, la reproduction. Imagines t'as une machine qui fait d'autres machines : t'as tout un parc informatique pour pas un rond !!!
    Sinon quand tu dis que des ordinateurs artificiellement intellignets ne pourront pas remplacer les ordinateurs actuels. Moi je pense que justement si. Les machines actuelles seront complètement dépassées par les capacités des autres. A moins que ça ne serve de jouet pour les enfants.

    Citation Envoyé par papapetz
    D'autres part, quand metal tom parle de base ternaire, il n'est pas très loin de la vérité puisque la physique quantique (qui n'après de nombreux scientifiques sera amenée à supplanter la micro-électronique dans le domaine de l'informatique) permet de coder les infos à partir de trois état. Un photons peut être soit dans un état, soit dans un autre, soit les deux à la fois...
    C'est un exemple parmi tant d'autres de projets de machines futures.

    Bon, j'arrête là : je suis crevé après un message pareil. Je retourne me coucher :-)
    Tom

  7. #47
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    ce qu'oublie neo.51, c'est qu'avant de gagner du temps, il faut en
    perdre (formation et changement de mentalité)

    Seules les entreprises bien structurées, capables d'avoir des objectifs
    à long terme peuvent faire le pari des plateformes (java ou .NET)

    beaucoup de directions d'entreprises naviguent à vue (elles lisent 01
    Informatique pour connaître le vocabulaire à la mode) et seul le talent
    des individus permet qu'elles s'en sortent

    Or les plateformes .NET ou Java ne peuvent être que des choix
    d'entreprises et non d'individus (car nécessitant trop d'investissements)

    donc exit le langage C# qui n'existe pas en dehors de .NET

    C/C++ font partie des langages préférés des individus

  8. #48
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    En fait blustuff ce que je veux dire c'est qu'une prise de décision engendre nécessairement un choix entre plusieurs solutions, sachant que ces solutions n'apporteront pas les même résultats. Il y a donc forcément une incertitude dans la qualité du résultat obtenu.
    Je sais qu'un ordinateur qui commetrait des erreurs, cela peut paraître irréaliste pour nous qui ne connaissons que les ordinateurs sous forme de machines qui appliquent bêtement une tâche, et ne peuvent donc pas se tromper dans l'exécution de cette tâche (sauf erreur de leur concepteur). Mais c'est justement parce que l'intelligence apporte aux ordinateurs un mode de fonctionnement totalement différent que des notions, tout aussi nouvelles, d'erreurs et d'imprécision, feront aussi leur apparition.

    En gros ce que j'essaie de dire, c'est que pour être aussi intelligent que nous, un ordinateur devra nécessairement être aussi faillible que nous. De même que pour être aussi précis et infaillible qu'un ordinateur, nous devrions nécessairement devenir aussi stupides que lui. L'un ne va pas sans l'autre.

    On dit souvent que "l'erreur est humaine", moi je vais juste un peu plus loin en disant que l'erreur est le propre de toute forme d'intelligence.

  9. #49
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Il suffit de penser aux systemes experts. Ils sont censes donner la solution la plus probable, cais celle-ci peut-etre fausse. Le fait de savoir qu'elle est fausse et de connaitre plus tard la bonne reponse va aider le systeme expert a apprendre.

    Ce n'est evidement que quelque chose de tres rudimentaire par rapport a une veritable intelligence qui est en general amenee a faire des choix quasiment en permanence dans des tas des domaines differents, mais il existe deja une forme d'erreur, la ou l'intelligence se pointe.

    Maintenant, une intelligence artificielle devrait toujours etre capable de ne jamais se tromper dans une addition.
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  10. #50
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Merci Elrond d'avoir cité le cas des systèmes expert, je voulais y faire à l'allusion et finalement j'ai oublié (suis-je trop intelligent ? )

    Citation Envoyé par Metal Tom
    A moins que l'on ne copie le mode de résonnement de l'être humain. Et comme on ne le connaît pas ce serait un difficile à faire.
    Bien au contraire, c'est la seule chose que l'on sache faire à l'heure actuelle ! On n'a pas encore su imaginer une approche de l'intelligence qui soit radicalement différente du fonctionnement de notre cerveau. Certains spécialiste avancent d'ailleurs que cette approche nous conduit droit dans le mur...

    Enfin bref, ce que je voulais surtout dire, c'est que dans certains contextes bien précis, il est hors de question qu'un ordinateur puisse avoir le droit de prendre une décision, qu'elle soit bonne ou mauvaise. Deux types d'informatique doivent coexister : l'informatique intelligente (mais peut-on encore appeler ça de l'informatique ? le terme système cognitif serait p-e plus adapté), et l'informatique traditionnelle, celle qui exécute un ordre sans "réfléchir", sans interpréter et SURTOUT sans prendre la MOINDRE décision autonome.

    Ne me dit pas qu'on n'aura un jour plus besoin de machines stupides et obéissantes sous le prétexte qu'elles seront tellement intelligentes qu'elles feront tout toutes seules. La preuve de ce besoin, tu la trouveras en observant les humains eux même : certains êtres humains en "forment" d'autres pour que ceux ci obéissent aveuglément, tout simplement parce que la démarche est plus efficace et moins risquée. Tout comme avec les ordinateurs, la moindre prise de décision ou d'autonomie de la part de ces outils (je parle des soldats, SRC et compagnie au cas ou tu n'aurais pas compris) remettrait en cause le but que se sont fixé ceux qui les utilisent. L'excés d'intelligence existe et existera toujours. Et le besoin de s'en affranchir se fera toujours sentir, dans tous les domaines, que ce soit pour une cause juste ou moins juste.

  11. #51
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Je suis chiant Patapez, mais tu n'a rien précisé, tu as redis la même chose differement. Je ne sais toujours pas où est la possibilité d'erreur.

    Je sais que mon avis sur le sujet que je vais énoncer n'est que de piètre valeur, vu que je programme d'une manière assez peu commune, c'est pour cela que j'aimerais avoir votre avis. Du C++, vers un langage qui n'a pas le type d'erreur reproché au C++, cad, pointeurs invalides, mauvaise déréférenciation, fuite de mémoire etc., ces opérations justement dangereuses sont remplaacées par quoi ? cad, que pour moi c'est opérations risquées sont effectivement très pratique, et si elles n'existent pas dans les autres langages, c'est tout de même une contrainte. Et il me semble que l'on peut très bien programmer en C++, sans pointeur, si on utilise des objets programmés par d'autres, comme celles du standard ou d'API quelconques. Vous en pesnez quoi ? (étrangement j'ai pas eu l'impression d'etre très clair)

  12. #52
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par Metal Tom
    Analysons les mauvaises décisions. Elles viennent de quoi :
    - mauvaise connaissance du sujet sur lequel porte la désision
    - mélange des sentiments personnels
    - pression hiérarchique ou d'opinion public
    LOL !!! Si pour toi ces 3 lignes résument l'ensemble des possibilités d'erreur d'un système cognitif, c'est que tu n'as vraiment aucune idée de la complexité d'un tel système
    Un système cognitif tel que le cerveau est puissant parce que c'est un système COMPLEXE. C'est sa complexité qui en fait la puissance. Mais c'est aussi sa complexité qui en fait l'instabilité. Un malade mental n'est rien d'autre qu'un cerveau qui a été victime de sa propre complexité. Les états d'âme sont aussi la conséquence de cette complexité. De plus, notre cerveau est en plus une méta-intelligence : il arrive à analyser et comprendre son propre mode de compréhension. Ce qui en fait un système encore un peu plus fragile : les problèmes métaphysiques ne sont qu'une barrière de plus à l'efficacité pragmatique du cerveau.
    Je ne crois pas que tout ceci soit résumable en 3 lignes. Bref.

    La phrase que j'avais dite précédemment est pourtant évidente, mais tu ne semble pas vouloir l'admettre : Toute prise de décision engendre une possibilité d'erreur dans cette prise de décision.

    Je ne vais pas tourner et retourner cette phrase dans tous les sens pour te l'expliquer, elle me paraît simple et évidente, ne serait-ce que parce que la validité d'une décision de peut être calculée de façon déterministe.

    Enfin, j'ajouterai que pour inventer un système cognitif qui ne se trompe pas, il va déjà falloir inventer un mode d'intelligence autre que tous ceux que nous connaissons. En effet, le mode d'apprentissage d'un cerveau (humain ou autre) est basé sur l'échec. Ca tu n'y peux rien, c'est comme ça. Cela dit ce n'est qu'un demi-argument puisque l'intelligence artificielle a justement pour but d'arriver à se dégager de notre propre mode de fonctionnement.


    Blustuff>> de quels erreurs tu parle, les erreurs de programmation et d'exécution d'un programme ?? Si c'est le cas on ne parle plus du tout de la même chose là...
    Par contre, si tu parle bien des erreurs engendrées par une prise de décision quelle qu'elle soit : Tu me demande de préciser les "erreurs" auxquelles je fais allusion. Tu vas p-e trouver ça un peu facile, mais je pense (comme je le sous-entendait plus haut) que vouloir les énumérer ne ferait que montrer qu'on n'a pas bien compris la portée du sujet. Il ne s'agit pas de trouver des exemples et/ou des contre-exemples, mais bien de PROUVER l'éventualité d'un comportement faillible. Personnellement, je n'ai absolument pas les compétences requises.

  13. #53
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Non, je ne pense pas que l'on puisse lister les causes d'erreurs du cerveau huamain, pour moi c'est plutot vain, on ne sauras jamais si la liste est complète ou non. Par contre on peut s'apercevoir qu'il existe parmis ces erreurs, les erreurs d'oublis très fréquente dans un résonement, et représentant la quasi-totalité des errreurs dans les démarche scientifiques a mon sens (n'expliquant pas le sens que je lui donne ca ne veux pas dire grand chose), et les erreurs physiques ou je ne sais pas comment les appeller qui peuvent être représentée par la fatigue les maladies enfin tout ce qui trouve son equivalent dans les erreurs au niveau température / parasites éléctromagnétiques dans un proc, mais qui sont bien moins nombreuses. M'enfin, ce paragraphe s'éloigne beacoup du sujet je préférerais qu'on laisse tomber ou qu'on continue plus loin ou sur un autre post.


    Concernant le système intelligent, auquel tu t'interessais dans ta réponse, je trouve justement que cette notion d'erreur est mal défini. Tu dis que c'est évident, mais moi je ne trrouves pas. L'évidencee n'a jamais été une preuve, et je ne te demande pas de tourner ta phrase, mais d'approfondir ce que tu as dit. Pour moi, dit comme ca, ca reste très empirique pour reprendre les mots d'un autre.


    Et dernièrement encore sur un autre sujet, mais très proche du sujet celui là (je suis bien hein je fait un paragraphe pour chaque sujet complètement indépendant :)) ), je parle simplement du codage, et effectivement dees erreurs d'execution. (Je vioens de me relire, et c'est vrai que j'ai oublié de mette un lien logique, pardon....). C'est donc sur quelque chose de complétement différent, quelque chose de reproché au C++ dans les posts précédents.

  14. #54
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Pour patapetz : du calme, je ne résumais pas toutes les erruers possibles mais juste celles que je voyais en réfléchissant 2 minutes. J'attendais que chacun en sorte quelques unes. Ce qu'à fait Blustuff dans le premier paragraphe de sa réponse
    - oublis
    - physiques(fatigue, maladies et j'ajoute surtout le stress)
    - température / parasites éléctromagnétiques dans un proc
    les deux premiers sont corrigeables pour une machine. Le troisième c'est une histoire de bonne conception. N'oublions pas que les erreurs des premiers ordinateurs c'était beaucoup à cause de morpions qui bouffaient les fils électriques (d'où le bug mais tout le monde la connait cette histoire).

    Mais je ne dis toujours pas que c'est les seules causes d'erreurs. Je ne dis pas queles causes d'erreurs sont dénombrables. Mais de ce qu'on a vu pour l'instant il n'y a rien d'insurmontable. Et cela n'enlève aucunement de la complexité au système.

    Citation Envoyé par patapetz
    La phrase que j'avais dite précédemment est pourtant évidente, mais tu ne semble pas vouloir l'admettre : Toute prise de décision engendre une possibilité d'erreur dans cette prise de décision.
    Souligne le mot possibilité. Il y a une possibilité d'erreur mais ce n'est pas certain. C'est une histoire de probabilités à ce niveau là.

    Sinon pour l'histoire de reprendre un programme ou objet/structure, etc de quelqu'un d'autre (dernier paragraphe du premier message après mon précédent de Blustuff) personnellement je déterste ça. Mais heureusement pour moi c'est arrivé que dans le cadre d'un projet et une fois pour un stage. Sinon je préfère faire tout moi même. Mais il y a beaucoup de cas où c'est infaisable.

    Citation Envoyé par patapetz
    Enfin, j'ajouterai que pour inventer un système cognitif qui ne se trompe pas, il va déjà falloir inventer un mode d'intelligence autre que tous ceux que nous connaissons.
    C'est pas exclu ? L'informatique est lea seule science où on invente tout. Les autres sciences on découvre.

    Citation Envoyé par patapetz
    En effet, le mode d'apprentissage d'un cerveau (humain ou autre) est basé sur l'échec. Ca tu n'y peux rien, c'est comme ça. Cela dit ce n'est qu'un demi-argument puisque l'intelligence artificielle a justement pour but d'arriver à se dégager de notre propre mode de fonctionnement.
    Pourquoi forcément copier notre mode de fonctionnement ? Vu qu'on est trop faillible à quoi ça sert ? Si une machine calcule aussi lentement que nous elle est bonne pour la casse. Mais c'est vrai que pour certaines choses on peut s'inspire. Mais la question est : prennons nous les avantages de l'humain ou les inconvénients ? C'est une autre histoire.
    Tom

  15. #55
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Il est evident qu'on peut faire le bon choix sans avoir toutes les informations. En ayant toutes les informations, on peut aussi faire le mauvais choix, mais c'est la ou les machines seront peut-etre moins faillibles que l'etre humain.

    Maintenant, quant a savoir ce qu'est un bon ou mauvais choix, tout depend de la question a laquelle il faut repondre ou de l'action a realiser.

    Simplement pour servir un cafe fait avec un appareil specifique. Disons qu'on sait qu'il faut 15 minutes apres qu'il soit fait pour qu'il soit a une temperature buvable. Un homme sera parfois presse et le servira avant, au risque que des gens se brulent s'ils ne font pas attention. Une machine decidera plus probablement d'attendre le delai prevu. Il y aura peut-etre toujours un risque que la personne se brule si la temperature exterieure est elevee et que le cafe refroidit moins vite. C'est le genre d'erreur sur laquelle la machine apprendra, et sera rapidement a meme de calculer le temps necessaire en fonction de la temperature exterieure (meme pour des temperatures encore inconnues). Disons que c'est un melange entre l'apprentissage par l'erreur et la deduction. L'homme fait aussi ca, mais peut-etre moins vite et moins efficacement que ne devrait le faire une intelligence artificielle bien concue.

    L'autre solution est d'equiper la machine d'un thermometre, pour lui donner la totalite des informations necessaires... Sauf qu'elle ne saura jamais si une certaine personne n'est pas plus sensible qu'une autre a la chaleur. Doit-elle pour autant ne servir que des cafes froids pour etre sure de ne pas faire d'erreur?

    C'est un exemple tout con, et il evident qu'en principe l'utilisation d'un thermometre est la meilleure solution. Mais dans la vie reelle avec les decisions a prendre, il existe de nombreux cas ou on ne disposera pas de l'equivalent d'un thermometre permettant de connaitre la "totalite" du probleme. Cela doit-il bloquer la machine? Certains humains se bloquent et refusent d'agir (ce qui peut etre un tord), d'autres agissent, parfois a tord, parfois a raison.

    Dans le cas d'un programme actuel, la meconnaissance de la temperature du cafe sera de nature a causer un echec du programme (pas un plantage), une exception... Dans le cas d'une veritable intelligence artificielle, si on veut qu'elle aie plus de valeur, il faudra qu'elle puisse prendre ce genre de decision avec une connaissance partielle. L'intelligence devrait lui permettre le plus souvent de prendre la bonne decision, mais pas toujours.
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  16. #56
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Bon alors dans ce cas je vais essayer de donner les 3 raisons principales qui me viennent à l'esprit pour démontrer qu'une erreur est NECESSAIREMENT possible dans toute prise de décision :
    1) Il peut exister plusieurs solutions de validité équivalente.
    2) Comme je le disais, la validité d'une décision ne peut être calculée de façon déterministe. En effet, il faudrait pour cela une connaissance supérieure à celle qu'a nécessité la prise de décision initiale.
    3) Comme le sous-entendait Elrond avec son café, la validité d'une solution dépend de l'utilisateur, elle ne sera pas la même pour tous, ni a tous moments.

    Je précise que tout cela est loin d'être exaustif, il existe sûrement des démonstrations plus scientifiques, mais encore une fois : je n'ai pas la compétence.

    Mais enfin bon, moi tout ce que je disais au départ, c'est que la prise de décision, bonne ou mauvaise, est à bannir dans certains domaines. Tu es quand même bien d'accord qu'une prise de décision implique une forte probabilité de modifier le cours des choses ?? (à moins que la décision prise soit celle de ne rien changer, auquel cas elle va à l'encontre de l'objectif même de la prise de décision). Or, si je dis à mon ordinateur de faire un truc, je ne veux pas qu'il se demande si c'est bien ou pas, pourquoi je veux faire ça, s'il a envie de le faire, si c'est dans son intérêt, dans le mien, dans celui d'un autre, etc... Je veux qu'il le fasse, un point c'est tout. Je parle en particulier de programmation : imagine que, lorsque tu as un bug (pas forcément un plantage mais plus un disfonctionnement), tu soit obliger, en plus de savoir où tu t'es planté, de te demander si ton ordinateur n'a pas modifié un truc parce qu'il n'était pas d'accord, ou parce que c'était plus facile pour lui, ou autre. Bref, je pense qu'il faut distinguer deux domaines d'applications :
    - ceux où l'on de souhaite pas que l'ordinateur prenne de décision (je ne cherche pas ici à savoir si elle est bonne ou mauvaise)
    - ceux où il est au contraire souhaitable de bénéficier de toutes les possibilités apporter par l'intelligence artificielle

    Je ne dis pas que ces domaines ne doivent pas cohabiter, je dis seulement qu'ils doivent continuer d'exister TOUS LES DEUX. Ils peuvent même exister sur la machine, à condition que celle-ci soit capable de savoir quand elle a le droit de réfléchir, et quand elle ne doit pas le faire.

    Voilà, je n'ai pas cherché à savoir ici si une possibilité d'erreur était présente, je suis juste parti du principe que la raison d'être d'une prise de décision est de changer le cours des choses. J'espère que vous serez d'accord avec cette notion...

  17. #57
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Faudrait que la machine boive la café pour voir si il est bon
    Mais en fait cet exemple n'est pas forcément le meilleur. Je pense que l'informatisation à outrance c'est débile. Quand je pense qu'il y en a qui tapent leur liste des courses sur ord ou excel et l'impriment ensuite... ils oublient que ça va plus vite au papier/crayon.
    Le café c'est pareil : tu veux un bon café : tu te démerdes. Mais sinon je vois où tu veux en venir.
    Tom

  18. #58
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Citation Envoyé par Metal Tom
    ...
    Le café c'est pareil : tu veux un bon café : tu te démerdes. Mais sinon je vois où tu veux en venir.
    Exactement. Ce n'etait que pour prendre un exemple de quelque chose qui ne soit pas puremant du calcul informatique, quelque chose pouvant necessiter une prise de decision.

    En plus ce serait la meme problematique encore. Chacun aime le cafe a sa facon. Quelle decision doit prendre la machine. Le faire fort, leger, ... Je ne souhaite pas specialement une informatisation a outrance mais si un jour chacun a son "intelligence artificielle" de menage, faire le cafe pourrait etre une de ses taches, au moins pour les jours ou on n'en a pas le temps...

    Mais il est fort probable que nous ne verrons pas ce futur et que le C++ pour des programmes classiques sera encore utilise pour longtemps.
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  19. #59
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Si une seule personne bois le cafe, c'est facile, la machine saura son gout (sauf la premiere fois). Si plusieurs personnes le boivent (pas toujours les memes en meme temps), il va falloir combiner, ce qui demande une prise de decision... Comme c'est un cas simple, il devrait rapidement y avoir moyen de satisfaire a peu pres tout le monde. Mais c'est le principe des erreurs. Apres peut-etre deux ou trois essais avec beaucoup d'insatisfaits, la machine trouvera la meilleure combinaison. Encore une fois, il y a a priori la possibilite d'erreur, de resultat non exact...
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  20. #60
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Oui, enfin sur cela a part Patapez, on s'éloigne tous du sujet. Donc a priori, si je me souviens bien, on pourrais dire que si des programmes doué de décision voient le jour, le C++ se verra emputé d'une part de son interet.

    Pour revenir au langage en lui même, je vais essayer de reformuler ma question. Le programmeur C++, se doit d'être prudent et d'ecrire un code propre, en opposition avec le programmeur dans un autre langage évolué qui n'a pas a se soucier d'un tas de détails. Mais à quel prix ? Est-ce que ces outils, comme les pointeurs, courant en C++, source d'erreurs, n'ont il pas cet aspect très pratique, et proposent d'autres solutions aux problèmes qui doivent être contournés dans des langages n'en ayant pas ?

Discussions similaires

  1. Quel intéret du Portage par rapport à indépendant ?
    Par sylk974 dans le forum Structure
    Réponses: 20
    Dernier message: 01/03/2019, 08h46
  2. Réponses: 1
    Dernier message: 16/08/2010, 10h34
  3. Réponses: 2
    Dernier message: 31/10/2009, 15h01
  4. Quel est l'intéret de Google Chrome OS par rapport à Android ?
    Par Annaelle32 dans le forum Actualités
    Réponses: 16
    Dernier message: 13/07/2009, 18h38
  5. Réponses: 1
    Dernier message: 30/04/2007, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo