Mon prog bouffe de la memoire

cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008 - 26 août 2006 à 13:25
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008 - 27 août 2006 à 03:47
Salut à ceux qui liront,

je débute tout juste en vb2005 (j'étais plus à l'aise sur vb6 :) , j'ai refait entierement un prog que j'avais en vb6 > en vb2005, j'ai fait "générer" et l'exe qui resulte fait 250ko
il n'y a pas de boucle bizarre dedans et pourtant quand je vais dans le gestionnaire des tâches il met que mon prog utilise 20 000 ko de memoire (??) blurps

y'a t'il une raison que je ne connais pas ?

thanks

34 réponses

Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
26 août 2006 à 17:16
Casy : Justement, c'est ce qui m'a toujours étonné. Plus lent que VB6 ? Euh, c'est possible, ça ?

Franchement, je t'ai donné un exemple probant : environ 65000 vecteurs affichés en quasi temps réel avec mise à l'échelle et conversion d'unités Lambaires <-> pixels ! J'ai essayé le même en Vb6 et c'était...euh... comment dire, risible ?

Ca dépend aussi de ce que l'on fait. Comparer deux boucles "for next" vides ou presque, quel intérêt ? Créons des objets, des traitements lourds, graphiques ou mathématiques, et puis après on compare.
De plus, je pense que programmer réellement un POO avec .NET permet d'en tirer la quintessence. Je doute que la plupart des personnes qui viennent de VB6 soient à même de le faire, du moins au début.

Quant à ta réflexion sur le besoin, je ne vois pas, là. De la vraie programmation orientée objet, on trouve cela indispensable en Java, mais quand Crosoft nous l'offre avec .NET, on nous "impose" un outil ? Avec l'interopérabilité, la suppression pure et simple de TOUS les inconvénients de l'architecture COM !

Je ne connais personne qui soit revenu de .NET à VB6. Et pour quoi faire, d'ailleurs ? Il y a tant de chose qu'on peut faire (ou si difficilement) avec .NET et pas avec VB6, le contraire est faux.

Oui, VB6 a encore beaucoup de beaux jours devant lui. Mais j'ai peur que cela soit pour la même raison que tant de gens utilisent Excel au lieu d'Access pour gérer de grandes quantités de données : par fainéantise et par peur de la nouveauté. Après tout, VB6 a quand même toujours été ce qui se faisait de pire en matière de développement, non ? Pour prendre de mauvaises habitudes, c'était le top. J'en ai vu des applis VB6 programmées à la va-vite, impossible à maintenir ou à faire évoluer.
.NET apporte la rigueur. Rien que cela, c'était indispensable.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 août 2006 à 17:45
tu es commissionné?

