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 :

C11 : la normalisation est achevée


Sujet :

C

  1. #41
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Bktero Voir le message
    J'ai du mal à comprendre pourquoi les gens (car malheureusement, ce n'est pas que Microsoft) restent bloqués au C ANSI, qui a plus de 20 ans.
    Pas compliqué :

    Primo = compatibilité
    Secondo = accessoire


    Franchement, ce n'est en aucune manière de "grandes avancées", et ont plus été introduites pour faire le lien avec C++ et les notions utilisées que pour le C...

    Si tu avais, comme les révisions de Fortran, quelque chose qui passe d'opérations "normales" aux mêmes sur des matrices (par exemple addition ou multiplication ou division) , là tu fais un bond en avant et ça vaut vraiment le coup. Si par contre tu "ajoutes" quelques "trucs" ici et là, franchement, entre le coût des modifs, de la maintenance, et les avantages, y'a en général pas photo (d'autant plus qu'un certain inombre de softs sont "certifiés", et repasser des certifications est payant - et cher).

    Donc les "babioles" relativement peu évidentes à implanter et à assurer une compatibilité, et qui ne sont pas considérées comme de grosses différences de fond, ben....
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  2. #42
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Il faut voir le bon côté des choses: Au moins ils implémentent C++11, dont la norme exige certaines des améliorations de C99, notamment la vraie fonction snprintf (qu'ils déclareront sans doute unsafe, mais bon) et la concaténation des chaînes littérales mixtes.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #43
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Si je lis correctement ce qui est pointé dans tes liens, ils ne déclarent pas tout à fait ça...

    Ils déclarent que dans VC++, ils négligent la compatibilité.

    Et visiblement ils conseillent, pour faire du code C, de se trouner vers gcc.. Ce qui me semble tout à fait raisonnable, non ???

    C++ utilisé pour faire du "C-like", c'est un peu se mordre la queue : avoir les inconvénients sans les avantages..

    Si c'est que ls devs sont habitués au IDE, ben.. tant pis.. Ils ont raison alors..
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  4. #44
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C++ utilisé pour faire du "C-like", c'est un peu se mordre la queue
    Ce sont eux qui conseillent d'utiliser C++ pour faire du C99-like (bonjour les casts de void* et autres incompatibilités).

    ...Ou alors de passer sous GCC, avec son lot de problèmes pour la compatibilité avec les bibliothèques statiques au format VC++, le manque de LTCG, l'impossibilité d'utiliser l'IDE (et surtout le magnifique debugger) avec...

    ↓Exactement.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #45
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    VC++ implemente le C89, et le C++11.
    Si tu veux du C autre que 89, ils disent que c'est probablement inclus dans C++11.
    Si vraiment tu veux faire du C89, alors tu te tournes vers un compilateur C, car eux s'en foutent.

    Le probleme qu'ils ne prennent pas en compte, c'est que C++ n'est pas un sur-ensemble du C !
    La fonction suivante est par exemple valide en C (pre-89, 89, 99, et meme 11), mais incompilable en l'etat en C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void fonction (int new)
    {
       /* du code ici si on a envie, ou pas, on s'en fout */
       return;
    }
    Donc oui, lorsqu'on ecrit un programme dans un langage X, on utilise un compilateur pour le langage X, pas pour le langage Y, aussi proche soit-il.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #46
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Donc oui, lorsqu'on ecrit un programme dans un langage X, on utilise un compilateur pour le langage X, pas pour le langage Y, aussi proche soit-il.
    je crois que c'est à peu près ça le contenu de l'explication fournie dans le lien posté dans le thread du lien indiqué par Médinoc..

    Donc ils se justifient en disant "ben si vous voulez compiler avec du C11, tournez-vous vers un compilo C, nous nous avons fait un compilo pour C++ conforme à C++11"...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #47
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Mais Visual C++ est supposé être un IDE C et C++, avec un compilo C et un compilo C++.

    Ce n'est pas parce qu'il y a "C++" dans le nom que le C doit passer à la trappe.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #48
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    je crois que c'est à peu près ça le contenu de l'explication fournie dans le lien posté dans le thread du lien indiqué par Médinoc..

    Donc ils se justifient en disant "nous nous avons fait un compilo pour C++ conforme à C++11"...
    Pas tout a fait. Le discours, si j'ai bien compris, est : On supporte le C89, et vu que pas mal de trucs de C99 sont aussi repris par C++11, si vous voulez faire du C99, utilisez le compilo C++11, il y a pas mal de cas ou ca devrait fonctionner. Et si ca ne fonctionne pas, utilisez un compilo C.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  9. #49
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    http://herbsutter.com/2012/05/03/rea...ut-vc-and-c99/

    Our focus in Visual C++ is on making a world-class C++ compiler, and we’re heads-down on C++11 conformanc
    We do not plan to support ISO C features that are not part of either C90 or ISO C++.
    our focus is to implement (the standard)
    If you really need either of the following:

    features in C95/C99/C11 that are not part of ISO C++; or
    features in C that are in the C++ subset but without also enabling the writing of C++ code;

    then we recommend that you consider using a different compiler such as Intel or gcc (short-term) and/or pressure your standards committee representatives to have ISO C++ include more of the C standard (longer-term).
    Il me semble que c'est clair : VC++ est fait pour se conformer au standard C++. Point.

    (ce qui est parfaitement logique)
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #50
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    L'équipe de Visual C++ a donc bel et bien jeté le C par la fenêtre. Point.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  11. #51
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    L'équipe de Visual C++ a donc bel et bien jeté le C par la fenêtre. Point.
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  12. #52
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est quand même la seule équipe que je connaisse qui fasse un compilo C++ sans fournir le compilo C à jour avec...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #53
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    ben p'têt que ça finira par faire entrer dans les cervelles que C++ et C sont des langages différents...




    Et qu'on n'aura plus un jour ni post ni offre d'emploi avec "C/C++"...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  14. #54
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Pas compliqué :

    Primo = compatibilité
    Secondo = accessoire


    Franchement, ce n'est en aucune manière de "grandes avancées", et ont plus été introduites pour faire le lien avec C++ et les notions utilisées que pour le C...

    Si tu avais, comme les révisions de Fortran, quelque chose qui passe d'opérations "normales" aux mêmes sur des matrices (par exemple addition ou multiplication ou division) , là tu fais un bond en avant et ça vaut vraiment le coup. Si par contre tu "ajoutes" quelques "trucs" ici et là, franchement, entre le coût des modifs, de la maintenance, et les avantages, y'a en général pas photo (d'autant plus qu'un certain inombre de softs sont "certifiés", et repasser des certifications est payant - et cher).

    Donc les "babioles" relativement peu évidentes à implanter et à assurer une compatibilité, et qui ne sont pas considérées comme de grosses différences de fond, ben....
    Ah mais je ne parlais pas de migrer les applications existantes de C antique / C89-90 / C99 vers C11. C'est effectivement pas très utile.

    Si ce ne sont que quelques babioles, ça ne devrait pas être si dur à les implémenter dans un compilateur ? Encore fois, gcc l'a fait, Microsoft devrait y arriver sans trop de soucis.


    Visual C++
    Je pense que c'est la raison de Microsoft pour ne pas le faire, et elle me parait valable vu l'angle "Visual Studio n'est pas un éditeur pour le C".

  15. #55
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Si ce ne sont que quelques babioles, ça ne devrait pas être si dur à les implémenter dans un compilateur ? Encore fois, gcc l'a fait, Microsoft devrait y arriver sans trop de soucis.

    Bon, je crois que nous sommes d'accord pour dire que c'est un choix politique, qui correspond à l'appellation de Visual.. donc justifié.. Et que ils doivent avoir asez de travail avec tous les trucs du C++11, et la compatibilité avec le anciennes, et la compatibilités avec le C de la norme, et le développement des "provider's or machine's optimiisations"...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  16. #56
    Membre habitué Avatar de dafpp
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 345
    Points : 196
    Points
    196
    Par défaut
    Où est-ce que je pourrai retrouver un récapitulatif de toutes les nouveautés du C11 par rapport au C99? (sur dvp de préférence)
    "Les spécialistes commencent par n'apprendre que ce qu'ils aiment et finissent par n'aimer que ce qu'ils ont appris." - Gilbert Cesbron
    "Si nous avons chacun un objet et que nous les echangeons, nous avons chacun un objet. Si nous avons chacun une idée et que nous les échangeons, nous avons chacun deux idées." - Proverbe Chinois.

  17. #57
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Voir le message #3 de cette discussion. Il ne me semble pas qu'il y ait un article dédié sur Developpez.

  18. #58
    Membre habitué Avatar de dafpp
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 345
    Points : 196
    Points
    196
    Par défaut
    Merci. Wiki c'est très bien aussi.
    "Les spécialistes commencent par n'apprendre que ce qu'ils aiment et finissent par n'aimer que ce qu'ils ont appris." - Gilbert Cesbron
    "Si nous avons chacun un objet et que nous les echangeons, nous avons chacun un objet. Si nous avons chacun une idée et que nous les échangeons, nous avons chacun deux idées." - Proverbe Chinois.

  19. #59
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Quel est le compilateur le mieux adopter à cette normalisation de C ??

  20. #60
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  2. Réponses: 33
    Dernier message: 14/11/2011, 09h27
  3. [bash] découper un fichier -> agir sur un fichier dés qu'il est achevé
    Par AnozerOne dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/06/2011, 20h31
  4. Réponses: 17
    Dernier message: 30/10/2010, 17h49
  5. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31

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