Différences de langages ( C/C++ et VB VB.net )

salut a tous.
comme le montre le titre, je voudrai connaitre concretement les différences entre le C et le C++.
egalement, visual studio 6 ou .net ??
laquelle est la plus portable, complete ?
Y a t il de grosses différences entre les 2 programmes ?
car je code un peu en VB et je me met au C ( voir C++ ) 
Ce message a été édité par fser le 20/12/2003

?..? euh, je suis pas très sur de voir le piège là, alors je me lance pour tater le terrain et me prendre la mine…

[quote]salut a tous.
comme le montre le titre, je voudrai connaitre concretement les différences entre le C et le C++[/quote]je peux faire concret et en plus concis, à savoir en 2 mots : Paradigme Objet. 

[quote]egalement, visual studio 6 ou .net ??
laquelle est la plus portable, complete ?[/quote]pour ce qui est de l’egonomie, vs7 est bien sur beaucoup plus aboutie. elle est vraiment sympa à l’usage. sinon, perso, j’ai un peu faible pour l’aide de vs6 mais il faut dire qu’il y a moins dedans aussi.
pour ce qui est de la portabilité, je laisse ça à Glop qui viendra sans doutes t’expliquer d’ici peu.

mais bon, le choix entre les 2 ne se résume pas à : “est-ce que cet ide là est mieux que celui-là”, on est bien d’accord ?

et puis de toute façon, .net ne te servira pas à grand chose si tu veux faire du ++, donc…

pour finir, tu devais poser des questions un poil moins générales parce que je reconnais que ce que je viens de te dire ne t’avance pas à grand chose, mais vu qu’on ne sait pas vraiment ce qui t’anime, c’est pas évident non plus…

[quote]salut a tous.
comme le montre le titre, je voudrai connaitre concretement les différences entre le C et le C++.
egalement, visual studio 6 ou .net ??
laquelle est la plus portable, complete ?
Y a t il de grosses différences entre les 2 programmes ?
car je code un peu en VB et je me met au C ( voir C++ ) 
Ce message a été édité par fser le 20/12/2003

Alors, pour la différence entre C et C++, je vais tenter de faire un peu moins concis que Tuperware, malgré le fait que je soit un amateur convaincu. Le c++ ouvre les portes célestes de la programmation objet. 

Si tu fait par exemple un objet rectangle, tu pourra lui assigner différententes variables (hauteur, largeur) et fonctions (Calcul de l’air, du périmetre, etc.). Il est surement possible d’arriver au même résultat en C, mais au prix de tortures mentales et magouilles techniques assez lourdes, je pense (les pros confirmeront). Sans rentrer dans les détails, la programation orienté objet (POO), c’est une facon de programmer trés propre et trés structurée. Tu pourra trouver plus d’infos sur le sujet sur des sites comme http://www.commentcamarche.net ou http://www.developpez.com.

Pour la programmation d’applications windows, il ne me semble pas que tu ai le choix de toutes facons, ca sera du c++ (a part pour les applications console (DOS)). Après, entre visual studio 6 et .net, c’est un peu toi qui voit. La portabilité, c’est toi qui la définit par ta manière de programmer, pas le compilateur (enfin, dans le sens où les deux compilateurs généreront un source qui marchera sur tous les windows du monde). Visual Studio .net est bien sur la plus complète, puisque la derniere en date. .net introduit le support de c# et j# notamment.

Je vais d’ailleurs faire mon Glop (surtout que là il est revenu en France en théorie) : si tu programme un peu en VB, et que tu veux passer à un language plus évolué, je ne saurais que trop te recommander c#/.net, qui représente une bonne partie du futur de Windows. Grosso modo, ca allie la puissance du c (et de sa syntaxe) avec l’accessibilité du visual basic (un peu moins facile quand même, parce qu’il faut pas déconner). Il suffit de te promener un peu dans ce forum pour te rendre compre que ce language remporte un franc succès auprès de ceux qui l’ont essayé.

Bon, je suis pas d’accord pour dire qu’on peut faire en C de la “pseudo
programmation objet”.

C++ est un sur ensemble de C, c’est a dire qu’en reprennant la syntaxe
du C, il lui ajoute le paradigme objet.

Personnelement, je te deconseille le C et/ou le C++ si tu n’as fait que
du VB: il y a des concepts assez complexe a comprendre (genre les
pointeurs et l’allocation memoire qui en decoule) qui sont plus ou
moins caches dans C#, d’apres ce que j’ai compris - ce probleme est
laisse a la discretion du compilateur et c’est plus facile pour le
programmeur (meme si moi, j’aime bien me prendre la tete avec les
pointeurs - avis perso )