peut-être ne peut-on pas faire de code à la va-vite en .net mais ce n'est pas parce que VB6 est accessible à tous et de surcroît un outil idéal pour commencer qu'il est pour autant un sac à lourdes lignes.
encore 78% des dev étaient (il y a 6mois) encore sous VB6. (je n'ai pas les chiffres récents).

et je ne vois pas pourquoi on ne pourrait pas prendre de mauvaises habitudes avec tous les langages.....

peut-être que si VB6 est pour toi un outil des plus lents, c'est justement tes codes qui n'étaient pas ... corrects
VB6 et VB DotNet n'ont pas les mêmes objectifs, il arrive un moment où il devient "risible" de les comparer. et même si la POO est plus ou moins réalisable en VB6, c'est là ou il faut remettre les choses en place et comparer le C++ au VB# dans ce cas....

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
26 août 2006 à 18:09
Non, je ne suis pas plus commissionné pour .NET que vous pour VB6...

Je ne trouve justement pas que VB6 soit idéal pour commencer. Pourquoi ne pas commencer dès le début par prendre les bonnes habitudes de prog ? .NET est aussi accessible que VB6, mais moins tolérant au n'importe quoi. Bizarrement, je trouve cela mieux.

Evidemment que VB est très répandu. Mais cela ne prouve que son accessibilité. Access peut être aussi comparé de cette manière à Oracle ou SQL Server... Tout projet un tant soit peu conséquent et "pro" faisait appel à C++ ou Java.

On ne peut pas prendre AUTANT de mauvaises habitudes avec .NET à cause de sa structure même. La POO, c'est la rigueur, même lorsqu'elle est masquée.

Et si VB6 est si lent pour moi, c'est qu'il en a toujours été ainsi. Comme pour tous les les BASIC, d'ailleurs, jusqu'a VB .NET mais qui n'a plus grand chose à voir avec un BASIC. VB6 a toujours eut la réputation d'être un escargot. Qui voulait de la puissance passait à C++. Du code correct ou incorrect en VB6 ne veut pas dire grand chose vu que TOUT est toléré. D'où les problèmes, surtout quand on couple cela à l'architecture COM ou aux appels sauvages d'API Windows.

Que l'on se comprenne bien : Mon propos n'a jamais été de casser VB6 qui a rendu à tous (y compris à moi-même) de grands services. Mais ne pas voir les qualités écrasantes de .NET est pour moi... étonnant. Et avec de tels raisonnements, on serait encore sous DOS ! Pourtant, tout le monde ne voyait pas l'intérêt de passer à un environnement graphique à l'époque.

Sinon, pour changer, je ne te suis pas dans ton dernier paragraphe :
Premièrement, ce n'est pas moi qui ai commencé à comparer les deux.
Deuxièmement, bien sûr que si, les deux ont les mêmes objectifs. Rien de risible donc à les comparer. Sauf que .NET peut faire beaucoup plus et mieux.
Pourquoi vouloir présenter .NET comme un outil difficile ? Au contraire, je le trouve beaucoup plus cohérent et simple d'accès que VB6. Donc il peu reprendre le flambeau.

Enfin, de toutes façons, je me sens un peu seul, ici. Il semblerait que la cause soit déjà entendue :)

A + et bonne prog à tous !
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
26 août 2006 à 18:14
Moi je débute,

J'ai acheter un bouquin il y a 15 jours sur vb dotnet, j'ai lu 30 pages, ça m'a gonflé !
Là je suis sur un bouquin vb6, commencé hier soir : aujourd'hui --> page 550 sur 770.

C'est pour dire...

VB6 : vieux mais plus interessant, et avec de la maîtrise, tu en fait un bel outil de dev

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 août 2006 à 18:27
Sicyons -> la cause est en effet déjà entendue parce que c'est un débat régulier et qui abouti toujours de la même manière.
ce qui ne t'empêche pas (comme tu l'as fait) de t'exprimer et de défendre ton favori.
maintenant, objectivement, remonte 20ans en arrière (expérience) et je suis certain que VB6 est plus facile pour commencer. tu dis la le contraire mais dû justement à ton expérience existante.

quant à la soit-disant abscence de rapidité de VB, et la comparaison de C++ pour l'utilisation pro, BruNews te répondrait sans doute qu'un bon code VB rivalise sans mal avec un mauvais code C++.

tu vois où je veux en venir?

bref, je laisse ma place. si l'envie t'en dit, différents liens ici :  http://www.vbfrance.com/infomsg_DIFFERENCE-ENTRE-VB-NET-VB-2005_802682.aspx

