VB=C++

vbnino Messages postés 218 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 11 juillet 2010 - 20 août 2007 à 11:52
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 - 22 août 2007 à 23:51
Salut!

 -Est-ce-que VB peux s'égaliser (ou méme surpassé) C++ , méme si en l'aide avec des outils extérne?
  -Et pour-quoi en dit que VB est un language pour les débutants, vu les sources poster ici ,vous savez controlez le system , alors pour-quoi?

12 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 août 2007 à 12:05
salut,
C++ est un langage bas niveau, çà veut pas dire qu'avec VB6 on ne peut faire que des appli d'un niveau bas ^^

égaliser ou surpasser?
c'est sûr qu'un bon prog VB sera toujours meilleur qu'un mauvais prog en C. plus aucun rapport avec le langage en soi ;)

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
20 août 2007 à 12:19
VB est souvent considérer comme un langage pour les débutant, car il est très simple de faire un programme à peu près correct, rapidement.
En C++, il faut en connaitre un peu plus pour faire la même chose.
voila pourquoi le VB est si mal considéré.
Mais comme tu l'as remarqué toi-même, on peut faire plein de belle chose en VB, même en VB6 !
Plutôt que de dire que VB est un langage pour débutant, il vaudrait mieux dire que VB est un langage "accessible aux débutants". Débutants, qui pourront alors, continuez en VB si cela leur plait, ou passer sur un autre langage lorsqu'ils en connaitrons assez pour ne pas ramer des heures en C++ sans rien capter à ce langage !
Et comme le dit PCPT, autant on peut faire de très belle chose en VB, autant on peut faire des choses pourrie en C/C++ !
Je pense qu'on peut estimer que près de 90% des logiciels que tu peux télécharger sur le net sont en C/C++ ! Et certains sont vraiment de grosses daubes !!
Alors que certaines source de VBFrance.com sont très bonnes !!

Comme quoi ...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 août 2007 à 12:20
Disons que l'objectif de ces quatre (il faut distinguer VB de VB.net et C++ de C++.net !!!) langages est très différent !

VB6 était fait pour développer des applications très rapidement tout en gardant des performances "honorables" : langage très haut niveau avec beaucoup d'assistants dédiés qui permettait d'obtenir un logiciel en un temps record, et une fois compilé, il avait des performances suffisantes dans beaucoup de domaines. Après dans des domaines bien précis, fallait passer par les API Windows pour avoir de meilleures performances, voir faire des librairies en C/C++ pour l'optimisation de certaines opérations.

VB.net est l'évolution "logique" selon microsoft : ca n'a plus grand chose à voir avec VB : même si la syntaxe reste la même, et l'objectif final aussi, les performances sont bien différentes. Le framework .net très lourd, et il ne faut pas s'attendre à avoir un programme VB.net aussi performant qu'un prog VB, par contre, c'est sûr que VB.net va plus loin : encore plus haut niveau que VB, il permet de développer encore plus rapidement !

C++ est un langage très très bas niveau. C'est l'évolution objet du langage C qui est le langage phare pour le matériel et les OS (il est d'ailleurs encore extrêment utilisé de nos jours car niveau performances, à part l'assembleur, je ne connais pas de langages plus rapide !). Le C++ apporte donc la programmation objet au langage C. Il permet de faire beaucoup plus de chose que le VB.net, et à fortiori encore plus que le VB (pointeurs, multi-héritage, etc.), mais demande une très bonne rigueur et plus de temps de développement pour faire la même chose.

C++.net est l''évolution" illogique du C++ Il s'agit du langage C++ mais porté sur le framework .net de microsoft. Il perd tout les avantages du C++ niveau rapidité et bas niveau, tout en gagnant tout ces inconvénients !

Donc VB != C++ à bien des niveaux ! De là à dire est-ce qu'il est possible que VB surpasse le C++, tout dépend ce que tu veux dire : niveau perf, faut pas rêver ! Niveau confort de développement et rapidité de développement OUI !
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
20 août 2007 à 12:43
A noter que dans la nuance entre le C et le C++, les softs les plus lourds (comme les OS, les très gros logiciels comme office, etc ...) sont généralement développés en C plutot qu'en C++ que sa couche objet rend moins efficace en terme de rapidité d'exécution.

