Difference C, C++ - Divers - Programmation
Marsh Posté le 25-08-2003 à 20:24:23
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++
Marsh Posté le 25-08-2003 à 20:26:33
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
Marsh Posté le 25-08-2003 à 20:28:31
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
Marsh Posté le 25-08-2003 à 23:35:34
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) |
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.
Marsh Posté le 25-08-2003 à 23:42:07
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, ...
Marsh Posté le 26-08-2003 à 00:36:47
euh si je me rappel bien les cours (ssi taz j'y suis aller en deug )
la difference entre le C et le C++ ben c'est le paradigme
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
-ne pas respecter le paradigme (c'est super facile en C++ )
Sinon comme la dis un de nos profs:
Pense a tes algos et choisit un language que tu maitrise pour coder
PS: tu peus faire autant de graphisme en C qu'en C++ si t'as les outils qui faut
Marsh Posté le 26-08-2003 à 07:22:01
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 :
|
puis
Code :
|
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
Marsh Posté le 26-08-2003 à 07:28:15
d'ailleurs, si c'était la même chose, on aurait pas 2 cat séparées
je vous attends avec vos
"et pourtant C++ == C "
Marsh Posté le 26-08-2003 à 10:46:32
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 |
Marsh Posté le 26-08-2003 à 10:49:01
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
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)
Marsh Posté le 26-08-2003 à 10:51:08
Big-Foot a écrit : merci de vos reponses
|
le C++ offre une panoplie comment dirait-je, de manières d'écrires ton code, qui permet plus de robustesse, lisiblité (quoique desfois ), réutilisation....
Marsh Posté le 26-08-2003 à 12:00:11
Citation : Big-Foot>> qu'est que t'as déjà fait en prog ? |
pour l'instant j'ai fais et je fais du php, je suis en train de fair un site (quand j'ai le temps ).
Citation : le C++ offre une panoplie comment dirait-je, de manières d'écrires ton code, qui permet plus de robustesse, lisiblité (quoique desfois ), réutilisation.... |
mais si je comprend bien en contre-partie il est plus difficile que le C ?
Marsh Posté le 26-08-2003 à 12:06:00
pas plus difficile: il propose un plus grand niveau d'abstraction. moi j'ai plus de mal à programmer en C correctement qu'en C++
Marsh Posté le 26-08-2003 à 12:10:24
Big-Foot a écrit :
|
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
à 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.
Marsh Posté le 26-08-2003 à 12:12:02
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é
Marsh Posté le 26-08-2003 à 12:14:40
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
Marsh Posté le 26-08-2003 à 12:16:16
pkoi VC++ = danger ? pour peu que tu nommes tes fichier en .c tu auras un compilo C ? (et pas le C++)
Marsh Posté le 26-08-2003 à 12:18:04
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!
Marsh Posté le 26-08-2003 à 12:20:13
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
Marsh Posté le 26-08-2003 à 12:21:30
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...
Marsh Posté le 26-08-2003 à 12:22:17
Taz a écrit : on dit ça ... tu crois qu'un débutant est à ça pret ? il feraient tout pour que leur truc compile! |
j'avoues...
Marsh Posté le 26-08-2003 à 12:23:23
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é. |
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
Pas de l'interro de tapette ca
Marsh Posté le 26-08-2003 à 12:24:45
chrisbk a écrit : |
gni un peu violent quand même....
Marsh Posté le 26-08-2003 à 12:26:27
BJOne a écrit : |
on est la pour inculquer, pas pour rigoler
vais faire prof, moi, tiens
Marsh Posté le 26-08-2003 à 12:34:18
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 )
bon on va arrêter là, c'est pas non plus ce que je voulais dire à la base
Marsh Posté le 26-08-2003 à 12:36:34
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) |
oh mon dieu, des AGI
(la hantise de chaque codeux asm ca, fut un tps )
Marsh Posté le 26-08-2003 à 12:38:26
a là là que de souvenirs.... (avec les tentatives pour minimizer les échecs de prédilection de branchement pour pas avoir à vider les pipes )
bon stop...
Big-Foot >> alors où en est tu ?
Marsh Posté le 26-08-2003 à 13:34:22
Touze a écrit : |
Ok je suis passer un peu rapidement sur le C++ mais je voulais faire light pour ne pas lui faire peur
Touze a écrit : |
1°) c'est fFluFf voire FluF meme
2°) Y a jamais de 2 avec moi
3°) Euh Touze le paradigme c'est en deug mais je ne t'en veus pas t'y ai pas aller souvent
Marsh Posté le 26-08-2003 à 13:39:58
vois le mec qui programme trop
oui mais c'était surtout avec Psychopathe en fait
edit: ta chatte looping
Marsh Posté le 26-08-2003 à 14:20:28
Citation : Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C: |
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).
Marsh Posté le 26-08-2003 à 14:28:43
Taz a écrit : vois le mec qui programme trop |
Euh en ce moment je fais du php et je te merde AnnieSansLesBalles
HelloWorld a écrit :
|
Euh si on peut pas faire de l'objet avec un language objet ....
HelloWorld a écrit : |
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)
Marsh Posté le 26-08-2003 à 16:07:34
Citation : Qu'est ce qu'on peut faire en C++ qu'on peut pas faire en C: |
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 ...
Marsh Posté le 26-08-2003 à 19:02:15
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...
Marsh Posté le 26-08-2003 à 19:21:02
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 ? |
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
Marsh Posté le 26-08-2003 à 21:00:44
"c'est l'infanterie mobile qui a fait de moi l'homme que je suis devenu"
(Starship Troopers)
Marsh Posté le 26-08-2003 à 22:11:21
HelloWorld a écrit :
|
Oups apres relecture
Je voulais dire : En c++ c'est plus facile de faire de l'objet
Marsh Posté le 26-08-2003 à 22:53:10
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.
Marsh Posté le 27-08-2003 à 09:52:55
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.
Marsh Posté le 27-08-2003 à 12:29:03
ok merci
je vais donc passer un petit moment sur le c avand de passer au c++
Marsh Posté le 25-08-2003 à 20:22:50
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
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