Etant donne que C# est un langage normalise, il me semble etre un vrai
langage qui a de l’avenir et qui est a apprendre quand on est encore a
l’ecole. (et meme quand on en est sorti - faudrait peut etre que je m’y
mette, mais j’aime paaaas l’objet)

LoneWolf

Pfff l’objet c’est plus facile, il parait…

[quote]Alors, pour la différence entre C et C++, je vais tenter de faire un peu moins concis que Tuperware, malgré le fait que je soit un amateur convaincu. Le c++ ouvre les portes célestes de la programmation objet. 

muf... en fait, j'ai fait court pour éviter les raccourcis inhérents à l'explication de ce genre de concepts (en particulier à l'heure où j'ai posté hier) et que l'on retrouve , sauf ton respect, dans ton post. c'est pour ça que sur le coup, je me suis dit qu'il vallait mieux qu'il cherche les infos et qu'il en trouve des complètes, plutôt qu'on lui en donne et qu'elles soient fragmentaires.

[quote]Pour la programmation d’applications windows, il ne me semble pas que tu ai le choix de toutes facons, ca sera du c++
euh… .net, c’est quand même la refonte de VB, l’avènement de C# et l’ouverture à une foultitude de langages comme Smalltalk, Python, Cobol, Perl… alors, pour la prog vindows, on a le choix.
qui plus est, sans rentrer dans le détail, les principaux avantages de la plateforme .net ne s’applique pas à c++, donc…

[quote].net introduit le support de c# et j# notamment.[/quote]point de compilo J++/++++ (soit #) par défaut sur vs7. le langage tombe d’ailleurs petit à petit dans l’ombre… RIP.

sinon, je suis d’accord sur le fond en ce qui concerne c#. c’est que du bon.

le “probleme” c’est que je tourne egalement sous Linux ( MDK pour le moment mais je ne dis pas que je ne vais pas migrer vers une slack ou debian ).
Ce qui veut dire que le VB, ben j’en ai fait comme ça.
le PHP c’est pour mon site, le javascript, ça me deçoit je m’en sert pas quand au J kesako !!! jamais entendu parler.
une question se pose de toute maniere, vu que les 3 langages possedent la meme lettre, il ne doit pas etre si difficile de migrer de l’un a l’autre …

( désolé pour les accents j’ai eut un peu la flemme )

ouais bonne iddée.
mais ça fait pas avancer le schmilblick

peut on comparer le C#vis a vis du C/C++ comme l’ASP par rapport au PHP ?
la touche de grosoft quoi
car comme je suis sous linux, j’aime autant un langage polyvalent autre que le python.

fser : non, ca a un peu rien a voir …

d’ailleurs, faut pas mettre C et C++ ensemble, ca a rien a voir aussi. (d’ailleurs pour moi si C++ c’est autant le merdier aujourd’hui, c’est parque justement, on a pas assez distinguer les deux, avis perso , mais c’est un ature debat.)

pour revenir a ta question, ce sont des types de langage differents, de generation differentes, avec des buts differents …

En gros (TRES GROS), tu as les langages proceduraux : C, pascal …

