Vb/delphi/c++ quel est le meilleur?

Soyez le premier à donner votre avis sur cette source.

Vue 9 825 fois - Téléchargée 394 fois

Description

Chaque fois que j'apprends un nouveau langage, j'essaie de faire un programme de recherche des nombres premiers.
J'applique chaque fois le même algorithme, c'est un assez bon entraînement pour débuter.
J'ai déjà fais ce programme en visual basic, en delphi, et maintenant, en c.
J'ai comparé le temps mis par le programme à chaque fois, voici les temps mis par chaque language de programmation pour trouver les 10 000 premiers nombres premiers:
vb : 68 secondes
delphi : 6 secondes
c: 1 seconde

Evidemment, le temps dépend de l'algorithme, mais comme cet algorithme est exactement le même pour les 3 programmes
(le fond du programme reste le même, malgrè quelques petites différences dues au passage d'un langage à un autre), ces temps
sont comparables. Et qu'est-ce qu'on voit??

Delphi est 11 fois + rapide que vb et c est 6 fois plus rapide que delphi et 68 fois plus rapide que vb!!!
C'est une énorme différence! Vous pouvez faire un petit test si vous programmez en c : faites un programme avec une
boucle qui écrit une phrase dans un fichier..en quelques secondes, le fichier aura dépasser les 100 Mo!! Encore une
preuve de la puissance du c.

Voilà mon avis sur ces 3 langages...

-> Si l'on veut programmer vite, sans "trop se casser la tête", ou pour le plaisir de programmer, il n'y a pas de
doute, il faut opter pour visual basic, sans doute le + "agréable".

-> Si l'on est un peu plus expérimenté, que l'on veut programmer quelque chose de rigoureux, avec une bonne gestion
des erreurs, si l'on veut faire un programme indépendants de toute dll et très rapide, autant opter pour c/c++/c#.
Surtout que si vous voulez vous attaquer au Java plus tard, il est indispensable de maitriser le C.

->Et delphi? Ses avantages sont qu'une même source peut être compilée pour linux ou pour windows (avec delphi ou kylix) et qu'il est le successeur du Pascal. Donc des personnes qui programment en Pascal
(ça existe encore??) peuvent facilement apprendre le Delphi. De plus, les programmes delphi sont indépendants, ils fonctionnent sans runtimes, et les programmes Delphi sont aussi plus rapide
que les programmes vb (sans être + rapide que les programmes c...).
Par contre, une des contraintes de Delphi, c'est sa syntaxe tellement différente!!
En programmant en Delphi, on prend des réflexes et l'habitude de formes syntaxiques qui n'existe qu'en Delphi.
Tous les programmeurs qui commencent le Delphi (sans avoir fait de Pascal auparavant) sont plus ou moins perdus et un temps d'adaptation s'impose! :(

Pour résumer, chaque langage à son public, ses avantages et ses inconvénients. C'est pourquoi il est intéressant d'en connaitre plusieurs
pour avoir le choix du langage le plus adapté au programme que l'on souhaite faire.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
moi tu as les resultats dans mes deux posts ^^
enfin le secret c'est de pas recalculer ce qui n'as pas a l'etre et de ne tester que les nombre impairs
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
(je mets tous mes messages par 2 aujourd'hui ... :s)

rappel : l'exemple VB6 fourni par zac était bien 10000 itérations, et non 10000 résultats... (pour ma défense ^^)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
ok en effet j'avais mal lu
alors jusqu'à 10000 résultats, toujours avec la fonction MOD (rappel, très très gourmande), sans affichage, dans une fenêtre (donc AVEC interface), sur 1.8ghz

VB.NET2008 : 14 secondes et 937 ms
VB6 : 12 secondes et 781 ms

ce en 104723 itérations
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
pour les nombre de 0 a 10 000 pour etre comparable ^^

(daedric@daedric-laptop ~) cc -O3 test.c -lm
(daedric@daedric-laptop ~) time ./a.out

real 0m0.006s
user 0m0.004s
sys 0m0.000s
(daedric@daedric-laptop ~)
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
desole pas pu resister:
cc -O3 test.c -lm
(daedric@daedric-laptop ~) time ./a.out

real 0m0.037s
user 0m0.036s
sys 0m0.000s

#include <math.h>

static inline int is_prime(int nb)
{
register int max;
register int i;

i = 1;
max = sqrt(nb) + 1;
while (i++ < max)
if (nb % i == 0)
return (0);
return (1);
}

int main(void)
{
register int i;
register int tot = 0;

tot = 1;
i = 3;
for (i = 3; tot < 10001; i += 2)
{
if (is_prime(i))
++tot;
}
}
Afficher les 21 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.