Précédent   Forum du club des développeurs et IT Pro > C et C++ > C
C Forum d'entraide technique sur le langage C. Avant de poster -> F.A.Q. C, Avant de poster.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 06/07/2012, 15h02   #41
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h03   #42
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 396
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

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

Informations forums :
Inscription : septembre 2005
Messages : 22 396
Points : 32 049
Points : 32 049
Envoyer un message via MSN à Médinoc
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.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h11   #43
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h19   #44
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 396
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

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

Informations forums :
Inscription : septembre 2005
Messages : 22 396
Points : 32 049
Points : 32 049
Envoyer un message via MSN à Médinoc
Citation:
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.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 15h23   #45
gangsoleil
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 7 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 7 191
Points : 18 088
Points : 18 088
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 :
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.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2012, 18h56   #46
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 20h26   #47
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 396
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

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

Informations forums :
Inscription : septembre 2005
Messages : 22 396
Points : 32 049
Points : 32 049
Envoyer un message via MSN à Médinoc
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.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2012, 20h29   #48
gangsoleil
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 7 191
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 7 191
Points : 18 088
Points : 18 088
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.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2012, 11h21   #49
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
http://herbsutter.com/2012/05/03/rea...ut-vc-and-c99/

Citation:
Our focus in Visual C++ is on making a world-class C++ compiler, and we’re heads-down on C++11 conformanc
Citation:
We do not plan to support ISO C features that are not part of either C90 or ISO C++.
Citation:
our focus is to implement (the standard)
Citation:
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2012, 12h18   #50
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 396
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

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

Informations forums :
Inscription : septembre 2005
Messages : 22 396
Points : 32 049
Points : 32 049
Envoyer un message via MSN à Médinoc
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.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2012, 14h01   #51
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2012, 22h10   #52
Médinoc
Expert Confirmé Sénior
 
Avatar de Médinoc
 
Homme
Développeur informatique
Inscription : septembre 2005
Messages : 22 396
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

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

Informations forums :
Inscription : septembre 2005
Messages : 22 396
Points : 32 049
Points : 32 049
Envoyer un message via MSN à Médinoc
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.
Médinoc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2012, 09h46   #53
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/07/2012, 17h10   #54
Bktero
Expert Confirmé Sénior
 
Avatar de Bktero
 
Ingénieur systèmes embarqués
Inscription : juin 2009
Messages : 1 717
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur systèmes embarqués
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2009
Messages : 1 717
Points : 4 217
Points : 4 217
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.


Citation:
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".
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a

Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

Pour vos problèmes d'embarqué, utilisez le forum dédié !
Bktero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2012, 18h22   #55
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 594
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 594
Points : 11 933
Points : 11 933
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h43.


 
 
 
 
Partenaires

Hébergement Web