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++ ?
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
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.
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 :)
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.
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
Harpo <invalid@invalid.invalid> 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
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
James Kanze
Pascal Bourguignon wrote:
Fabien LE LEZ writes:
On Sat, 20 Jan 2007 17:42:36 +0100, Pascal Bourguignon :
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
Pascal Bourguignon wrote:
Fabien LE LEZ <gramster@gramster.com> writes:
On Sat, 20 Jan 2007 17:42:36 +0100, Pascal Bourguignon :
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: 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
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
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 ?
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.
On 20 Jan 2007 14:25:43 -0800, "James Kanze" <james.kanze@gmail.com>:
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.
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.
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
Fabien LE LEZ wrote:
On 20 Jan 2007 14:25:43 -0800, "James Kanze" <james.kanze@gmail.com>:
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: 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
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
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.
On 21 Jan 2007 06:22:49 -0800, "James Kanze" <james.kanze@gmail.com>:
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 »).
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 »).