++
PCPT   [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
26 août 2006 à 19:16
PCPT : Dernière réponse puisque j'ai pris le temps de visiter les liens que tu m'as indiqué.

Etonnemment, ils semblent tous aller dans mon sens ! C'est fait exprès ? Bref, il est dit partout ceci :
- .NET est TRES différent en profondeur.
- Il reprend en grande partie la syntaxe VB6, ce qui facilite son apprentissage.
- Il est réellement et à 100% orienté objet (contrairement à C++, par exemple).
- Il rend le développement extrêmement plus rapide et productif.
- Il est bien plus rigoureux, cohérent et "sauf".

Seul bémol : Il est effectivement dit plus d'une fois qu'il est très légèrement plus lent. Mais en testant un "Hello World", qu'est-ce que cela prouve ? :)
Mon expérience à ce sujet est très différente, comme je l'ai expliqué. Vous me mettez donc un doute à ce sujet. Je ferais des tests comparatifs plus complets pour voir.
Mais vous-même, pouvez-vous préciser en quoi et dans quelles circonstances (et proportions) .NET vous est apparu plus lent que VB 6 ?

Sinon, je maintiens que VB .net est plus facile à apprendre, et j'en ai eut la preuve avec une collègue que j'ai formé en 2 jours alors qu'elle avait galéré sur VB6 pendant des semaines. Et elle n'a aucune envie de revenir en arrière, croyez-moi. Sans parler de tout ce qu'elle arrive à faire maintenant qu'elle ne pouvait pas faire avant !
De plus, on peut utiliser la même syntaxe VB6 en .NET et mettre de côté l'orienté objet. Et l'environnement de développement est incomparable (surtout en version 2005), faut pas l'oublier.
Quant à ta comparaison entre un bon code VB6 et un mauvais C++, c'est ridicule, et tu le sais. On compare uniquement du bon code, sinon c'est n'importe quoi. Et dans ce cas, Vb6 est écrasé par C++.
C'est sûr que sinon, une Ferrari à l'arret va moins vite qu'une 2 chevaux lancée à fond ;)

Mortalino : Ou ton bouqin .NET était pourri, ou tu t'es arrêté à la théorie du Framework .NET et de la programmation orientée objet qui, il est vrai, est rébarbative. mais ce n'est pas .NEt, mais seulement ses fondements. Et on est en 2006, je pense que c'est indispensable pour apprendre à programmer correctement. Apprendre à conduire une voiture est chiant, mais après c'est simple. Il ne faut pas vouloir le beurre et l'argent du beurre.
Ne pas écouter ceux qui veulent faire croire qu'on peut apprendre à bien programmer facilement, rapidement et sans effort. C'est ce que j'ai appris en 20 ans d'informatique. Et crois-moi, à l'époque, on n'avait pas beaucoup d'infos à disposition, alors on prenait de très mauvaises habitudes difficiles à perdre par la suite. Les bases du BASIC (vb ou autre), ça parait toujours facile. Mais ça ne suffit pas pour faire grand chose d'interressant, et encore moins proprement et efficacement.

Voila pour moi. J'ai perdu :)

Bon week-end à tous !
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
26 août 2006 à 19:36
"Ou ton bouqin .NET était pourri, "

NON
"ou tu t'es arrêté à la théorie du
Framework .NET et de la programmation orientée objet qui, il est vrai,
est rébarbative."
Tu as visé juste ici !

Il est vrai que j'avais des mini bases via VBA, mais (c'est perso) j'ai plus envie de vouloir programmer et à me perfectionner dans VB6 que d'apprendre le dotnet

"Et on est en 2006, je pense que c'est indispensable pour apprendre à programmer correctement."
Certe, vb6 est voué à disparaitre, mais en 2010, tu en verras encore, des prog en vb6

"Apprendre à conduire une voiture est chiant,"
Ca dépend de ton 'moniteur auto-école' et du 'véhicule' sur lequel tu fais ton apprentissage !!

Sinon, absolument d'accord avec ton dernier paragraphe.

Pour revenir en arrière :
"Il est effectivement dit plus d'une fois qu'il est très légèrement plus
lent. Mais en testant un "Hello World", qu'est-ce que cela prouve ?"
Bah cela prouve que si tu perds ne serait ce qu'une miliseconde sur une chaine, j'imagine déjà le résultat sur une application entière !

"j'en ai eut la preuve avec une collègue que j'ai formé en 2 jours alors
qu'elle avait galéré sur VB6 pendant des semaines. Et elle n'a aucune
envie de revenir en arrière,"
Peut-être que tu formes bien et que c'est rentré facilement pour ta collègue.
Mais comment aurait-elle évolué si c'était TOI qui lui avait appris vb6 ?
Peut-être n'aurait-elle pas mis des semaines pour s'y faire et peut-être aurait-elle pris goût au vb6 en d'autres circonstances.

