Ce debat commence a devenir interessant bien qu'il y'ait assez peu d'intervenants, mais c'est deja ca
Concernant realbasic, je viens de recevoir (je me suis enregistre hier pour la version demo) par email une offre de remise sur la version standard et pro de -10 %... des rapides
pour : Je fais aussi du C et du C++ mais je te rectifierais en disant que c'est plutot lorsque l'on commence à programmer des interfaces graphiques que ces langages sont "chiants" (en fait ce sont plutot les apis à la microsoft qui le sont).
Comme pour le VB, l'idéal est de faire la partie graphique en PureBasic et la partie "core" ou les parties critiques en C/C++, ce qui ne te demandera pas beaucoup plus de temps.
Oui c'est vrai que quand on à a programmer des interfaces graphiques le C++ est trés chiant mais au niveau de la 3D ou 2D ( SDL et OpenGL ) la performance est la et ce n'est pas si dur de programmer en C++ , on s'habitue vite
Good07 a écrit :
Et en plus avoir directement l'auteur en ligne c'est un ++ que l'on peut toujours chercher chez Microsoft où ailleurs !
C'est sur que c'est plus, apparament identique pour IBasic, mais c'est pas comparable à VB (ce language je l'ai testé une fois, mais pas longtemps ) puisque pour VB je suppose qu'il doit y avoir ubn nombre importants de programmeurs.
J'avais deja fait cette remarque en haut de ce post, je recommence, le post de garzul m'etonne un peu concernant le code generé, est ce que purebasic est plus lent que le c, a priori le compilo genere de l'assembleur (bon un assembleur formaté et peut etre moins optimisé, ca depend de l'auteur) et tout le monde sait que ce language est plus rapide, quelqu'un a deja testé des routines equivalentes en pureb et c pour se faire une idee (par exemple des boucles for-next avec calcul arthmetiques simples sur des entiers, entiers long et reels) !!
Je ne peux pas le faire avec la version demo de pureb, le code n'est pas optimisé (code de deboguage present si je ne me trompe pas), j'ouve que ca m'interesserait de voir ce qui en ressort...
Mon expérience sous Ibasic Pro n'est pas assez importante pour pouvoir te répondre. En fait j'ai acheté Ibasic pro parce qu'il manipule les chiffres en double précision et que j'en avais besoin pour une application bien particulière. je voulais utiliser une Dll qui avait besoin qu'on lui transmette des variables en double précision mais je n'ai pas réussi non plus à l'utiliser avec ce language. J'ai essayé de voir si je ne trouvais pas mon bonheur sur le forum, mais ma faible connaissance de l'anglais ne m'a pas incité à continuer. Pour le reste ce language à effectivement quelques atouts. j'ai d'ailleurs regardé un exemple assez sympatique qui utilise une interface avec des boutons qui autorise l'utilisation de n'importe qu'elle police dans n'importe qu'elle couleur. J'ai téléchargé ton exemple sous Pure qui fonctionne très bien sous XP SP2. Si tu peux faire une librairie sous Pure je suis preneur.
Pour le compilateur de Ibasic je suis d'accord avec toi. Il manque de maturité et surtout d'ergonomie.
J'ai aussi oublié dans la liste des basics que je possède : Liberty Basic.
Mais là la syntaxe est est assez déroutante pour du Basic avec une utilisation du mot print à toutes les sauces. Et je ne parle pas de la création d'un exécutable...
Très bon sujet de discussion, que je suis avec intérêt...
Tu peux sans problème utiliser des DLL demandant des "doubles":
Ce que tu donne à la DLL, c'est l'adresse du nombre.
Fais:
structure double
low.l
high.l
endstructure
a.double
a\low=...
a\high=...
et callfunction(...,@a,...)
De même, on arrive à récupérer des doubles renvoyés par une DLL, en faisant:
a\low=callfunction(...)
le champ a\high se remplira aussi, car la procédure écrit 8 octets à l'adresse de a\low, qui est celle de a.
J'ai trouve ce benchmark entre purebasic et la Beta de Blitzmax sur le forum anglais officiel de pure, j'ai essayé le code source purebasic, mais ca ne fonctionne pas avec la version demo, je trouve les resultas surprenants, quelqu'un peut confirmer ces donnees :
************************************************
For those interested in benchmark results ..
SIEVE OF ERATOSTHENES test - PureBasic Vs BlitzMax (win32 Beta):
BlitzMax Source:
Code:
' Ported from another Basic for benchmarking purposes...
' Blitz Max version
Strict
Local t,Iter,Count,i,prime,k
Const ITERATIONS = 5000
Local Flags [8191]
Print "SIEVE OF ERATOSTHENES - " + ITERATIONS + " iterations"
t = MilliSecs ()
For Iter = 1 To ITERATIONS
Count = 0
For I = 0 To 8190
Flags = 1
Next
For I = 0 To 8190
If Flags=1 Then
Prime = I + I
Prime = Prime + 3
K = I + Prime
While K <= 8190
Flags[K] = 0
K = K + Prime
Wend
Count = Count + 1
EndIf
Next
Next
t = MilliSecs () - t
Print (ITERATIONS)+" iterations took "+(t)+" m/secs."
Print "Primes: "+(Count)
End
PureBasic Source:
Code:
; Ported from another Basic For benchmarking purposes...
; PureBasic version
OpenConsole()
#ITERATIONS=5000
Dim Flags(8191)
Print("SIEVE OF ERATOSTHENES - "+Str(#ITERATIONS)+" iterations")
ConsoleLocate(0,2)
t=GetTickCount_()
For Iter = 1 To #ITERATIONS
Count = 0
For I = 0 To 8190
Flags(I) = 1
Next
For I = 0 To 8190
If Flags(I)=1
Prime = I + I
Prime = Prime + 3
K = I + Prime
While K <= 8190
Flags(K) = 0
K = K + Prime
Wend
Count = Count + 1
EndIf
Next
Next
t=GetTickCount_()-t
Print(Str(#ITERATIONS)+" iterations took "+Str(t)+" m/secs.")
ConsoleLocate(0,3)
Print("Primes: "+Str(Count))