Vb vs delphi : le verdict

Soyez le premier à donner votre avis sur cette source.

Vue 10 044 fois - Téléchargée 528 fois

Description

J'ai déposé le meme test sur www.vbfrance.com
test + zip

Source / Exemple :


J'ai delphi 6 depuis peu et j'ai tenté une petite expérience : transposer le code source d'un programme vb en delphi.
Ce programme est assez simple : il cherche les nombres premiers. Il faut spécifier le nombre de départ et le nombre d'arrivée 
puis le programme cherche tout les nombres compris entre.
En 20 minutes, c'était fini. A part quelques détails insignifiants, c'était exactement le même code et surtout le même algorithme,
l'un était en vb et l'autre en delphi.
Ce fameux programme qui trouve les nombres premiers, dans sa version delph et dans sa version vb,
comprend un système qui calcule le temps mit pour trouver les nombres premiers.
J'ai alors lancé le programme vb et je lui est demandé de chercher les nb premiers de 1 à 5000. Il a mis 14,2 secondes.
Mais le calcul des nombres premiers n'a pas bloqué le système grace à un petit DoEvents bien placé. 
Même chose avec le prog en delphi, et la, surprise : 3 secondes pour trouver les 5000 premiers nombres premiers. Soit 5 fois
plus vite qu'avec vb!!!!! C'est incontestable, delphi est beaucoup plus puissant que vb, et en plus, delphi n'a besoin d'aucun
run-time, il est complétement indépendant, et grace à Kylix, le meme code peut etre passé sous linux! Mais personnellement,
je préfère quand meme vb car il est beaucoup plus souple et plus facile, dans delphi, la syntaxe comprend beaucoup de contrainte
(point-virgule à la fin de chaque ligne, On utilise pas le signe "=" pour attribuer une valeur  mais "=:" et il y a plein d'autres petites choses
comme ça qui font que que écrire un prog en vb est beaucoup + agréable et + rapide qu'en delphi. Il suffit de regarder le prog
en vb et celui en delphi : le vb est plus beau, il ne bloque pas l'ordi grace à DoEvents.Il y a surement un 
équivalent, mais j'ai eu beau cherché dans l'aide, sur des forums, je n'ai rien trouvé...

Pour résumer, le vb est plus souple tandis que le delphi est plus puissant mais aussi beaucoup plus CHIANT

Si vous avez envie de tester vous-meme le calcul des nombres premiers avec le prog vb puis delphi, les exe et les sources
sont dans le zip.

Un petit conseil quand même : ne cherchez pas trop de nombres premiers pour pas faire planter votre pc.

Conclusion :


Pour pleins de trucs super (freewares vb, tutoriels, mail anonyme, jeux en ligne,...)
venez visiter mon site SVP :
http://www.zweb.fr.st
Signez le livre d'or de la part d'un visiteur de vbfrance, ça me ferai plaisir!!
z913@caramail.com

zac

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
174
Date d'inscription
jeudi 18 avril 2002
Statut
Membre
Dernière intervention
25 mai 2006

alors la non !!
je ne peux pas te laisser dire foxi !
deja mettre vb au meme niveau que le c++, faut pas deconner !
et mettre delphi au meme niveau que java c'est pas possible non plus !
pourquoi vb est souvent comparer a delphi, c'est bien parce qu'il sont semblable...
et en ce sens je suis d'accord sur le fait que delphi domine vb.
Les deux inconvenients majeurs qui font que delphi a moins marché que vb c'est l'ide moins pratique pour le developpeur (delphi 6 a l'epoque qui a bien changé depuis) et principalement le debuggeur qui ne permettait pas de modif en cour d'execution, et la syntaxe vraiment trop lourde (quel interet de declarer 2 fois la signature d'une methode, a la declaration ET a l'implementation, tout ca dans le meme fichier !!)
non foxi, tu prend delphi pour ce qu'il n'est pas, c'est juste un vb en mieux pour certain points mais il n'est pas comparable a autre chose...
Messages postés
370
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
11 février 2010

Merci de vous RELIRE pour éviter les fautes de français,
et de pas parler en langage SMS :

Quelques exemples dont tu pourrais avoir à rougir :

"algorythme" -> algorithme (y'a jamais eu de rythme dans l'algo. !)
assé -> assez
"est" -> sont
"serat" -> sera
"ferat" (X 2) -> fera
"inconvegniants" -> inconvénients (c'est gniangnian non ?!)...
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
30
4 ANS PLUS TARD ... et pour ceux que ça interresse il y a une modification et de taille a faire dans l'algorythme du programme delphi ...

verdict :
47ms pour trouver les 5000 nombre premier de 1 a 5000 ...
3000ms pour trouver les 50000 nombre premier de 1 a 50000 ...

et il y a encore moyen de l'ameliorer ...

// on separe l'algo de la methode d'appel ...

function NBP(const N : integer) : boolean;
var
{ N en variable | Facteur | Reste }
C, F, R : integer;
begin
C := N;
F := 1;
result := true;
while (C > 1) and not (result and (F >= sqrt(C))) do begin
inc(F);
repeat
R := C mod F;
if R = 0 then begin
C := C div F;
if result then result := false;
end;
until ((R <> 0) or (C = 1));
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
{ compteur | liste temporaire | compteur de performance }
i : integer; nplst : tstringlist; p : cardinal;
begin
// creation de la liste temporaire
nplst := tstringlist.Create;

// gettickcount, le secret d'un compteur precis en millisecondes
p := GetTickCount;

For i := Strtoint(edit1.Text) To Strtoint(edit2.Text) do begin
// si c'est un nombre premier on ajoute a la liste temporaire
if NBP(i) then
nplst.Add(inttostr(i));
end;

// affichage du temps pris pour calculer les nombres premier
edit3.Text := format('%d ms',[GetTickCount - p]);

// assignation de la liste temporaire au TListBox
listbox1.Items.Assign(nplst);

// liberation de la liste temporaire.
nplst.Free;
end;


reaction congelée sur ce test, je sais ça fait 4 ans, il y a prescription, mais c'est plutot pour les debutants qui tomberais sur ce topic.

deja, un VBIste faisant une comparaison VB vs Delphi ... ç'est assé marrant.
ensuite comparer des langages ne se fait point ... mais on sait que si on devait les classer par ordre plus puissant au moins puissant ... Delphi se trouverais tout juste en dessous de C/C++
et VB en dessous de Delphi et Java bien en dernier ...

niveau fiabilitée stabilitée ... Borland offre un trés bon outils qu'est Delphi.
on le repete souvent et comme l'a dit DelphiProg ... VB, C et C++, meme 4 ans aprés, tolérent la compilation de source buggée ... c'est surrement pour cela que comme la pluspart des logiciels etant codé en c++, c ou vb sont generalement suivis de nombreux patch correctif (windows par exemple ^^)
alors que Delphi demande au developpeur d'ecrire un source sans aucune erreur pour pouvoir compiler.
et la dessus on peu dire que le debugger de Delphi est un crack en la matiere et certainement l'un des plus precis et utile qui soit.
Presque qu'aucun IDE VB C ou C++ ne possede un tel systeme de control de la syntaxe, declaration ect...

Donc delphi n'est pas chiant, contraignant au debut, pour les debutants ou ceux venant du monde VB ou C ... mais au fur et a mesure de pratique toute les contraintes finissent par devenir des atouts redoutable ...
C'est d'ailleur pour cela que l'apprentissage du Pascal est long ... trés long ... ce n'est pas vraiment le langage ou la syntaxe qui sont difficile a apprendre ... mais plutot toute les conventions et regles du pascal.

bien sur la puissance du pascal demande d'ecrire des routines parfaite ... alors qu'en c++ meme une routine de base fait bien l'affaire.
mais cette perfection n'est pas si dure a atteindre ... elle demande seulement beaucoup de pratique.

c'est a mon sens, ce long chemin qui rebute les gens a utiliser le pascal objet qui est pourtant simple, efficace et souple.

pour faire une analogie ce serait comme si un conducteur normal essayerait de gagner une course de voiture contre un pilote de rally ... meme avec une voiture puissante, il serat difficile de le doubler car sa technique et sa pratique de la conduite est a un niveau vraiment superieur.

c'est un peu ce qui ce passe entre les amateurs Delphi et les amateur VB,C,C++ ...
le Delphiiste vas d'abord devoir apprendre et ameliorer ses technique plutot que d'apprendre vraiment le langage ... alors qu'en VB,C,C++ on vas plutot apprendre les rudiment du langage en survolant rapidement la techniques...

je pense meme qu'un delphiiste aurat moins de mal a s'adapter a d'autre langage que l'inverse.
sont code C ou VB serat logiquement ecrit proprement et il verifierat le code comme il le ferait en Delphi, avec la meme approche.
quelque part c'est aussi ça les avantages d'un tel langage, aquerir une vraie logique et discipline de codage.

mais cela ne veut pas dire que les autres langage sont moins bien ... pour moi, tout langages est interressant et possedent sont lots d'avantages et d'inconvegniants.

comme le dit Mazimani, ce n'est pas le langage qui fait le programme ... un mauvais codeur ferat des mauvais programmes et un bon codeur ferat des bon programmes ... peut importe le langage utilisé.
Messages postés
7
Date d'inscription
dimanche 26 septembre 2004
Statut
Membre
Dernière intervention
16 avril 2007

Je sais que j'ai 6 mois de retard sur le sujet, mais j'ai envie quand même de la "ramener", je suis un vieux programmeur qui a débuté la programmation sur une calculatrice Casio( en bsic évidament). Je suis passé directement ( à la fac ) sur Turbo Pascal dans sa première version et en même temps j'ai acheté un Amstrad CPC 64 (donc je programmais en Basic ) et j'ai continué jusqu'au jour d'aujourdu'hui à passer de l'un à l'autre. Et franchement dire qu'un langage est mieux que l'autre est très difficile, même si j'ai un faible pour Delphi pour une question de stabilité ce qui n'est pas le cas avec VB ( je travaille sur plusieurs produits du commerce écrits en VB et les plantages sont fréquents). Une autre raison est plutôt "partisane" c'est que VB est un produit MicroSoft et on sait tous ce que c'est la galère MS même si des efforts on été fait ces derniers temps.

Et pour finir, on m'a toujours appris que ce n'est pas le langage qui fait un bon programme, mais plutôt une bonne analyse et un bon algorithme.
A+
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
C'est sûr que si tu compares VB6 et Delphi 4... M'enfin, c'est pas pour rien que le delphi utilise le framework .Net maintenant...
VB.Net, C#, Delphi sont ts les 3 retrainscrit en IL, et sont aussi performant les 1 que les autres. Il est très facile de voir ca avec Reflector.
Après c le choix de chacun de choisir son langage suivant ses connaissances, car c'est la même programmation.
PS : VB connais tt ca...
Afficher les 34 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.