Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
792 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Difference C, C++

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Difference C, C++

n°497557
Big-Foot
Posté le 25-08-2003 à 20:22:50  profilanswer
 

hello
 
Je pense bientot me mettre a un language "haut niveau" dans le genre c.
Mais je ne connait pas vraiment la difference entre le C et le C++... J'ai juste entendu que le c++ et plus recent et s'interesse plus a ce qui est graphique, du moins c'est ce que j'ai compris  :D  
 
Alors pouvez vous m'éclairer sur c'est 2 languages : leurs differences, ce qu'on peut plus facilement faire avec l'un et pas l'autre etc...
 
merci


Message édité par Big-Foot le 25-08-2003 à 20:23:31
mood
Publicité
Posté le 25-08-2003 à 20:22:50  profilanswer
 

n°497560
polo021
Posté le 25-08-2003 à 20:24:23  profilanswer
 

c'est un langage de bas niveau justement, tout dépend de ta definition de niveau. décalages, pointeurs,...
 
l'orienté objet avec le c++  :whistle:  

n°497564
jagstang
Pa Capona ಠ_ಠ
Posté le 25-08-2003 à 20:26:33  profilanswer
 

Pour ton information, un langage bas niveau est plus proche de la machine (donc plus difficile à coder : assembleur, c). Un langage haut niveau est plus proche de l'humain (donc plus simple vb, php)
 
Comment par le C avec un bouquin, le C++ tu verras plus tard. Une chose à la fois, il ne faut pas griller les étapes


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°497566
jagstang
Pa Capona ಠ_ಠ
Posté le 25-08-2003 à 20:28:31  profilanswer
 

je vois que tu habites à Genève. Moi en VS, il y a une trps bonne librairie à Genève justement...  
 
http://www.ellipse.ch
http://www.ellipse.ch/ZASP/zdescri [...] er+langage


Message édité par jagstang le 25-08-2003 à 20:29:29

---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°497889
jesus_chri​st
votre nouveau dieu
Posté le 25-08-2003 à 23:35:34  profilanswer
 

JagStang a écrit :

Pour ton information, un langage bas niveau est plus proche de la machine (donc plus difficile à coder : assembleur, c). Un langage haut niveau est plus proche de l'humain (donc plus simple vb, php)
 
Comment par le C avec un bouquin, le C++ tu verras plus tard. Une chose à la fois, il ne faut pas griller les étapes

Apprendre le C pour faire du C++ n'est pas une bonne idée. Ca donne envie de rester dans le concept struct + fonctions au lieu de classes. Je conseille d'attaquer direct le C++ pour partir avec les bonnes habitudes objets. Le C du C++, si c'est juste la grammaire et les boucles, ça tient dans 2 chapitres d'un bon livre C++.
 
Moi j'ai commencé par le C et j'arrive pas à me défaire des #define pour les constantes, des variables globales et autres résudus du C pratiques mais obsolètes.


---------------
Envie de backuper un DVD en DivX mais vous y connaissez rien ? essayez dvd-ripp : le site de Maxime
n°497905
Taz
bisounours-codeur
Posté le 25-08-2003 à 23:42:07  profilanswer
 

le problème est que la majorité des programmmeurs C++ sont des programmeurs C. alors autant appeler un chat un chat et faire du C, surtout si on ne connait rien à l'objet. après quelqu'un muni d'un cerveau (pas le cas de tout les programmeurs) est capable de comprendre que le C++ est un langage radicalement différent qui permet néanmoins de faire tourner du code C sous certaine contrainte (pour moi de la meme façon qu'on fait tourner un bloc asm en C)
 
 
edit: pourtant ça fait un moment les les variables const existe, les variables globales, c'est pas une histoire de C, c'est de toujours, ...


Message édité par Taz le 25-08-2003 à 23:43:13
n°497951
ffluff
Challenge Everything
Posté le 26-08-2003 à 00:36:47  profilanswer
 

