Re: Transition VB6 vers PureBasic
Publié : ven. 20/janv./2012 15:29
Bon essayons d'être objectif :
Programmer n'est pas toujours simple, quelque soit le langage, cependant PureBasic propose des aides utiles :
1 - au niveau éditeur
F1 sur un mot clé permet d'accéder directement à son aide et dans l'aide il y a presque toujours un exemple (90%) ou bien un exemple sur la famille de l'instruction (par exemple "file" : openfile(), readfile(), etc.)
Lorsque tu tapes une instruction, après 3 lettres tu as de la complétion (touche [TAB] pour valider)
Lorsqu'une instruction est complète et que tu ajoutes la parenthèse d'ouverture ("openfile(" par exemple) tu as une mini-aide dans la barre d'état du programme (moi qui oublie souvent les paramètres possibles, ç'est cool
)
2 - au niveau débogage
Actuellement je développe (à titre personnel) un programme pour étendre la gestion de ma domotique Velbus. Je ne suis pas programmeur de formation, j'ai même commencé sur Oric-1 (bon, surtout sur Atari ST avec le GFA Basic) : le débogueur et l'éditeur fonctionnent ensemble !!!
Du coup, tu lances ton programme en mode débogueur et toutes les commandes "Debug "toto"" ou "Debug var(t)" (à insérer dans ton programme)... affichent dans une fenêtre exprès les sorties dont tu as besoin... mais en plus, si ton programme bloque, tu peux passer la souris sur les variables de ton programme dans l'éditeur et il t'indique leurs valeurs.
Enfin, s'il plante (ça m'arrive souvent
) il y a un retour dans la fenêtre de l'éditeur avec le n° de ligne
3 - au niveau des formes (fenêtres, boite de dialogue, etc.)
Tu as 2 possibilités : utiliser l'éditeur graphique qui te génère un code purebasic ou bien ajouter toi-même tes instructions (gadgets, barres, listes, ...)
Ceci étant la différence majeure entre Purebasic et Visualbasic se situe ici : dans VisualBasic le code est attaché à la forme et aux objets... dans Purebasic, la forme est une coquille vide que du dois gérer (windowevent() et waitwindowevent()
) : les clics et évènements arrivent dans une file d'attente et toi tu effectues de actions en fonction de ces évènements.
Cette partie fût rude pour moi et reste surprenante parfois (surtout si tu essayes les threads).
J'attends toujours avec impatience un tableau éditable façon Excel (un truc simple, pas une lib avec des appels incompréhensibles à des DLL Microsoft
) mais il y a tout ce qu'il faut pour l'accès aux couleurs, fichiers, boites de dialogues, etc.
4 - au niveau performances
Comme il y a compilation, les programmes sont très rapides... mais le point fort de PureBasic est
a) la légèreté des exécutables (souvent quelques Ko)
b) la facilité de choisir les options (compatibilité, multithread, type CPU et instructions, ...)
c) d'utiliser des librairies faite par d'autres au sein de ton code
5 - Les variables
Phénoménal ! si toutes les variables pouvaient être signées/non-signées ce serait parfait ! ceci étant, des flottants, des entiers, des chaines, des variables globales, des variables locales (protected) et :
a) des structures (par exemple structure répertoire = nom.s (chaine) et numeroTel.i (nombre))
b) des listes chainées : tu ajoutes et retires des éléments à volonté et c'est Purabasic qui gère les malloc() et xxxfree()
6 - Les graphiques
sur cette partie il existe des graphes 2D, 3D mais je n'utilise qu'un peu de 2D... pourtant j'ai compilé les exemples fournis et ça à l'air hyper-puissant ! je crois même que c'est le domaine de prédilection de PureBasic
Voilà le petit tour que j'ai découvert il y a longtemps (sans m'en servir au début) et dont j'abuse pour mon projet : à ce prix là, je ne vois pas de concurrence !
Programmer n'est pas toujours simple, quelque soit le langage, cependant PureBasic propose des aides utiles :
1 - au niveau éditeur
F1 sur un mot clé permet d'accéder directement à son aide et dans l'aide il y a presque toujours un exemple (90%) ou bien un exemple sur la famille de l'instruction (par exemple "file" : openfile(), readfile(), etc.)
Lorsque tu tapes une instruction, après 3 lettres tu as de la complétion (touche [TAB] pour valider)
Lorsqu'une instruction est complète et que tu ajoutes la parenthèse d'ouverture ("openfile(" par exemple) tu as une mini-aide dans la barre d'état du programme (moi qui oublie souvent les paramètres possibles, ç'est cool

2 - au niveau débogage
Actuellement je développe (à titre personnel) un programme pour étendre la gestion de ma domotique Velbus. Je ne suis pas programmeur de formation, j'ai même commencé sur Oric-1 (bon, surtout sur Atari ST avec le GFA Basic) : le débogueur et l'éditeur fonctionnent ensemble !!!
Du coup, tu lances ton programme en mode débogueur et toutes les commandes "Debug "toto"" ou "Debug var(t)" (à insérer dans ton programme)... affichent dans une fenêtre exprès les sorties dont tu as besoin... mais en plus, si ton programme bloque, tu peux passer la souris sur les variables de ton programme dans l'éditeur et il t'indique leurs valeurs.
Enfin, s'il plante (ça m'arrive souvent

3 - au niveau des formes (fenêtres, boite de dialogue, etc.)
Tu as 2 possibilités : utiliser l'éditeur graphique qui te génère un code purebasic ou bien ajouter toi-même tes instructions (gadgets, barres, listes, ...)
Ceci étant la différence majeure entre Purebasic et Visualbasic se situe ici : dans VisualBasic le code est attaché à la forme et aux objets... dans Purebasic, la forme est une coquille vide que du dois gérer (windowevent() et waitwindowevent()

Cette partie fût rude pour moi et reste surprenante parfois (surtout si tu essayes les threads).
J'attends toujours avec impatience un tableau éditable façon Excel (un truc simple, pas une lib avec des appels incompréhensibles à des DLL Microsoft

4 - au niveau performances
Comme il y a compilation, les programmes sont très rapides... mais le point fort de PureBasic est
a) la légèreté des exécutables (souvent quelques Ko)
b) la facilité de choisir les options (compatibilité, multithread, type CPU et instructions, ...)
c) d'utiliser des librairies faite par d'autres au sein de ton code
5 - Les variables
Phénoménal ! si toutes les variables pouvaient être signées/non-signées ce serait parfait ! ceci étant, des flottants, des entiers, des chaines, des variables globales, des variables locales (protected) et :
a) des structures (par exemple structure répertoire = nom.s (chaine) et numeroTel.i (nombre))
b) des listes chainées : tu ajoutes et retires des éléments à volonté et c'est Purabasic qui gère les malloc() et xxxfree()
6 - Les graphiques
sur cette partie il existe des graphes 2D, 3D mais je n'utilise qu'un peu de 2D... pourtant j'ai compilé les exemples fournis et ça à l'air hyper-puissant ! je crois même que c'est le domaine de prédilection de PureBasic
Voilà le petit tour que j'ai découvert il y a longtemps (sans m'en servir au début) et dont j'abuse pour mon projet : à ce prix là, je ne vois pas de concurrence !
