Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : GFA Basic - fonction PRINT
(Article écrit par Pierre-Philippe Launay et extrait d'Amiga News - avril 1992)
|
|
Jusqu'à présent, je n'ai montré que l'aspect BASIC du GFA alors que ce n'est qu'une toute petite partie
de ce super langage. La différence entre certaines fonctions C et BASIC du GFA pourra paraître parfois
subtile mais elle existe.
C et GFA
Nous avons écrit une même routine en C puis en GFA Basic. C'est une fonction PRINT allégée qui affiche
les lettres A à Z sans interruption pendant 15 secondes puis, arrivé au bas de l'écran, tout remonte
d'une ligne comme les PRINT d'antan. Le but du jeu est de mettre en valeur les avantages et inconvénients
de chacun des deux langages.
Je voudrais préciser les conditions imposées à la version C : faire très court et sans les remarques.
En C, seule la méthode (1) a été choisie pour la publication mais les écarts de vitesse détectées sur
les autres méthodes se tiennent. Pour GFA, j'ai choisi le procédé Blitter (3) en pensant surtout
aux A500 et A500 Plus. Pour une plus grande sûreté, je vous demande d'utiliser aussi les parties (3 bis)
sinon gare au gourou dès que surviendrait un évènement perturbant le déroulement de l'écran.
Les constatations
Rapidité du codage terminé : pas de problèmes, GFA maîtrise et supplante largement le C mais
la vitesse n'est pas le seul argument à considérer.
Rapidité d'écriture : GFA permet des raccourcis saisissants dans l'écriture des fonctions. On
peut généraliser cette notion de raccourci à toutes les fonctions de bureautique, de combinatoire
ou de trigonométrie et à la plupart des fonctions graphiques ou sonores.
Clarté d'écriture : GFA ne sait pas présenter de façon claire et aérée les structures du C,
écrites d'ailleurs pour le seul usage du C. Il ne sait pas non plus utiliser les Includes et
là, cela devient un peu gênant car il faudra utiliser abusivement l'option Merge du menu pour insérer
tous les textes ASCII. Pour le reste, l'éditeur GFA est devenu une référence : indentation automatique
et instantanée, détection immédiate des erreurs de syntaxe dès leur écriture, etc.
Évolution : il serait utile que notre super langage sache insérer plus facilement les exécutables :
inclure dans un code GFA un programme écrit en C nécessite quelques minutes de travail et quelques
lignes de code. Pour conclure, GFA c'est un peu le C mais aussi un peu l'assembleur.
Codage en C
Codage en GFA Basic
Les erreurs des codages
Voici les erreurs qu'il fallait trouver :
- Code C : ce qui suit #define doit figurer sur une seule ligne ou alors il faut ajouter des antislashs à
cause de certains compilateurs C.
- Code GFA : ~ClipBlit(...) est bien sûr précédé de ' (apostrophe) pour le mettre en remarque et il faut
lire 38 microsecondes par lettre, 38 millionièmes de seconde. Pareil pour tick%. Cela donne 17 000 lettres
par seconde ou 10 pages à la seconde.
|