euh si je me rappel bien les cours (ssi taz j'y suis aller en deug :p)
 
la difference entre le C et le C++ ben c'est le paradigme :D
C :imperatif
C++ : objet
 
Qu'est ce qu'on peut faire en C qu'on peut pas faire en C++ ... JOKER
 
Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C:
-de l'objet par definition   [:ffluff]  
-ne pas respecter le paradigme (c'est super facile en C++ :D)
 
Sinon comme la dis un de nos profs:
Pense a tes algos et choisit un language que tu maitrise pour coder  :jap:  
 
PS: tu peus faire autant de graphisme en C qu'en C++ si t'as les outils qui faut :p


Message édité par ffluff le 26-08-2003 à 00:37:26
n°498045
Taz
bisounours-codeur
Posté le 26-08-2003 à 07:22:01  profilanswer
 

je crois que la différence est bien plus quela couche objet: si tu regarde  un code C et un code C++ faisant la même chose, à part une synthaxe proche, tu vois tout de suite que ça n'a rien du tout à voir, ou alors autant qu'avec du java
 
pour déconner on avait écrit àa
 

Code :
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. static int lexsort(const void *a, const void *b)
  5. {
  6.   return strcmp(
  7.  *(const char**)a,
  8.  *(const char**)b
  9.  );
  10. }
  11. int main(int argc, char **argv)
  12. {
  13.   int i=0;
  14.   const char * *args=malloc(argc * sizeof *args);
  15.   memcpy(args, argv, argc * sizeof *args);
  16.   qsort(args, argc, sizeof *args, lexsort);
  17.   for(i=0; i<argc; ++i)
  18.     {
  19.       printf("%s ", args[i]);
  20.     }
  21.   putchar('\n');
  22.   free(args);
  23.   return 0;
  24. }


 
 
 
puis  
 

Code :
  1. #include <algorithm>
  2. #include <iterator>
  3. #include <iostream>
  4. #include <string>
  5. #include <vector>
  6. using namespace std;
  7. int main(int argc, char **argv)
  8. {
  9.   vector<string> args(argv, argv+argc);
  10.   sort(args.begin(), args.end());
  11.   copy(args.begin(), args.end(), ostream_iterator<string>(cout, " " ));
  12.   cout << endl;
  13. }


 
ok, y bien des ; en fin de ligne, le même préprocesseur, mais ça s'arrete là. le C++ contient un sous-ensemble du C, mais c'est loin d'être uniquement ça. Effectivement comme différence, on citera: la couche objet, la surcharge, les templates (le point le plus important pour moi), le typage renforcé, la gestion d'erreur par exception, les références. C'est tellement différent !
 
flush > t'aurais mieux fait de rester en licence je crois ;) t'as pas du tout suivre sur les paradigmes  :D

n°498046
Taz
bisounours-codeur
Posté le 26-08-2003 à 07:28:15  profilanswer
 

d'ailleurs, si c'était la même chose, on aurait pas 2 cat séparées  :whistle:  
 
je vous attends avec vos  
 
"et pourtant C++ == C "

n°498225
Big-Foot
Posté le 26-08-2003 à 10:46:32  profilanswer
 

merci de vos reponses  :)  
 
donc language bas niveau = language proche de la machine OK
 
bon apres j'ai en gros compris que le C++ est plus orienté objet, mais pour le reste... si vous pourriez m'éclairer un petit peu parce que la je comprend pas tout :

Citation :

le paradigme, la surcharge, les templates, le typage renforcé, la gestion d'erreur par exception, les références


Message édité par Big-Foot le 26-08-2003 à 10:47:23
mood
Publicité
Posté le 26-08-2003 à 10:46:32  profilanswer
 

n°498230
bjone
Insert booze to continue
Posté le 26-08-2003 à 10:49:01  profilanswer
 

t'as toutafait raison taz.
 
mais perso, je lui conseillerai de faire un peu de C d'abord histoire de muscler le cerveau, et le C++ ensuite histoire d'affiner les muscles :D
 
en fait déjà une question interressante (hors-sujet):
 
Big-Foot>> qu'est que t'as déjà fait en prog ?
 
si tu veux te mettre à un language de haut-niveau, as-tu déjà fait du bas-niveau ? (juste pour savoir)

n°498233
bjone
Insert booze to continue
Posté le 26-08-2003 à 10:51:08  profilanswer
 

Big-Foot a écrit :

merci de vos reponses  :)  
 
