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++ ?
Les vrais bons programmeurs C/C++ ont quelques notions d'informatique theorique, savent reconnaitre la recursion terminale, et savent que leur compilateur favori, qu'ils ont choisi avec amour, sait egalement reconnaitre la recursion terminale.
Je n'ai pas choisi *les* compilateurs que j'utilise au boulot. Il y a une equipe pour cela (qui fixe aussi les patchs et les versions de l'OS et les options a utiliser pour le compilateur). Et je suis loin d'etre sur que tous reconnaisse la recursivite terminale. En fait, je ne connais la reponse que pour un... et encore, j'ai pas verifie pour la version exacte que nous employons (pour diverses raisons, nous avons toujours quelques version de retard sur le "bleeding edge").
C'est bien malheureux, mais c'est pour ça qu'ils te donnent une compensation financière.
Comme je n'ai pas été payé pour écrire cette fonction récursive, j'ai pu prendre ce plaisir, et la compiler avec un compilateur adéquat.
This universe shipped by weight, not volume. Some expansion may have occurred during shipment.
Jean-Marc Bourguet <jm@bourguet.org> writes:
espie@lain.home (Marc Espie) writes:
Les vrais bons programmeurs C/C++ ont quelques notions d'informatique
theorique, savent reconnaitre la recursion terminale, et savent que leur
compilateur favori, qu'ils ont choisi avec amour, sait egalement reconnaitre
la recursion terminale.
Je n'ai pas choisi *les* compilateurs que j'utilise au boulot. Il y a une
equipe pour cela (qui fixe aussi les patchs et les versions de l'OS et les
options a utiliser pour le compilateur). Et je suis loin d'etre sur que
tous reconnaisse la recursivite terminale. En fait, je ne connais la
reponse que pour un... et encore, j'ai pas verifie pour la version exacte
que nous employons (pour diverses raisons, nous avons toujours quelques
version de retard sur le "bleeding edge").
C'est bien malheureux, mais c'est pour ça qu'ils te donnent une
compensation financière.
Comme je n'ai pas été payé pour écrire cette fonction récursive, j'ai
pu prendre ce plaisir, et la compiler avec un compilateur adéquat.
Les vrais bons programmeurs C/C++ ont quelques notions d'informatique theorique, savent reconnaitre la recursion terminale, et savent que leur compilateur favori, qu'ils ont choisi avec amour, sait egalement reconnaitre la recursion terminale.
Je n'ai pas choisi *les* compilateurs que j'utilise au boulot. Il y a une equipe pour cela (qui fixe aussi les patchs et les versions de l'OS et les options a utiliser pour le compilateur). Et je suis loin d'etre sur que tous reconnaisse la recursivite terminale. En fait, je ne connais la reponse que pour un... et encore, j'ai pas verifie pour la version exacte que nous employons (pour diverses raisons, nous avons toujours quelques version de retard sur le "bleeding edge").
C'est bien malheureux, mais c'est pour ça qu'ils te donnent une compensation financière.
Comme je n'ai pas été payé pour écrire cette fonction récursive, j'ai pu prendre ce plaisir, et la compiler avec un compilateur adéquat.
This universe shipped by weight, not volume. Some expansion may have occurred during shipment.
Ael-Rowan TERENCE
"Radamanthe" a écrit dans le message de news:45b14483$0$5476$
Pascal Bourguignon wrote:
writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a peser le pour et le contre; d'où ma question : Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois : - les partisans du C minimisent les différences entre les deux langages ( et pourtant il y a un gouffre ) - les partisans du C++ renient tous liens avec le C ( et pourtant je peux écrire un programme C qui passera sans encombre sur un compilateur C++).
"Radamanthe" <tek512@free.deleteme.fr> a écrit dans le message de
news:45b14483$0$5476$426a74cc@news.free.fr...
Pascal Bourguignon wrote:
leo.hal@gmail.com writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a
peser le pour et le contre; d'où ma question :
Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce
n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois :
- les partisans du C minimisent les différences entre les deux langages
( et pourtant il y a un gouffre )
- les partisans du C++ renient tous liens avec le C ( et pourtant je
peux écrire un programme C qui passera sans encombre sur un compilateur
C++).
"Radamanthe" a écrit dans le message de news:45b14483$0$5476$
Pascal Bourguignon wrote:
writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a peser le pour et le contre; d'où ma question : Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois : - les partisans du C minimisent les différences entre les deux langages ( et pourtant il y a un gouffre ) - les partisans du C++ renient tous liens avec le C ( et pourtant je peux écrire un programme C qui passera sans encombre sur un compilateur C++).
Jean-Marc Bourguet
"Ael-Rowan TERENCE" writes:
"Radamanthe" a écrit dans le message de news:45b14483$0$5476$
Pascal Bourguignon wrote:
writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a peser le pour et le contre; d'où ma question : Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois : - les partisans du C minimisent les différences entre les deux langages ( et pourtant il y a un gouffre )
Pas vu tellement de gens dans ce cas, a part les trolls. Et Pascal ici joue au troll.
- les partisans du C++ renient tous liens avec le C
Pas vu tellement de gens dans ce cas non plus. J'en ai vu qui veulent rompre avec les imperatifs de compatibilite avec le C, mais j'en ai vu d'autres qui militent pour la suppression des incompatibilites ou c'est possible.
( et pourtant je peux écrire un programme C qui passera sans encombre sur un compilateur C++).
J'ai deja argue -- principalement dans le groupe C -- qu'il etait sense de se limitter au sous-ensemble commun, mais je reconnais sans probleme que le resultat n'est idiomatique ni dans un langage, ni dans l'autre. Dans le C on peut dire que les differences sont stylistiques (la principale etant le cast du resultat de malloc); dans le cas du C++ c'est beaucoup moins vrai.
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
"Radamanthe" <tek512@free.deleteme.fr> a écrit dans le message de
news:45b14483$0$5476$426a74cc@news.free.fr...
Pascal Bourguignon wrote:
leo.hal@gmail.com writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a
peser le pour et le contre; d'où ma question :
Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce
n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois :
- les partisans du C minimisent les différences entre les deux langages
( et pourtant il y a un gouffre )
Pas vu tellement de gens dans ce cas, a part les trolls. Et Pascal ici
joue au troll.
- les partisans du C++ renient tous liens avec le C
Pas vu tellement de gens dans ce cas non plus. J'en ai vu qui veulent
rompre avec les imperatifs de compatibilite avec le C, mais j'en ai vu
d'autres qui militent pour la suppression des incompatibilites ou c'est
possible.
( et pourtant je peux écrire un programme C qui passera sans encombre sur
un compilateur C++).
J'ai deja argue -- principalement dans le groupe C -- qu'il etait sense de
se limitter au sous-ensemble commun, mais je reconnais sans probleme que le
resultat n'est idiomatique ni dans un langage, ni dans l'autre. Dans le C
on peut dire que les differences sont stylistiques (la principale etant le
cast du resultat de malloc); dans le cas du C++ c'est beaucoup moins vrai.
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
"Radamanthe" a écrit dans le message de news:45b14483$0$5476$
Pascal Bourguignon wrote:
writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a peser le pour et le contre; d'où ma question : Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois : - les partisans du C minimisent les différences entre les deux langages ( et pourtant il y a un gouffre )
Pas vu tellement de gens dans ce cas, a part les trolls. Et Pascal ici joue au troll.
- les partisans du C++ renient tous liens avec le C
Pas vu tellement de gens dans ce cas non plus. J'en ai vu qui veulent rompre avec les imperatifs de compatibilite avec le C, mais j'en ai vu d'autres qui militent pour la suppression des incompatibilites ou c'est possible.
( et pourtant je peux écrire un programme C qui passera sans encombre sur un compilateur C++).
J'ai deja argue -- principalement dans le groupe C -- qu'il etait sense de se limitter au sous-ensemble commun, mais je reconnais sans probleme que le resultat n'est idiomatique ni dans un langage, ni dans l'autre. Dans le C on peut dire que les differences sont stylistiques (la principale etant le cast du resultat de malloc); dans le cas du C++ c'est beaucoup moins vrai.
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
Radamanthe
Ael-Rowan TERENCE wrote:
"Radamanthe" a écrit dans le message de news:45b14483$0$5476$
Pascal Bourguignon wrote:
writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a peser le pour et le contre; d'où ma question : Quels sont les avantages du C et du C++ ? Certains ont la théorie que ce ne sont pas le même langage, mais ce
n'est pas mon avis. Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois : - les partisans du C minimisent les différences entre les deux langages ( et pourtant il y a un gouffre )
Je suis un "partisan" du C et j'affirme qu'il y a un gouffre.
- les partisans du C++ renient tous liens avec le C ( et pourtant je peux écrire un programme C qui passera sans encombre sur un compilateur C++).
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
-- R.N.
Ael-Rowan TERENCE wrote:
"Radamanthe" <tek512@free.deleteme.fr> a écrit dans le message de
news:45b14483$0$5476$426a74cc@news.free.fr...
Pascal Bourguignon wrote:
leo.hal@gmail.com writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a
peser le pour et le contre; d'où ma question :
Quels sont les avantages du C et du C++ ?
Certains ont la théorie que ce ne sont pas le même langage, mais ce
n'est pas mon avis.
Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois :
- les partisans du C minimisent les différences entre les deux langages
( et pourtant il y a un gouffre )
Je suis un "partisan" du C et j'affirme qu'il y a un gouffre.
- les partisans du C++ renient tous liens avec le C ( et pourtant je
peux écrire un programme C qui passera sans encombre sur un compilateur
C++).
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon
code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
"Radamanthe" a écrit dans le message de news:45b14483$0$5476$
Pascal Bourguignon wrote:
writes:
Comme j'hésite entre apprendre le C et apprendre le C++ , je cherche a peser le pour et le contre; d'où ma question : Quels sont les avantages du C et du C++ ? Certains ont la théorie que ce ne sont pas le même langage, mais ce
n'est pas mon avis. Le problème, c'est qu'à défaut de théorie, c'est une réalité...
Ce que je trouve amusant c'est que, à chaque fois : - les partisans du C minimisent les différences entre les deux langages ( et pourtant il y a un gouffre )
Je suis un "partisan" du C et j'affirme qu'il y a un gouffre.
- les partisans du C++ renient tous liens avec le C ( et pourtant je peux écrire un programme C qui passera sans encombre sur un compilateur C++).
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
-- R.N.
Fabien LE LEZ
On 23 Jan 2007 00:05:36 -0800, "James Kanze" :
Est-ce que tu indentes aussi les if/else :
if ( x == y ) result = x ; else if ( x < y ) result = gcd( x, y - x ) ; else result = gcd( x - y, y ) ;
Je peux écrire ce code comme un "if" principal, avec, dans son bloc "else", un autre "if" indépendant :
if ( x == y ) { result = x ; } else { if ( x < y ) { result = gcd( x, y - x ) ; } else { result = gcd( x - y, y ) ; } }
[Note : je mets systématiquement les accolades. En pratique, si un jour je décide de ne pas les mettre, je me retrouve à les rajouter a posteriori pour une raison ou pour une autre...]
Ou bien, je peux l'écrire comme un "if à N branches" (avec N=3 ici) :
if ( x == y ) { result = x ; } else if ( x < y ) { result = gcd( x, y - x ) ; } else { result = gcd( x - y, y ) ; }
(Dans ce cas précis, j'aurais plutôt tendance à choisir la deuxième solution.)
On 23 Jan 2007 00:05:36 -0800, "James Kanze" <james.kanze@gmail.com>:
Est-ce que tu indentes aussi les if/else :
if ( x == y )
result = x ;
else
if ( x < y )
result = gcd( x, y - x ) ;
else
result = gcd( x - y, y ) ;
Je peux écrire ce code comme un "if" principal, avec, dans son bloc
"else", un autre "if" indépendant :
if ( x == y )
{
result = x ;
}
else
{
if ( x < y )
{
result = gcd( x, y - x ) ;
}
else
{
result = gcd( x - y, y ) ;
}
}
[Note : je mets systématiquement les accolades. En pratique, si un
jour je décide de ne pas les mettre, je me retrouve à les rajouter
a posteriori pour une raison ou pour une autre...]
Ou bien, je peux l'écrire comme un "if à N branches" (avec N=3 ici) :
if ( x == y )
{
result = x ;
}
else if ( x < y )
{
result = gcd( x, y - x ) ;
}
else
{
result = gcd( x - y, y ) ;
}
(Dans ce cas précis, j'aurais plutôt tendance à choisir la deuxième
solution.)
if ( x == y ) result = x ; else if ( x < y ) result = gcd( x, y - x ) ; else result = gcd( x - y, y ) ;
Je peux écrire ce code comme un "if" principal, avec, dans son bloc "else", un autre "if" indépendant :
if ( x == y ) { result = x ; } else { if ( x < y ) { result = gcd( x, y - x ) ; } else { result = gcd( x - y, y ) ; } }
[Note : je mets systématiquement les accolades. En pratique, si un jour je décide de ne pas les mettre, je me retrouve à les rajouter a posteriori pour une raison ou pour une autre...]
Ou bien, je peux l'écrire comme un "if à N branches" (avec N=3 ici) :
if ( x == y ) { result = x ; } else if ( x < y ) { result = gcd( x, y - x ) ; } else { result = gcd( x - y, y ) ; }
(Dans ce cas précis, j'aurais plutôt tendance à choisir la deuxième solution.)
Fabien LE LEZ
On Tue, 23 Jan 2007 19:16:47 +0100, Radamanthe :
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
Notons aussi qu'un code C parfaitement correct, qu'un compilateur C++ accepte de compiler, n'est pas forcément un code C++ correct -- notamment à cause de la possibilité pour une exception d'être lancée quelque part.
On Tue, 23 Jan 2007 19:16:47 +0100, Radamanthe
<tek512@free.deleteme.fr>:
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon
code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
Notons aussi qu'un code C parfaitement correct, qu'un compilateur C++
accepte de compiler, n'est pas forcément un code C++ correct --
notamment à cause de la possibilité pour une exception d'être lancée
quelque part.
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
Notons aussi qu'un code C parfaitement correct, qu'un compilateur C++ accepte de compiler, n'est pas forcément un code C++ correct -- notamment à cause de la possibilité pour une exception d'être lancée quelque part.
Michael DOUBEZ
On Tue, 23 Jan 2007 19:16:47 +0100, Radamanthe :
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
Notons aussi qu'un code C parfaitement correct, qu'un compilateur C++ accepte de compiler, n'est pas forcément un code C++ correct -- notamment à cause de la possibilité pour une exception d'être lancée quelque part.
Dans quel cas un code C compilé sur un compilateur C++ lancerait-il une exception ?
Michael
On Tue, 23 Jan 2007 19:16:47 +0100, Radamanthe
<tek512@free.deleteme.fr>:
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon
code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
Notons aussi qu'un code C parfaitement correct, qu'un compilateur C++
accepte de compiler, n'est pas forcément un code C++ correct --
notamment à cause de la possibilité pour une exception d'être lancée
quelque part.
Dans quel cas un code C compilé sur un compilateur C++ lancerait-il une
exception ?
Les partisans du C++ renient tous lien avec C parce-qu'écrire du bon code C++ n'a rien à voir avec écrire du C compilable avec un compilo C++.
Notons aussi qu'un code C parfaitement correct, qu'un compilateur C++ accepte de compiler, n'est pas forcément un code C++ correct -- notamment à cause de la possibilité pour une exception d'être lancée quelque part.
Dans quel cas un code C compilé sur un compilateur C++ lancerait-il une exception ?
Michael
James Kanze
Fabien LE LEZ wrote:
On 23 Jan 2007 00:05:36 -0800, "James Kanze" :
Est-ce que tu indentes aussi les if/else :
if ( x == y ) result = x ; else if ( x < y ) result = gcd( x, y - x ) ; else result = gcd( x - y, y ) ;
Je peux écrire ce code comme un "if" principal, avec, dans son bloc "else", un autre "if" indépendant :
if ( x == y ) { result = x ; } else { if ( x < y ) { result = gcd( x, y - x ) ; } else { result = gcd( x - y, y ) ; } }
[Note : je mets systématiquement les accolades.
[Moi aussi. C'était juste pour simplifier que je les ai laissé tombé.]
En pratique, si un jour je décide de ne pas les mettre, je me retrouve à les rajouter a posteriori pour une raison ou pour une autre...]
Ou bien, je peux l'écrire comme un "if à N branches" (avec N=3 ici) :
if ( x == y ) { result = x ; } else if ( x < y ) { result = gcd( x, y - x ) ; } else { result = gcd( x - y, y ) ; }
(Dans ce cas précis, j'aurais plutôt tendance à choisir la deuxiè me solution.)
Tout à fait. De la même façon, je peux écrire :
return x == y ? x : ( x < y ? gcd( x, y - x ) : gcd( x - y, y ) ) ;
ou
return x == y ? x : x < y ? gcd( x, y - x ) : gcd( x - y, y ) ;
(et que dans ce cas précis, j'aurais plutôt tendance à choisir la deuxième solution).
-- 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
Fabien LE LEZ wrote:
On 23 Jan 2007 00:05:36 -0800, "James Kanze" <james.kanze@gmail.com>:
Est-ce que tu indentes aussi les if/else :
if ( x == y )
result = x ;
else
if ( x < y )
result = gcd( x, y - x ) ;
else
result = gcd( x - y, y ) ;
Je peux écrire ce code comme un "if" principal, avec, dans son bloc
"else", un autre "if" indépendant :
if ( x == y )
{
result = x ;
}
else
{
if ( x < y )
{
result = gcd( x, y - x ) ;
}
else
{
result = gcd( x - y, y ) ;
}
}
[Note : je mets systématiquement les accolades.
[Moi aussi. C'était juste pour simplifier que je les ai laissé
tombé.]
En pratique, si un
jour je décide de ne pas les mettre, je me retrouve à les rajouter
a posteriori pour une raison ou pour une autre...]
Ou bien, je peux l'écrire comme un "if à N branches" (avec N=3 ici) :
if ( x == y )
{
result = x ;
}
else if ( x < y )
{
result = gcd( x, y - x ) ;
}
else
{
result = gcd( x - y, y ) ;
}
(Dans ce cas précis, j'aurais plutôt tendance à choisir la deuxiè me
solution.)
Tout à fait. De la même façon, je peux écrire :
return x == y
? x
: ( x < y
? gcd( x, y - x )
: gcd( x - y, y ) ) ;
ou
return x == y
? x
: x < y
? gcd( x, y - x )
: gcd( x - y, y ) ;
(et que dans ce cas précis, j'aurais plutôt tendance à choisir
la deuxième solution).
--
James Kanze (GABI Software) email:james.kanze@gmail.com
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
-- C'est très très long une journée : ca fait 86400 secondes. Et une seconde c'est aussi très long: ca fait 1000 millième de secondes ... tout ca fait que mon uptime avance très très lentement. == NLS: savoir downclocker son uptime ==
On 2007-01-20, Pascal Bourguignon <pjb@informatimago.com> wrote:
--
C'est très très long une journée : ca fait 86400 secondes. Et une seconde
c'est aussi très long: ca fait 1000 millième de secondes ... tout ca fait
que mon uptime avance très très lentement.
== NLS: savoir downclocker son uptime ==
-- C'est très très long une journée : ca fait 86400 secondes. Et une seconde c'est aussi très long: ca fait 1000 millième de secondes ... tout ca fait que mon uptime avance très très lentement. == NLS: savoir downclocker son uptime ==