La POO a toujours été un frein à la performance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
20 août 2007 à 14:04
Personellement, cela fait des années que je programme au niveau professionnel et essentiellement en VB et C. Pas de C++, Pourquoi? parce que je n'ai jamais pu me faire à cette philosophie de conception objet qu'apporte le C++ au C. Conception qui la plusparts du temps allourdie le truc alors que souvent en maitrisant bien le C on arrive à faire des choses semblable sans avoir besoin de sortir l'artillerie lourde.
VB est très utiliser par les entreprises qui développent mais qui n'ont pas une fortune à dépenser dans des programmeurs en C++ qui ne connaissent ce langage que pour le prestige de connaitre un langage considéré comme ellitiste, mais qui sont bien incapables de s'adapter au terrain. Si tu as l'occasion, va faire un tour dans le milieu industriel, tu découvriras que VB et C sont les rois avec Delphi et Labview, mais que le C++ n'a pas vraiment sa place. On fait de très belles choses en VB que l'on ne fait aussi facilement en C++.

Quant à VB.Net, il apporte la programmation objet dans le monde VB avec une philosophie, à mon avis, bien plus intuitive et abordable que le C++.
Quant aux différences entre VB et VB.Net, elles sont forcément énormes puisque .Net apporte la POO à VB qui à la base n'était pas du tout conçu dans cette optique et n'était absoluement pas prevu pour un jour recevoir cette possibilité. VB.Net ammène te ammènera beaucoup de vbeistes à la POO, mais peu je pense à C++

Je passerais sur le C++.Net qui pour moi n'a aucune raison d'exister. Faire un C++.Net reviens finalement à fabriquer du beurre avec comme ingrédient exclusif.... du beurre

Pour info, très très peu de logiciels Microsoft sont codés en C++, la pluspart sont fait en C et maintenant aussi en C#.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
20 août 2007 à 14:24
Comme tu le dis, Casy,

C++.NET = un langage ne servant vraiment à rien.
Or, comme
C# = C++ plus le framework .NET en prime
alors
C# = un langage ne servant vraiment à rien.

C'est pas moi qui le dis !!! Ce sont les mathématiques :

A + B = C
Or, comme
D = A + B
Alors
D = C

;)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 août 2007 à 14:49
Lol, disons plutôt que C# EST l'évolution du C++ selon microsoft, alors que C++.net est plutôt une "évolution" du C++ pour mieux faire passer la grosse pillule du framework en vue que les dév C++.net migrent vers C#.

A mon avis, C++ va disparaître (tout comme J# qui lui aussi, on se demande ce qu'il fait là, c'est pas en faisant une copie conforme de java que microsoft risque de rameuter des dév java vers ses techno, ils ont pas dû tout comprendre pour ce coup là !!!).
0
browser64 Messages postés 112 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 5 décembre 2010
20 août 2007 à 15:36
Un exemple sur le code n°1 "ci-dessous" je crée un fichier .txt en delphi
Sur le code n°2 "ci-dessous" je crée un chier .txt en Vb

****n°1
procedure X(Sender: TObject);
var
browser64: textfile;
begin
assignfile(browser64 ,'fichier de browser64.txt');
Reset(browser64);                       
Write(browser64r,'hello');
WriteLn(browser64,'salut');
closefile(browser64);
end;

****n°2
Private Sub Form_Load()
Open "c:\browser64.txt" For Output As #1
Print #1, "hello"
Close #1
End Sub

--------C'est plus simple et plus court en vb dont plus rentable ! enfin c'est un long sujet de conversation..........---------
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
20 août 2007 à 16:03
Pas mal ton résonnement Kristof, à un détail près : personellement je sais pas si j'oserais l'affirmation C# = C++. La philosophie objet des 2 langages ne me semble pas quand même pas tout à fait la même. Et dans ce cas là, ton résonnement se casse la gueule.
Par contre que C# soit l'évolution de C++ comme le dit Dark, parce que C++ reste quand même difficilement abordable, là je suis d'accord. On peut penser que d'ici une dizaine d'années si C# arrive à s'imposer, C++ disparaisse petit à petit.

Browser64, quand tu compare, fait attention à comparer ce qui est comparable. VB6 n'étant pas du tout, mais vraiment pas objet, alors que Delphi, même si ce n'etait pas toujours completement implanté, à toujours quand même eu une certaine notion d'objet. N'oubliont pas que Delphi à pour ancêtre le Pascal Object, version du Pascal destinée à coder pour Windows 3.1. Et oui, ça nous rajeunis pas tout ça.
Et puis tu as oublier tout le code, à rajouter à coté, notamment les gestions d'erreur, si tu veux faire un code "bien propre". Et encore c'est sans parler des performances à l'execution, ensuite.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 août 2007 à 16:41
Heu casy, avec VB6 on peux faire quand même un peu d'objet. Bon soit il ne gère pas l'héritage et le polymorphisme, mais ca peut être compensé par la délégation et le système d'interface ! (ce qui est d'ailleurs mieux que de faire de l'héritage dans certains cas, et certains patterns se fonde sur cà d'ailleurs)