les langages objets de premiere generation(C++, SmallTalk …) et les langages de dernieres generation (Java, C#).

pour les diff entre les langages objet de permiere et derniere generation, c’est un poil subtil et long a expliquer, surtout a quelqu’un ne connaissant rien a l’objet.

VB, c’est un peu a part, un mix d’objet et d’evenementiel. Un truc un peu batard en fait.

voila pour une classification a la louche

ok merci .
ça m’aide encore moins ça alors, car je veux apprendre un langage puissant mais je sais pas encore pour quoi en faire alors je pense que le C ++ serait bien car orienté objet …
mais a part ça, je nage. :confused:
y a-t-il reellement des contrastes de difficultés ( ne me jugez pas a partir de VB )
voila .
sinon le VB.net ressemble plus au C ( ou #je sais pas ) mais quel est sont interet , une simplicité accrue ( par rapport au C et autres # et ++ ) et des possibilités supérieures par rapport a VB
merci de votre patience

[quote]ok merci .
ça m’aide encore moins ça alors, car je veux apprendre un langage puissant mais je sais pas encore pour quoi en faire alors je pense que le C ++ serait bien car orienté objet …
mais a part ça, je nage. :confused:
y a-t-il reellement des contrastes de difficultés ( ne me jugez pas a partir de VB )
voila .
sinon le VB.net ressemble plus au C ( ou #je sais pas ) mais quel est sont interet , une simplicité accrue ( par rapport au C et autres # et ++ ) et des possibilités supérieures par rapport a VB
merci de votre patience[/quote]pour moi, si tu veux faire de l’Objet (d’ailleurs, qu’est-ce qu’on peut faire d’autre aujourd’hui), le ++ n’es peut être pas la meilleure option. ok, il est connu, il a son notoriété, ses fans, mais il commence à se faire vieux le pépère, j’entend par là que le poids des années commence à se faire sentir (cf .net).
en clair, c++ est un langage compliqué, pas forcement accessible et aux fondamentaux pas toujours très clean.

donc, C# et java sont tes amis aussi.

sinon, concernant vb.net, comment dire… tout dépend de la manière dont tu vois tes futures réalisations : vb/vb.net est accessible et permet de faire des choses. ça fonctionne pour les petites, voire les moyennes appli mais il ne faut pas oublier que dans sa définition, vb est un langage d’amateur (pas au sens péjoratif du terme, en opposition à pro). c’est une usine à gaz qui ne permet pas de faire des choses très propres et dans les règles de lard. vb.net s’est amélioré mais ça reste de rustinage.
pour les posibilité de vb.net par rapport à vb, cf les avantages de .net

voilà. en espérant que ça t’éclaire un peu plus…

[quote]Bon, je suis pas d’accord pour dire qu’on peut faire en C de la « pseudo
programmation objet ».[/quote]
Pourtant si, tu peux programmer de facon objet dans beaucoup de languages, y compris en c.

GTK+ par exemple le
fait, et ca marche plutot bien. Plus pecisement, depuis GTK±2.0, ils utilisent les GObject de la GLib.

Bon, personnellement j’aime pas trop le C++ et je prefere plutot ObjectiveC (utilise dans Cocoa sur Mac OS X et sur GNUStep) ou Java, mais parfois on a pas le choix :confused:
Ce message a été édité par BokLM le 23/12/2003

Merci a tous

hop, alors si effectivement tu veux te mettre un un langage puissant, propre, beau, objet et moderne, je ne peux que te conseiller le Java, que je connais bien, ou le C#, dont tout le monde dit beaucoup de bien, mais que je ne connais pas.

voila, et oublie le C++, ca va bientot disparaitre

[quote] 
voila, et oublie le C++, ca va bientot disparaitre
Ce message a été édité par yaourt-nature le 23/12/2003

je savais que ca passerait pas inapercu

c’etait pour deconner, effectivement, le c++ a encore de beau jour devant lui, mais le java marche pas si mal.

et puis C# arrive, c’est du java deguiser

Je vais te repondre pour le vb.net, en fait il y a plein de choses qui changent, et c’est sur qu’un bon developpeur vb6 mettrait plusieurs mois a s’habituer a la nouvelle synthaxe et aux nouvelles composantes du language.

  • Tout dans vb.net est orienté objet, et toutes les classes héritées de la classe objet (donc quand tu veux faire interragir deux elements il faut bien presiser leur type), ainsi meme les types primitifs sont objet, car ils sont encapsulés dans les classes.
  •  Chaque Classe est munie de destructeurs de contructeurs.
  • Il n'y plus de variable Static
  • Chaque language peu interragir avec des composants crées avec un language du framework. Ainsi si tu crée un librairie en CSharp tu peux la faire interragir avec un programme VisualBasic.net
  • Nouvelle gestion des erreurs avec les blocs Try...Catch...Finally, tres pratiques à mettre en oeuvre.
  • Le Multhreading
  • Variables Booléennes deviennent compatibles avec True = 1 et False = 0
  • Les types String deviennent standard, et on peut plus definir leur taille
  • Le mot Clé Set Disparait
  • La Doc peut etre peut etre crée automatiquement par VisualStudio.
  • Bon, y'en a plein d'autre, mais voila les gros changements. Ah si, je me repete, C'EST DE L'OBJET, IL FAUT TOUT DECLARER.
    VB6 :
    Form2.Show
     
    VB.net
    Dim Frm2 As New Form2
    Frm2.show
    Sinon moi je suis tombé sous le charme de vb.net, il m'a fallu un petit effort pour reapprendre, mais je suis content de l'avoir fait, et j'ai completement laché vb6.

    Ce message a été édité par Le_K le 23/12/2003

    Ne vaut-il pas mieux d’abbord s’attaquer au C/C++ et/ou Java avant le C# ?

    Je connais bien le Java et je me suis mis au C++, et je retrouve beaucoup de concepts des deux langages dans C#.

    Je vous rappelle que le mécanicien en chef de ce lieu a pondu ça il y a déjà quelque temps.