donc language bas niveau = language proche de la machine OK
 
bon apres j'ai en gros compris que le C++ est plus orienté objet, mais pour le reste... si vous pourriez m'éclairer un petit peu parce que la je comprend pas tout :

Citation :

le paradigme, la surcharge, les templates, le typage renforcé, la gestion d'erreur par exception, les références




 
le C++ offre une panoplie comment dirait-je, de manières d'écrires ton code, qui permet plus de robustesse, lisiblité (quoique desfois :D ;) ), réutilisation....

n°498339
Big-Foot
Posté le 26-08-2003 à 12:00:11  profilanswer
 

Citation :

Big-Foot>> qu'est que t'as déjà fait en prog ?
 
si tu veux te mettre à un language de haut-niveau, as-tu déjà fait du bas-niveau ? (juste pour savoir)


 
pour l'instant j'ai fais et je fais du php, je suis en train de fair un site (quand j'ai le temps  :D ).
 

Citation :

le C++ offre une panoplie comment dirait-je, de manières d'écrires ton code, qui permet plus de robustesse, lisiblité (quoique desfois :D ;) ), réutilisation....


 
mais si je comprend bien en contre-partie il est plus difficile que le C ?

n°498355
Taz
bisounours-codeur
Posté le 26-08-2003 à 12:06:00  profilanswer
 

pas plus difficile: il propose un plus grand niveau d'abstraction. moi j'ai plus de mal à programmer en C correctement qu'en C++

n°498363
bjone
Insert booze to continue
Posté le 26-08-2003 à 12:10:24  profilanswer
 

Big-Foot a écrit :

Citation :

Big-Foot>> qu'est que t'as déjà fait en prog ?
 
si tu veux te mettre à un language de haut-niveau, as-tu déjà fait du bas-niveau ? (juste pour savoir)


 
pour l'instant j'ai fais et je fais du php, je suis en train de fair un site (quand j'ai le temps  :D ).
 

Citation :

le C++ offre une panoplie comment dirait-je, de manières d'écrires ton code, qui permet plus de robustesse, lisiblité (quoique desfois :D ;) ), réutilisation....


 
mais si je comprend bien en contre-partie il est plus difficile que le C ?


 
un fois que tu as appris à tirer parti de la panoplie c'est redoutable (comparé au C)... mais bon forcément ça se maitrise pas en un jour :D
 
à mon goût vaux mieux faire un peu de C, et ensuite le C++.
 
Le C impose d'être capable de produire du code robuste soi-même, alors que le C++ te guide à faire du code robuste.
une fois que le C est correctement maitrisé, le C++ peut glisser tout seul.


Message édité par bjone le 26-08-2003 à 12:16:10
n°498366
chrisbk
-
Posté le 26-08-2003 à 12:12:02  profilanswer
 

Taz a écrit :

pas plus difficile: il propose un plus grand niveau d'abstraction. moi j'ai plus de mal à programmer en C correctement qu'en C++


 
il sera plus dur dans le sens que d'entrée de jeu tu te tapes les concept du C (pointeur & cie) + ts les concepts du C++ (classe, heritage, tagada)
 
y'en a qui risque d'etre noyé

n°498373
Taz
bisounours-codeur
Posté le 26-08-2003 à 12:14:40  profilanswer
 

c'est une bonne idée de commencer par le C à condition de ne faire que du C (travailler avec VC++ -> danger) et apres passer au C++ quand on maitrise bien et ne pas mélanger les 2

n°498375
chrisbk
-
Posté le 26-08-2003 à 12:16:16  profilanswer
 

pkoi VC++ = danger ? pour peu que tu nommes tes fichier en .c tu auras un compilo C ? (et pas le C++)

n°498380
Taz
bisounours-codeur
Posté le 26-08-2003 à 12:18:04  profilanswer
 

chrisbk a écrit :

pkoi VC++ = danger ? pour peu que tu nommes tes fichier en .c tu auras un compilo C ? (et pas le C++)

on dit ça ... tu crois qu'un débutant est à ça pret ? il feraient tout pour que leur truc compile!

n°498381
chrisbk
-
Posté le 26-08-2003 à 12:20:13  profilanswer
 

Taz a écrit :

on dit ça ... tu crois qu'un débutant est à ça pret ? il feraient tout pour que leur truc compile!


 
Quelle bande de caillera ces n00b, aucun respect pour les venerables institutions pilier de notre monde de codeux

n°498384
bjone
Insert booze to continue
Posté le 26-08-2003 à 12:21:30  profilanswer
 

disons que perso, ayant appris l'asm 80x86 et le C en auto-didacte, quand je suis arrivé en BTS (le temps passe), il y avait un cours de C et d'assembleur séparé.
 
je pense que pour les débutants, il serait plus judicieux de montrer le même algo en C et en ASM en même temps, la compréhension des pointeurs serait plus aisée...


Message édité par bjone le 26-08-2003 à 12:23:29
n°498385
bjone
Insert booze to continue
Posté le 26-08-2003 à 12:22:17  profilanswer
 

Taz a écrit :

on dit ça ... tu crois qu'un débutant est à ça pret ? il feraient tout pour que leur truc compile!


 
:lol: j'avoues... :whistle:

n°498386
chrisbk
-
Posté le 26-08-2003 à 12:23:23  profilanswer
 

BJOne a écrit :

disons que perso, ayant appris l'asm 80x86 et le C en auto-didacte, que je suis arrivé en BTS, il avait un cours de C et d'assembleur séparé.
 
je pense que pour les débutants, il serait plus judicieux de montrer le même algo en C et en ASM en même temps, la compréhension des pointeurs serait plus aisée...


 
avec analyse du code desassemblé  
Sujet de colle : a partir du code asm de 30 pages ci dessous veuillez reecrire le code C correspondant, commentaires compris :O
Pas de l'interro de tapette ca :O

n°498391
bjone
Insert booze to continue
Posté le 26-08-2003 à 12:24:45  profilanswer
 

chrisbk a écrit :


 
avec analyse du code desassemblé  
Sujet de colle : a partir du code asm de 30 pages ci dessous veuillez reecrire le code C correspondant, commentaires compris :O
Pas de l'interro de tapette ca :O


 
gni :D un peu violent quand même....
 
 

n°498392
chrisbk
-
Posté le 26-08-2003 à 12:26:27  profilanswer
 

BJOne a écrit :


 
gni :D un peu violent quand même....


 
on est la pour inculquer, pas pour rigoler :O
 
vais faire prof, moi, tiens [:meganne]

n°498407
bjone
Insert booze to continue
Posté le 26-08-2003 à 12:34:18  profilanswer
 

wé mais c'est pas valable si pour chaque instruction y'a pas en commentaire le pipeline U ou V d'indiqué dans le cas d'une éxécution sur Pentium 1... (et les stalls de génération d'adresse aussi :D)
 
bon on va arrêter là, c'est pas non plus ce que je voulais dire à la base  :cry:

n°498414
chrisbk
-
Posté le 26-08-2003 à 12:36:34  profilanswer
 

BJOne a écrit :

wé mais c'est pas valable si pour chaque instruction y'a pas en commentaire le pipeline U ou V d'indiqué dans le cas d'une éxécution sur Pentium 1... (et les stalls de génération d'adresse aussi :D)
 
bon on va arrêter là, c'est pas non plus ce que je voulais dire à la base  :cry:  


 
oh mon dieu, des AGI [:totoz]
(la hantise de chaque codeux asm ca, fut un tps :D)

n°498420
bjone
Insert booze to continue
Posté le 26-08-2003 à 12:38:26  profilanswer
 

a là là que de souvenirs.... (avec les tentatives pour minimizer les échecs de prédilection de branchement pour pas avoir à vider les pipes :D)
 
:lol: bon stop...
 
Big-Foot >> alors où en est tu ?

n°498448
ffluff
Challenge Everything
Posté le 26-08-2003 à 13:34:22  profilanswer
 

Touze a écrit :


ok, y bien des ; en fin de ligne, le même préprocesseur, mais ça s'arrete là. le C++ contient un sous-ensemble du C, mais c'est loin d'être uniquement ça. Effectivement comme différence, on citera: la couche objet, la surcharge, les templates (le point le plus important pour moi), le typage renforcé, la gestion d'erreur par exception, les références. C'est tellement différent !


Ok je suis passer un peu rapidement sur le C++ mais je voulais faire light pour ne pas lui faire peur :D
 

Touze a écrit :


flush > t'aurais mieux fait de rester en licence je crois ;) t'as pas du tout suivre sur les paradigmes  :D  


1°) c'est fFluFf voire FluF meme ;)
2°) Y a jamais de 2 avec moi  [:ffluff]  
3°) Euh Touze le paradigme c'est en deug mais je ne t'en veus pas t'y ai pas aller souvent ;)


Message édité par ffluff le 26-08-2003 à 13:37:45
n°498455
Taz
bisounours-codeur
Posté le 26-08-2003 à 13:39:58  profilanswer
 

vois le mec qui programme trop [:joce]
oui mais c'était surtout avec Psychopathe en fait [:aloy]
 
edit: ta chatte looping


Message édité par Taz le 26-08-2003 à 13:40:25
n°498513
HelloWorld
Salut tout le monde!
Posté le 26-08-2003 à 14:20:28  profilanswer
 

Citation :

Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C:
-de l'objet par definition      


 
Faux justement. La programmation objet n'est pas liée à un langage objet. Ce dernier la facilite c'est tout. GTK : c'est une lib orientée objet, et pourtout elle est en C. Idem Win32.
On peut faire de la prog objet tres poussée en C (héritage, polymorphisme, fonctions virtuelles, ...). Faut être un peu mazo c'est tout.
J'ai aussi vu la généricité en C (là c'est crade par contre, a l'aide du preprocesseur).


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°498525
ffluff
Challenge Everything
Posté le 26-08-2003 à 14:28:43  profilanswer
 

Taz a écrit :

vois le mec qui programme trop [:joce]


 
Euh en ce moment je fais du php et je te merde AnnieSansLesBalles  [:ffluff]  
 

HelloWorld a écrit :

Citation :

Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C:
-de l'objet par definition      


 
Faux justement. La programmation objet n'est pas liée à un langage objet. Ce dernier la facilite c'est tout.

 
Euh si on peut pas faire de l'objet avec un language objet ....
 

HelloWorld a écrit :


GTK : c'est une lib orientée objet, et pourtout elle est en C. Idem Win32.
On peut faire de la prog objet tres poussée en C (héritage, polymorphisme, fonctions virtuelles, ...). Faut être un peu mazo c'est tout.
J'ai aussi vu la généricité en C (là c'est crade par contre, a l'aide du preprocesseur).


j'ai dis le contraire ???

Citation :

Pense a tes algos et choisit un language que tu maitrise pour coder


Sous entendu le language ne doit pas te limiter.
on peut meme faire de l'objet en scheme (language fonctionnel interpreter la pluspart du temps)


Message édité par ffluff le 26-08-2003 à 14:31:38
n°498658
HelloWorld
Salut tout le monde!
Posté le 26-08-2003 à 16:07:34  profilanswer
 

Citation :

Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C:
-de l'objet par definition


 
J'en déduis qu'on ne peut pas faire de l'objet en C.
 

Citation :

Euh si on peut pas faire de l'objet avec un language objet ....


Je ne crois pas avoir dis ça.
 

Citation :

j'ai dis le contraire ???


Si je me fis à la citation ci-dessus, je dirais oui ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°498866
Big-Foot
Posté le 26-08-2003 à 19:02:15  profilanswer
 

Donc si vous me déconseillez de commancer par le c++ sans passer par le C, c'est parce que je devrais me lancer directement dans la prog objet c'est ca ?  
Vous conseillez donc de passer un moment par le C. Mais combien de temps ? Parce que j'imagine que pour metriser un language comme le C, ca doit prendre un peu de temps...

n°498880
LeGreg
Posté le 26-08-2003 à 19:21:02  profilanswer
 

Big-Foot a écrit :

Donc si vous me déconseillez de commancer par le c++ sans passer par le C, c'est parce que je devrais me lancer directement dans la prog objet c'est ca ?  
Vous conseillez donc de passer un moment par le C. Mais combien de temps ? Parce que j'imagine que pour metriser un language comme le C, ca doit prendre un peu de temps...


 
Connaitre la grammaire ne veut pas dire que tu sauras parler.
 
Si tu signes c'est pour la vie !
(engagez vous qu'y disaient..)
 
LeGreg

n°498931
bjone
Insert booze to continue
Posté le 26-08-2003 à 21:00:44  profilanswer
 

"c'est l'infanterie mobile qui a fait de moi l'homme que je suis devenu"
 
(Starship Troopers)


Message édité par bjone le 26-08-2003 à 21:04:21
n°498999
ffluff
Challenge Everything
Posté le 26-08-2003 à 22:11:21  profilanswer
 

HelloWorld a écrit :

Citation :

Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C:
-de l'objet par definition


 
J'en déduis qu'on ne peut pas faire de l'objet en C.


 
Oups apres relecture  :jap:  
Je voulais dire : En c++ c'est plus facile de faire de l'objet  [:ffluff]

n°499050
cassidy
Black Rainbow
Posté le 26-08-2003 à 22:53:10  profilanswer
 

Si tu veux un bon livre pour apprendre le C++ je te conseille "C++ from the Beginning" chez Addison Wesley (j'ai la 2e edition).
C'est celui qu'ils nous conseillent à l'unif et il est très bien fait.

n°499300
HelloWorld
Salut tout le monde!
Posté le 27-08-2003 à 09:52:55  profilanswer
 

Citation :

Vous conseillez donc de passer un moment par le C


 
Ou de faire du pseudo C en C++, c.a.d du C++ sans les classes, en procédural, mais avec les string et de manière + générale la bibli du C++ et pas du C.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°499522
Big-Foot
Posté le 27-08-2003 à 12:29:03  profilanswer
 

ok merci  
 
je vais donc passer un petit moment sur le c avand de passer au c++

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Difference C, C++

 

Sujets relatifs
difference entre loperateur = et ==form et frame, ckoi la différence ?
'TCP/IP' - vs - 'UDP' c'est quoi la difference ?[Newbie] Différence fentre dos / command Ms Dos
question de newbie: c'est quoi la différence entre ...[php] Différence entre include et require ?
difference entre un StringBuffer et une StringDifférence entre MySQL et MySQL MAX ?
quelle est la différence entre une dll statique et dynamique ?[PHPMySQL] Différence entre une connexion et une connexion persistante
Plus de sujets relatifs à : Difference C, C++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR