OVH Cloud OVH Cloud

Les avantages respectifs de C et du C++

59 réponses
Avatar
leo.hal
Bonjour,

Comme j'h=E9site entre apprendre le C et apprendre le C++ , je cherche a
peser le pour et le contre; d'o=F9 ma question :
Quels sont les avantages du C et du C++ ?

Merci

10 réponses

2 3 4 5 6
Avatar
Antoine Leca
Fabien LE LEZ wrote:
On Fri, 19 Jan 2007 23:22:26 +0100, Radamanthe
:

Bref, ça fleure bon le troll


J'ose espérer que le message de Pascal est 100 % trollesque.

Par contre, je ne sais toujours pas ce qu'il en est de celui de l'OP.


Tu peux être sûr qu'il n'ait pas lu la moindre ligne d'une quelconque FAQ,
pas plus qu'il ait fait le moindre effort pour trouver une amorce de réponse
à sa question dans les archives : la moindre recherche, même très
superficielle, lui aurait montrer sans l'ombre d'un doute que poser une
telle question en postage croisé sur les deux groupes est certaine de
rapporter 100 % de bruit (comme mon message) et 0 % de signal.


Antoine


Avatar
Antoine Leca
Pascal Bourguignon écrivit:
return(x);

C'est-y du C ou du C++?


Du C++. Les /*vrais*/ programmeurs C savent que les parenthèses sont
inutiles, et donc ne les taperaient pas, pour une économie totale de 3
frappes de touche.


Antoine

Avatar
Antoine Leca
Fabien LE LEZ écrivit:
Ce serait marrant de faire la liste des langages qui n'ont pas la même
syntaxe que C[*] (à quelques petits détails près).


Marrant n'est pas le terme qui me vient à l'esprit.

Il doit y avoir :
- les assembleurs
- les Basic


Euh ? Basic ressemble tellement for à C et autres langages du même acabit
(Pascal, Fortran, Cobol, etc.) qu'on les a classés dans le même « groupe »
(dans le temps, on appelait cela génération).

- les shells (ligne de commande Windows ; bash)
- Lisp
- les langages aux paradigmes très différents (Lisp, Haskell,
Prolog, etc.)
- les langages de programmation d'un logiciel précis (make,
POV-Ray, les macros de divers logiciels, etc.)



Antoine

Avatar
Marc Boyer
Le 19-01-2007, Fabien LE LEZ a écrit :
On Fri, 19 Jan 2007 20:52:45 +0000 (UTC), Marc Boyer :

Au fait, aucun auteur n'a eu l'idée de faire un deuxième livre pour
débutants ?


Tres franchement, j'y ai pense, et je me suis demande ce que je
pouvais faire pour ne pas plagier Accelerated C++. Et je me suis
dit que je ferai mieu de le traduire...


As-tu essayé de contacter l'éditeur ou l'auteur ?


OUi, j'avais contacté les gens de chez pearson education,
qui sont le contact français d'Addison Wesley, mais
après échange d'un seul mail, c'était resté sans réponse.

Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)



Avatar
Jean-Marc Bourguet
Pascal Bourguignon writes:

Mais je maintiens.

int gcd(int x,int y){
if(x==y){
return(x);
}else if(x<y){
return(gcd(x,y-x));
}else{
return(gcd(x-y,y));
}
}

C'est-y du C ou du C++?


C'est ecrit dans un langage fonctionnel que je n'arrive pas a identifie et
dont la syntaxe presente une similarite douteuse avec celle du C et du C++.
Ni en C ni en C++ on n'utilise la recursivite dans ce contexte.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Pierre Maurette
[...]
Et puis un vrai programmeur C a des macros dans son éditeur.


Et des arans dans son calcif ?

--
Pierre Maurette

Avatar
Eric Levenez
Le 22/01/07 9:12, dans <ep1rlf$gg4$, « Antoine Leca »
a écrit :

Pascal Bourguignon écrivit:
return(x);

C'est-y du C ou du C++?


Du C++. Les /*vrais*/ programmeurs C savent que les parenthèses sont
inutiles,


Ainsi que les else en abondance dans ce code :-)

et donc ne les taperaient pas, pour une économie totale de 3
frappes de touche.


De plus ils utilisent l'opérateur ?:.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.


Avatar
James Kanze
Fabien LE LEZ wrote:
On 21 Jan 2007 06:22:49 -0800, "James Kanze" :

Il s'avère en fait que beaucoup de
langages mineurs ou expérimentaux utilise le C comme langage
intermédiaire, pour rendre leur compilateurs portables dès le
début. Les premiers compilateurs C++ en faisait autant, mais ce
n'est pas le cas des compilateurs les plus répendus aujourd'hui
(et ça ne rend pas un tel compilateur un « préprocesseur »).


Au sens C, certainement pas.


En général, je crois. Au moins que tu ne considères des
compilateurs (en général) comme des préprocesseurs du format
objet.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Avatar
James Kanze
Antoine Leca wrote:
Pascal Bourguignon écrivit:
return(x);

C'est-y du C ou du C++?


Du C++. Les /*vrais*/ programmeurs C savent que les parenthèses sont
inutiles, et donc ne les taperaient pas, pour une économie totale de 3
frappes de touche.


Et cependant, je les ai vu plus en C qu'en C++. (En C++, les
vrais programmeurs ne les utilisent pas pour la simple raison
qu'elles sont inutiles ; beaucoup de programmeurs C++ les
considèrent en fait comme un C'isme.)

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Avatar
James Kanze
Eric Levenez wrote:
Le 22/01/07 9:12, dans <ep1rlf$gg4$, « Antoine L eca »


[...]
et donc ne les taperaient pas, pour une économie totale de 3
frappes de touche.


De plus ils utilisent l'opérateur ?:.


C'est vrai qu'en C++, j'écrirais la fonction plutôt comme :

int
gcd( int x, int y )
{
return x == y
? x
: x < y
? gcd( x, y - x )
: gcd( x - y, y ) ;
}

La méta-programmation avec les templates nous a un peu habitué à
penser fonctionnellement. Et au moins en ce qui me concerne,
c'est John Potter -- un des experts C++ -- qui m'a montré le
premier comment les ?: s'enchaînent si bien, exactement comme
les if ... else if... Je n'aurais jamais écrit une chose
pareille à l'époque où je faisais du C.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


2 3 4 5 6