Donc oui, VB6 n'est pas un langage Objet comme l'est Java ou les langages .net, mais de là à dire qu'il n'est pas du tout objet et qu'il ne permet pas de faire de la POO !!!
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
20 août 2007 à 22:01
+1 avec DS !!
D'autant plus que le fait d'écrire texbox1.Text = "Vive le VB" signifie "assigner la valeur "Vive le VB" au membre nommé Text de l'objet textbox1./
Et ce n'est rien d'autre que de la POO.
La seule chose qu'on puisse dire c'et que VB6 n'applique pas toutes les recommendations faites par la POO. Mais le C++ non plus alors !?
Je crois que de tous les langages, c'est le Java qui est le plus proche de la "norme" POO
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
22 août 2007 à 23:51
Casy < Ouais ! Donc c'est bien pire que ce que je croyais alors !! C# est fait pour ceux qui sont incapable de coder en C++ alors ? LOL !!!!
Non, vraiment je ne comprends pas cet engouement pour le C# et ce dénigrement envers VB.NET ! Si je ne m'abuse, la seule grosse notion qui manque à VB.NET par rapport à C#, c'est l'héritage multiple. Alors à ce sujet :
1- Il me semble que l'implémentation d'interfaces permet de contourner ce souci en VB.
2- De tous les gens qui codent vraiment "objet", combien ont eu besoin d'implémenter un héritage multiple ? Mais je veux dire "réellement besoin", pas juste pour dire "Moi, j'l"ai fait !!" (Comme le saut à l'élastique quoi !!)
Perso, je programme en objet (sous bien des langages) depuis plus de 15 ans (j'ai commencé par le Pascal d'ailleur, puisque tu en parle !! Ben ouais !! J'suis un vieux de la vieille en informatique !! J'ai codé sur ZX80A moi mon p'tit gars !!) et la seule fois ou j'ai implémenté un héritage multiple, c'était il y a 2 heures ... pour voir ce que donnait le C#.

Browser64 < Attention à ne pas te méprendre sur une chose vitale pour comparer des langages de prog ...
Code performant ne veux pas dire code court !!!!! Le langage le plus performant de tous est forcément l'ASM, mais c'est aussi avec lui que le Nb de ligne est le plus long pour faire une chose donnée ! Par contre, niveau rapidité ... tu écrases tout les autres langages ! Et si tu regarde bien ton code :
En delphi :
1 instruction pour créer le flux et l'assigner à un fichier : assignfile()
1 instruction pour initialiser le flux : reset()
1 instruction pour envoyer les données : write()/writeln() (oui ! en réalité deux mais on peut les considérer comme une seule non ?)
1 instruction pour fermer le flux : closefile()

En VB
1 instruction pour créer le flux, l'assigner à un fichier et l'initialiser : Open
1 instruction pour envoyer les données : Print
1 instruction pour fermer le flux : Close

Et ben t'a jamais qu'une seule instruction de plus pour Delphi. Et au moins, quand tu initialiser ton flux, tu le sais, c'est toi qui le lui demande explicitement. en VB, dès que tu ouvres le flux, il l'initialise !! Pas top en fait !!
Bon j'arrête la car après le C#, je vais me mettre à casser du VB ... sniff !!

;) ;) ;) ;) ;) ;)
0
Rejoignez-nous