"Quant à ta comparaison entre un bon code VB6 et un mauvais C++, c'est
ridicule, et tu le sais. On compare uniquement du bon code, sinon c'est
n'importe quoi. Et dans ce cas, Vb6 est écrasé par C++.
C'est sûr que sinon, une Ferrari à l'arret va moins vite qu'une 2 chevaux lancée à fond ;)"
Là aussi, je suis d'accord, je pense que PCPT voulait dire que vb6 n'était disons pas encore aux oubliettes.
Il est moins puissant que C++ (d'où la 'non' comparaison entre 2 bons prog) mais peut rivaliser un 'mauvais prog' C++

Ps : t'as pas perdu, chacun ses pensées !
@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 août 2006 à 22:48
Je passais dans le coin...

- "VB6 a encore quelques beaux jours devant lui."
Résolument non, VB6 est définitivement mort pour cause principale qu'il ne connait pas la notion de thread. Avec les PCs à base de hyper-thread, double coeur ou multi cpu, il est hors jeu.


- "collègue que j'ai formé en 2 jours..."
On peut prétendre à quel salaire quand on se retrouve dans une file de 200 personnes pour un unique poste ???
C'est bien ce qui arrivera à la cadence où on forme les "dev" .NETistes.


Mortalino > On ne se lance pas dans l'obsolète, surtout en informatique qui est le domaine qui évolue le plus vite.


Et pour conclure:
Dark, je me mets à la lambada, la java est trop lente à mon gout. Pour le reste je suis bien d'accord avec toi, à part l'habituel petit groupe, les sources qu'on voit habituellement en VB6 sont à mourir de rire.

ciao...
BruNews, MVP VC++
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
26 août 2006 à 23:20
Je passais aussi dans le coin...

BruNews : Pas sûr d'avoir bien saisi ta réflexion sur ma "formation". C'était une formation interne et "non-officielle" destinée à permettre à une collègue de reprendre un gros projet dont je ne pouvais plus m'occuper sans qu'elle se retrouve dans la merde. Parcequ'une ingénieur qui a déjà des connaissances en développement VB6 et qui apprend facilement peut appréhender sans problème .NET en deux jours.
Il n'en reste pas moins que ma paie est ridicule, mais cela ne regarde que moi.

Sinon, agréablement surpris de constater que je ne suis pas le seul à constater le problème de niveau des sources VB6 (et .NET aussi d'ailleurs). Sans être un cador, je commençais à me poser des questions :)

Ta réflexion sur les threads est tout à fait juste. Mais je pense que la principale raison de la mort prochaine de VB6 est la POO. Toi qui fait du JAVA tu doit le comprendre.

Mortalino :
- Difficile pour toi qui débute de savoir la qualité de ton bouquin. J'ai eu bien des surprises après coup...
- C'est sans doute pour cela que tu as lâché ton bouquin au bout de 30 pages. Tu ne voulais pas vraiment apprendre .NET. Moi j'adore apprendre et surtout comprendre comment ça marche, quitte à en baver. J'ai bien conscience d'être un extra-terrestre. Alors le Framework, la POO, ça me passionne. Plus de 1000 pages d'un bouquin .NET avalées en un rien de temps. Bien choisir ses sources d'infos est tout à fait indispensable.
- Le VBA , j'en fais beaucoup professionnellement, mais ça me gonfle. Du VB6 spécialisé et intégré à Office, quoi. Quand on a rien d'autre.
- Oui, en 2010, on trouvera encore des progs VB6. Comme on trouve encore des progs sous DOS. Quel intérêt ? Faut savoir ne pas suivre les fantasmes des éditeurs aveuglément, mais il faut aussi savoir évoluer, tout simplement.
- Les voitures, mauvais exemple de ma part : je hais les voitures ! :)
- Je persiste : avec un "Hello World", tu ne mesures que la vitesse de chargement du framework ou du runtime .NET, aucune exécuion de code. C'est tout simplement ridicule, ça frôle la blague.
Encore une fois, j'ai développé une petite appli d'affichage de cartes vectorielles en .NET (65000 vecteurs quand même !). Et ça, c'est pas faisable correctement à ma connaissance en VB6, alors...
- Je crois après quelques formations être un bon formateur. Ni plus, ni moins. Mais cela ne peut évidemment pas prouver la facilité d'apprentissage d'un language. Ma collègue cherche encore à comprendre comment gérer des rapports en VB6. Ou comment déployer des DLL. Ou ce que signifie le dernier message d'erreur écrit en elfique ! Sans compter les plantages complets du runtime.
- Quant au bon prog VB6 rivalisant avec un mauvais C++, je demande vraiment à voir. Parceque là, c'est vraiment de l'extrême de chez extrême.

Il n'en reste pas moins qu'on a totalement oublié ton sujet de départ : 20 Mo en .NET pour un prog de base, c'est normal ! Et c'est bien là son seul réel gros défaut à ma connaissance (avec l'absence de classes POP3, mais bon...)

Vraiment bon week-end à tous, cette fois !
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 août 2006 à 23:42
Rectif, c'était l'habituelle plaisanterie entre Darksidious et moi, je ne fais aucun langage interprété.

Je ne vois pas par contre ce que la POO apportera aux applets faites en .NET, j'ailerais bien savoir combien de classes se trouvent réutilisées une fois écrites pour un prog. Il ne faut pas oublier qu'instancier une classe n'est pas gratuit, pourquoi donc rajouter de la conso mémoire à des 'langages' qui en bouffent déjà bien assez sans cela.

En 2010, j'espère bien qu'on ne vendra plus que du 64 bits donc exit VB6, bien que le system 64 émule un 32, il sera impossible de faire du 64 en VB6, à bannir.

Pour ta collègue, si elle avait déjà de sérieuses bases, alors le discours est tout autre.
Pour autant je maintiens, quand on fait ce que tout un chacun peut faire, on a peu à vendre.

ciao...
BruNews, MVP VC++
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
27 août 2006 à 00:58
Je ne parle pas d'applets (j'imagine que tu fais référence à l'ASP .NET, ce qui n'a plus rien à voir). Faut pas voir du Java partout non plus.
La POO apporte énormément à un langage quel qu'il soit (sauf peut-être les langages de script, et encore, cf PhP) , je ne crois pas qu'il soit encore nécessaire de le prouver.

Et puis soyons sérieux, combien de programmeurs sont réellement confrontés de nos jours aux problèmes de consommation mémoire ou de vitesse ? Bien peu. Et dans des cas bien particuliers (applis graphiques, en usage sur un serveur, etc...). La plupart des ordinateurs de configuration moyenne suffisent amplement de nos jours à des développements classiques.

Pour ce qui est de tes allusions sur ma formation, je préfère passer tant que je ne suis pas sûr de savoir où tu veux en venir. Parceque les "quand on fait ce que tout un chacun peut faire, on a peu à vendre", je vois pas bien le rapport avec la situation.
Ma collègue avait quelques bases en VB6 (prog sauvage et dénuée de toute rigueur) mais une facilité d'apprentissage en tout domaine. Simple. Il n'en reste pas moins qu'elle a été impressionnée par la facilité d'usage de .NET. Reste à avoir la patience de s'initier un minimum. Les résultats sont simplement là et valent tellement mieux que de longs discours !

Salut.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 août 2006 à 01:19
Quand je dis "applet" c'est en comparaison avec un vrai prog digne de ce nom, il se trouve que je n'en ai jamais vu 1 en VB ni autre interprété, et pourtant ces pseudos langages existent depuis des lustres.
Ni Sql Server 2005, ni Office 2007 ni quoi que ce soit de sérieux n'est en .net mais en vrai code comme d'habitude.

Faut pas chercher plus loin que ce que j'écris, je ne fais aucune allusion sur TA formation.
"on a peu à vendre" et autres de ce genre, c'est pour inciter les jeunes qui débutent à bien réfléchir l'avenir, aller direct au plus simple est rarement gage d'ascension professionnelle ni économique par voie de conséquence.

ciao...
BruNews, MVP VC++
0
Sicyons Messages postés 25 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 31 août 2006
27 août 2006 à 01:43
On est donc bien d'accord, puisque c'est ce que j'écrivais déjà plus haut.

Mis à part que tu ne sembles considérer que le C++ comme "vrai" langage (la quasi-totalité des applis pro sont codées en C ou C++). C'est un peu réducteur, tout comme le fait de considérer .NET comme un gadget (applet, faut quand même pas exagérer, faut pas réduire .NET à l'ASP .NET qui est un peu à part).
Cette technologie est jeune et elle prendra sa place, comme les autres. Mais je pense qu'elle propose un vrai outil viable et performant.

D'ailleurs, à bien des égards, je considère que .NET surpasse C++, qui ne conserve que son économie absolue des ressources comme supériorité. Mais cela va encore revenir à une discussion parfaitement subjective et un peu stérile, malheureusement.

Allez, je vais vraiment me coucher, là.
Salut.
0
cs_philcam Messages postés 132 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 17 octobre 2008
27 août 2006 à 03:47
eh ben, elle en fait couler de l'encre ma petite question anodine
0
Rejoignez-nous