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

C++ Discussion :

Norme qui décide ?


Sujet :

C++

  1. #1
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut Norme qui décide ?
    Bonjour,

    Qui décide que telles ou autres fonctions sont compatibles avec un standard qui se meut comme un camenbert frais ?

    Avec le code de la route c'était facile:
    -On observait la vitesse moyenne dans un lieu-dit. On puisait l' écart-type de cette moyenne.

    -Puis on établissait la vitesse autorisée au dessous de la moyenne diminuée de l' ecart-type.
    Ainsi les radars fonctionnaient à plein .

    Mais concernant ISO et ANSI je ne vois pas par quelle bretelle, il y aurait une explication...

    Aidez-moi à faire le clair entre ISO et ANSI dans la programmation C++.

    Cordialement.

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Salut

    Pour l'ISO regarde ici
    Pour l'ANSI regarde

    En gros ISO norme internationale (146 pays), norme ANSI, purement américaine.
    Maintenant, pour le C++ ...

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut Re: Norme qui décide ?
    Citation Envoyé par dj.motte
    Avec le code de la route c'était facile:
    -On observait la vitesse moyenne dans un lieu-dit. On puisait l' écart-type de cette moyenne.

    -Puis on établissait la vitesse autorisée au dessous de la moyenne diminuée de l' ecart-type.
    Ainsi les radars fonctionnaient à plein .
    Je pensais qu'il fesait pareil avec les fonctions

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Bonsoir,

    Merçi à Trap D pour m' informer sur ISO et ANSI.

    Aprés lecture de ces deux bulletins ...plus difficle pour moi à lire en Anglo-Américain, je me pose une question. Certes c'est dans la mentalité du Gaulois que de vouloir tout contester...

    Apparamment les deux textes se valent. Les néo-marxistes (tiers-mondialistes ) diront que les deux, c'est l'impérialisme Américain...

    Je ne pense pas de la sorte.

    Mais je veux faire remarquer que "L ' enfer est pavé de bonnes intentions".

    Supposons une nécéssité de la norme universelle...Ce serait un enfer. Plus personne ne saurait comment déroger à cette norme.

    Et le plus affligeant dans cette issue, ce serait que tout le monde s' impliquerait à la règle , SANS EN AVOIR DE RETRIBUTION NI RETOUR.

    Cela serait la norme pour la norme !


    Cordiamement.

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Il n'y a rien de pire qu'être dans la norme, c'est ça que tu veux dire ? (et que je pense un peu aussi )

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 29
    Points : 24
    Points
    24
    Par défaut
    Le standard permet d'avoir des codes portables et compatibles avec tous les compilateurs respectant le sus-cite standard (idealement le plus possible). Pas besoin d'aller plus loin, il FAUT un standard. En Cpp c'est l'ANSI qui mene la danse (tu peux y voir l'imperialisme americain :p).

    W3, ANSI, ISO, a way of life

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Bonsoir,

    Les normes ( ISO, ANSI ) sont bonnes à prendre à condition qu' elles ne deviennent pas en elles-mêmes des finalités à prendre.


    Cordialement.

  8. #8
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Si tu cherches des langage franco français,
    tu devrais trouver ton bonheur auprès de Prolog, Ocaml, et LSE.

    Et si la norme t'ennuie, rien ne t'empeche de créer ton propre langage. Rien de plus facile.

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par LeGreg
    Si tu cherches des langage franco français,
    tu devrais trouver ton bonheur auprès de Prolog, Ocaml, et LSE.

    Et si la norme t'ennuie, rien ne t'empeche de créer ton propre langage. Rien de plus facile.
    Tu es sûr que Prolog soit franco/français ?? Par contre, LSE, je ne savais même pas qu'il existait encore !

  10. #10
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Trap D
    Tu es sûr que Prolog soit franco/français ??
    En tout cas son auteur l'est:
    http://www.lim.univ-mrs.fr/~colmer/tablematiere.html

    Citation Envoyé par Trap D
    Par contre, LSE, je ne savais même pas qu'il existait encore !
    Un langage ce n'est pas une personne ou une espece en voie d'extinction, si il existe hier, il existe aujourd'hui.

  11. #11
    Membre habitué
    Profil pro
    Enculeur de mouches
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Enculeur de mouches

    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 161
    Points
    161
    Par défaut Re: Norme qui décide ?
    Citation Envoyé par gege2061
    Citation Envoyé par dj.motte
    Avec le code de la route c'était facile:
    -On observait la vitesse moyenne dans un lieu-dit. On puisait l' écart-type de cette moyenne.

    -Puis on établissait la vitesse autorisée au dessous de la moyenne diminuée de l' ecart-type.
    Ainsi les radars fonctionnaient à plein .
    Je pensais qu'il fesait pareil avec les fonctions
    Bien sûr qu'il font pareil !!! D'ailleurs, après ces fêtes de noël, personne n'a t il reçu la démo de P=NP ????

    Parceque, si, le "voyageur de commerce", équivalant au "sac à dos", peut se résoude en P... Une conjecture affirme qu'une preuve difficile n'a pas de "concrétisation", d'applications... Les maths elles mêmes prouvent qu'une application simple, ne peut avor de preuve concrète (ou est-ce l'inverse??)

    Genre j'arrive à être compliqué en voulant rester simple...

  12. #12
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par LeGreg
    Et si la norme t'ennuie, rien ne t'empeche de créer ton propre langage. Rien de plus facile.

    Citation Envoyé par SKZ81
    Bien sûr qu'il font pareil !!! D'ailleurs, après ces fêtes de noël, personne n'a t il reçu la démo de P=NP ????

    Parceque, si, le "voyageur de commerce", équivalant au "sac à dos", peut se résoude en P... Une conjecture affirme qu'une preuve difficile n'a pas de "concrétisation", d'applications... Les maths elles mêmes prouvent qu'une application simple, ne peut avor de preuve concrète (ou est-ce l'inverse??)
    Tu m'otes les mots de la bouche

  13. #13
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par LeGreg
    Un langage ce n'est pas une personne ou une espece en voie d'extinction, si il existe hier, il existe aujourd'hui.
    Un langage, tout comme une langue peut devenir un langage mort !

  14. #14
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Bonsoir,

    Merçi encore à Trap D pour les liens sur ANSI et ISO.

    Mais concernant les normes du C++ , je suis un peu dérouté.

    Avec Windows et CBuilder++, on me livre un logiciel "pur ANSI et peut-être même pur ISO".

    Dans ce cas, il y a dans "<string.h>" la fonction "stricmp" et la possibilité d' inclure "<io.h>".

    Avec Linux, dans "<string.h>" plus de "stricmp" mais "strcasecmp". De plus "<io.h>" n'existe plus !
    Par contre une invitation à se servir de POSIX.

    Alors à quoi sert la normalisation en C++ si en passant d'un système d'exploitation à l'autre, on ne s'y retrouve pas ?

    Cordialement.

  15. #15
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par dj.motte
    Avec Windows et CBuilder++, on me livre un logiciel "pur ANSI et peut-être même pur ISO".
    C'est juste de la publicité mensongère.

    Citation Envoyé par dj.motte
    Alors à quoi sert la normalisation en C++ si en passant d'un système d'exploitation à l'autre, on ne s'y retrouve pas ?
    Il y a dans chaque compilateur des extension par rapport à la norme. La norme garanti plus un minimum commun que l'on doit trouver partout (et dont ni stricmp, ni strcasecmp ni io.h ne font partie).
    Et même si ça a mis du temps, je trouve qu'aujourd'hui (depuis VC++7.1 et gcc 3.0) le respect de la norme commence à être bon dans beaucoup de compilateurs. Suffisemment en tout cas pour que le développeur qui n'utilise les extensions qu'en tout connaissance de cause n'ait pas trop de surprises en passant d'un environnement à l'autre.

  16. #16
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Bonsoir,

    Citation Envoyé par JolyLoic
    l y a dans chaque compilateur des extension par rapport à la norme. La norme garanti plus un minimum commun que l'on doit trouver partout (et dont ni stricmp, ni strcasecmp ni io.h ne font partie).
    Par norme j'entends ANSI ou ISO. Pas la norme des psychanalystes.

    Je ne comprends pas pourquoi des fonctions et des librairies ont été sabré de la norme( ANSI & ISO ) avec Linux.

    Pourquoi ne pas intégrer les procédures "anciennes" dans la mesure où elles sont opérationelles ?

    Il y aurait plusieurs version de la même procédure.

    Et pourquoi pas ?

    La norme ( ANSI & ISO ) procède selon moi, comme un sécateur. On détruit puis on espère une reconstruction.

    Fatigué.

    Cordialement.

  17. #17
    Membre habitué Avatar de PINGOUIN_GEANT
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 149
    Points : 155
    Points
    155
    Par défaut
    il ne faut pas que "cela" soit trop gros. (par exemple dans l'embarqué)

    tu pars du mauvais endroit en voyant la norme comme une restriction à ton imagination.
    c'est plutôt le contraire : ta verve créatrice doit être guidée par la norme.
    Cordialement,

  18. #18
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par dj.motte
    Bonsoir,

    JolyLoic dit
    l y a dans chaque compilateur des extension par rapport à la norme. La norme garanti plus un minimum commun que l'on doit trouver partout (et dont ni stricmp, ni strcasecmp ni io.h ne font partie).
    Par norme j'entends ANSI ou ISO. Pas la norme des psychanalystes.
    Moi aussi, je ne sais même pas en quoi consiste cette norme psychanalytique.

    Citation Envoyé par dj.motte
    Je ne comprends pas pourquoi des fonctions et des librairies ont été sabré de la norme( ANSI & ISO ) avec Linux.
    Je ne comprends pas ce que tu veux dire. En particulier je ne vois pas ce qui a été sabré (je rappelle que stricmp ou strcasecmp n'ont *jamais* fait partie ni de la norme C ni de celle C++), ni ce que Linux a à voir là dedans.
    Qu'un compilateur décide de faire une extension par rapport à la norme : Ok.
    Qu'il décide ce placer cette extention dans un header standard, c'est déjà plus malheureux, car des gens peuvent croire à tort que cette fonction est standard. D'ailleurs, ce comportement est, je pense, interdit par la norme.
    Maintenant, que parce qu'un compilateur a décidé dans son coin d'ajouter une extension, on décide automatiquement de demander à tous les autres compilateurs d'en faire de même, alors là, pas d'accord.
    Citation Envoyé par dj.motte
    Pourquoi ne pas intégrer les procédures "anciennes" dans la mesure où elles sont opérationelles ?
    Pour plusieurs raisons en l'occurence :
    - Des procédures opérationelles, il en existe des milliers. double triple(double a) {return 3*a;} est une procédure opérationnelle. Doit-on l'inclure à la norme ? Pour qu'une fonction soit dans la norme, il faut qu'elle soit jugée d'intérêt général, qu'elle s'intègre bien avec le reste des fonctions, qu'il ne soit pas trivial de reproduire son résultat, qu'une pratique précédente prouve sa viabilité...
    - Parce que, même dans les environnements où elle est fournie, stricmp. Elle peut dire des bêtises, comme par exemple que muß et MUSS sont différents, ou que M. et m. sont identiques, alors que l'un est une abréviation française, et que l'autre ne veut rien dire.

    Citation Envoyé par dj.motte
    Il y aurait plusieurs version de la même procédure.

    Et pourquoi pas ?

    La norme ( ANSI & ISO ) procède selon moi, comme un sécateur. On détruit puis on espère une reconstruction.
    En l'occurence, elle n'a rien coupé. Et sur bien d'autres points, elle a permis d'étendre.

  19. #19
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Bonsoir,

    Citation Envoyé par JolyLoic
    Je ne comprends pas ce que tu veux dire. En particulier je ne vois pas ce qui a été sabré (je rappelle que stricmp ou strcasecmp n'ont *jamais* fait partie ni de la norme C ni de celle C++), ni ce que Linux a à voir là dedans.
    Qu'un compilateur décide de faire une extension par rapport à la norme : Ok.
    Qu'il décide ce placer cette extention dans un header standard, c'est déjà plus malheureux, car des gens peuvent croire à tort que cette fonction est standard. D'ailleurs, ce comportement est, je pense, interdit par la norme.
    Maintenant, que parce qu'un compilateur a décidé dans son coin d'ajouter une extension, on décide automatiquement de demander à tous les autres compilateurs d'en faire de même, alors là, pas d'accord.
    Oui, mais si par exemple ni "stricmp" ou "strcasecmp" ne font pas partie la norme ( ISO & son copain ANSI ), je ne vois plus comment faire une comparaison non signée entre chaînes de caractères. Il faudrait dans ce cas réinventer la roue.

    ANSI & ISO seraient-ils des "camemberts flottants" ?

    La seule raison pour laquelle je conçois une exclusion de "stricmp" ou de "strcasecmp" de la norme, tient au fait de l' internationalisation des langages vivants ( Arabe, Chinois, Indien etc...).

    Par contre supprimer "<io.h>" de la norme, me paraît mesqin.
    "<io.h>" a toujours fait partie la norme ANSI depuis 1980 et des brouetttes... Mais fallait-il réserver un accés exclusif aux "fstream" du C++ pour accéder à un fichier ?

    Mais je dois radoter...

    Où trouver le dictionnaire des fonctions et des "<include>" acceptés par la norme ( ANSI & ISO ) ?

    Ou plutôt comment trouver le dictionnaire des fonctions et des "<include>" qui ont été dépréciés par la norme ( ANSI & ISO ) ?

    Cordialement.

  20. #20
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par dj.motte
    Où trouver le dictionnaire des fonctions et des "<include>" acceptés par la norme ( ANSI & ISO ) ?
    Cordialement.
    pour qu'un header soit accepté par la norme il suffit qu'il soit compilable par un compilateur adapté à la norme du C/C++. Ce qui est très vaste et il n'y en a pas de liste compilée(arf).

    À moins que tu veuilles dire: quels sont les header et les fonctions dont l'interface et la fonctionalité sont intégralement définies par une norme ?
    Tout dépend de la norme et de l'année.
    en C, tu as toutes les stdio, stdlib, math, assert, float, string, complex etc...
    Unix (dont la parenté avec le C est évidente) a lui sa propre norme POSIX, qui définit également des fonctions comme execve ou fork.
    en C++, tu as la STL qui regroupe des conteneurs template, des objets de traitement sur les flux (basic_istream, basic_string, vector, map et j'en passe) ainsi que des algorithmes.
    l'API window a également ses propres headers standard comme windows.h

    L'intéret de les définir dans une norme c'est d'avoir un pot commun dans lequel les programmeurs peuvent puiser et ne pas avoir à se réinventer d'un projet à un autre. Bien entendu, la nature du C/C++ fait qu'un programmeur zélé peut ne pas du tout s'appuyer sur ces librairies et tout refaire de A à Z à sa sauce (si ça lui chante).

Discussions similaires

  1. [Vxi3] Rapport Webi qui ramène d'une table énorme
    Par kellerman_com dans le forum Webi
    Réponses: 1
    Dernier message: 19/04/2010, 14h25
  2. TDataSet.First ou Last, qui décide ?
    Par Yves Archambault dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/06/2008, 09h44
  3. Marge énorme qui apparaît sous IE6
    Par ericbonnard dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/05/2008, 17h20
  4. [Fabrique Abstraite] qui décide de la famille d'objets à utiliser ?
    Par mister3957 dans le forum Design Patterns
    Réponses: 5
    Dernier message: 17/12/2007, 10h35
  5. Réponses: 7
    Dernier message: 07/09/2007, 01h50

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