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

1 2 3 4 5
Avatar
IR
Radamanthe wrote:
et y'en a d'autres ici :
http://fr.wikipedia.org/wiki/Image:Langage_progr.png


Et encore, Perl n'est même pas mentionné dans la liste! ;-)


Cheers,
--
IR

Avatar
Radamanthe
Radamanthe wrote:
Fabien LE LEZ wrote:
On Sat, 20 Jan 2007 20:41:02 +0100, Radamanthe :

J'ai moi-même, il fût un temps, supposé que "langage de
programmation" se limitait à des choses comme syntaxe, sémantique et
constructions.


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).
Il doit y avoir :
- les assembleurs
- les Basic
- 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.)


- XML
- HTML
- Pascal
- Ada
- Delphi
- Fortran


Ha oui, il y a aussi le Whitespace :

http://compsoc.dur.ac.uk/whitespace/

Qui n'est pas une blague, et qui possède même son propre interprêteur...
en Whitespace :)


--
R.N.



Avatar
Pascal Bourguignon
Harpo writes:

Radamanthe wrote:

Donc qui a dit que l'assembleur n'était pas un langage universel ?...


L'assembleur est un langage universel auquel il ne manque que
l'univeralité.


Que dit tu? N'importe quel assembleur tourne n'importe où! (avec Qemu).

--
__Pascal Bourguignon__ http://www.informatimago.com/
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we. -- Georges W. Bush


Avatar
James Kanze
Pascal Bourguignon wrote:
Fabien LE LEZ writes:

On Sat, 20 Jan 2007 17:42:36 +0100, Pascal Bourguignon :

C'est-y du C ou du C++?
[...]

template <class Tableau> Tableau f (Tableau tableau, string prenom)
{
tableau.push_back ("Bonjour " + prenom + " !");
return tableau;
}

Je serais bien incapable de transcrire cette fonction en C. Sauras-tu
m'aider ?


Je pourrais.


Il en aurait une gueule tout à fait différente.

Il doit juste falloir rajouter un ou deux petits détails, je suppose ?


Tu serais supris de voir jusqu'où on peut aller en C avec void*
Rappelons que C++ (et Objective-C) ne sont que des préprocesseurs en
façade sur C...


Tu rigoles, ou quoi. Ni C++ ni Objective-C ne sont des
préprocesseurs. (Tous les deux utilisent le même préprocesseur
que C, pour des raisons historiques, mais c'est une autre
histoire. D'autant plus qu'on fait beaucoup moins d'utilisation
du préprocesseur en C++ qu'en C.

Mais le point important de mon message était la différence ensemblist e.

C u2216 C++ u2245 u2205

autrement dit, il n'y a pas grand chose à modifier ou oublier quand on
a appris C, pour apprendre C++.


Il est vrai que pour des raisons historiques, le C++ supporte
beaucoup de C'ismes. Mais quelqu'un qui connaît le C++, et
l'utilise de façon idiomatique, écrira bien du code qui ne
ressemble pas trop au 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



Avatar
Fabien LE LEZ
On Sat, 20 Jan 2007 22:26:31 +0100, Radamanthe :

Ha oui, il y a aussi le Whitespace :


Sans oublier Brainfuck.

Avatar
Radamanthe
Fabien LE LEZ wrote:
On Sat, 20 Jan 2007 22:26:31 +0100, Radamanthe :

Ha oui, il y a aussi le Whitespace :


Sans oublier Brainfuck.



Et ne pas rater les variantes en bas dans la page.


--
R.N.


Avatar
Fabien LE LEZ
On Sun, 21 Jan 2007 01:41:16 +0100, Radamanthe :

Sans oublier Brainfuck.


Et ne pas rater les variantes en bas dans la page.


Yep. Je propose un nouveau débat : vaut-il mieux apprendre le Ook ou
le C ?


Avatar
Fabien LE LEZ
On 20 Jan 2007 14:25:43 -0800, "James Kanze" :

Rappelons que C++ (et Objective-C) ne sont que des préprocesseurs en
façade sur C...


Tu rigoles, ou quoi. Ni C++ ni Objective-C ne sont des
préprocesseurs.


Le mot "préprocesseur" est mal choisi, mais il est vrai qu'on peut
transformer du C++ en C. Comeau le fait.
De même qu'on peut transformer du code C++ ou C en assembleur, ainsi
qu'en langage machine.

D'ailleurs, je suis totalement favorable à l'idée de laisser des
machines transformer un code C++ en C, assembleur ou langage machine.
Le premier est fait pour être utilisé par des humains ; pour les trois
autres, j'ai des doutes.


Avatar
James Kanze
Fabien LE LEZ wrote:
On 20 Jan 2007 14:25:43 -0800, "James Kanze" :

Rappelons que C++ (et Objective-C) ne sont que des préprocesseurs en
façade sur C...


Tu rigoles, ou quoi. Ni C++ ni Objective-C ne sont des
préprocesseurs.


Le mot "préprocesseur" est mal choisi, mais il est vrai qu'on peut
transformer du C++ en C. Comeau le fait.


C'est vrai aussi qu'on peut transformer Cobol ou Prolog en C. Il
y a eu des gens qui l'ont fait. 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 »).

--
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
Fabien LE LEZ
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.

1 2 3 4 5