Obligement - L'Amiga au maximum

Jeudi 19 octobre 2017 - 03:37  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Test de GFA Basic 3.0
(Article écrit par El Basico et extrait d'A-News (Amiga News) - avril 1989)


Impression d'ensemble

Le voilà enfin, ce BASIC tant espéré... En deux mots : GFA Basic est remarquable, son environnement est dégueulasse. Bien sûr, tout ce que je vais dire n'est valable que pour la version dont j'ai disposé : la version anglaise 3.0 datant de décembre 1988, une vieillerie je vous dis (NDLR : la v3.02 est sortie en février 1989).

Alors si dans l'euphorie du champagne du nouvel an les promoteurs les concepteurs les programmeurs de la version Amiga du GFA Basic ont amélioré l'éditeur, ont rajouté la possibilité de sortir des sons dignes de l'Amiga, que sais-je encore, dites-le moi bien vite, sûr que ma demande A-News va immédiatement envoyer un rectificatif-modificatif-correctif-auditif à ses abonnés pour leur dire que le GFA Basic sur Amiga c'est encore mieux. Parce que quand même, ce n'est pas mal du tout dans la version que j'ai.

L'éditeur

Quel bonheur... fini les écrans et les fenêtres stupidement encombrés d'icônes envahissantes. GFA Basic ne crée pas d'icônes pour ses programmes, na ! Vous voulez charger un programme, allez hop, cliquez sur "Load" sur la barre du haut. GFA Basic vous offre une belle boîte. Vous faites défiler : vous n'êtes pas pressé j'espère. Et puis ça c'est rien mais vous voulez faire un peu le ménage. Alors sortez vite du GFA Basic, rentrez dans le CLI ; la suite vous connaissez, merci.

GFA Basic 3.0

D'ailleurs, tant qu'à être convivial, fini les périlleuses manoeuvres à la souris pour sélectionner, couper, coller... il suffit de poser une marque au début, une autre à la fin (curseur à l'endroit voulu, clic, Ctrl-B, curseur à l'endroit voulu, clic, Ctrl-K), puis d'aller chercher le menu "bloc" et de copier, déplacer, effacer... Oh bien sûr, maintenant que vous avez votre bloc, vous pouvez aussi le sauver dans un fichier ou le faire imprimer, ce qui n'est pas inintéressant. Mais ED et EMacs c'est super convivial ! Et si vous n'êtes pas dégouté de ne même pas pouvoir importer du texte en ASCII pour utiliser vos vieux programmes, si vous n'êtes pas dégouté de ne même pas pouvoir insérer une ligne en ajoutant un "CR" la fin de la ligne précédente, alors faites Ctrl-N comme tout le monde : vous aurez de la place y aura pas foule.

C'est vrai qu'il y a des tas de trucs qui m'énervent, qui me font bisquer. Il faut dire que je suis un vieux garçon en informatique. J'ai pris mes petites habitudes merci Xeros, merci Apple, mais vous savez le couper-copier-coller quand on en a pris l'habitude on peut plus s'en passer on est drogué. Alors là, il faut le dire três fort l'éditeur du GFA Basic comme cure de désintoxication pour le c-c-c, c'est génial.

Pour être honnête, il faut dire que la vitesse de déroulement de la liste du programme est tout à fait remarquable (c'est le point catastrophique de l'éditeur de l'AmigaBasic, il paraît que le gars qui avait programmé le défilement de la liste, ils l'ont refilé à GFA, il a tout programmé sauf le défilement, ça vous fait rire moi pas du tout).

Une syntaxe crispée

Une syntaxe à hauteur de l'éditeur : par exemple, l'interdiction de mettre plusieurs instructions, séparées par des deux points, sur la même ligne. Cela pourrait à l'extrême limite se supporter s'il ne fallait pas par exemple deux instructions pour dessiner un trait ou un cercle de la couleur que vous voulez : "COLOR" et puis "LINE" et "CERCLE".

On se demande pourquoi GFA n'a pas demandé à Commodore de lui faire un écran spécial, 10 cm de large sur 70 de haut ! Imaginez que vous vouliez dessiner des cercles dans les couleurs qui changent (de 4 à 15 par exemple). En AmigaBasic, vous écririez quelque chose comme :

coul = coul+1 : IF COUL>15 THEN coul=5
CIRCLE (x,y),r,coul

En GFA Basic, pas question d'écrire le "IF" sur une seule ligne, pas question d'inclure la couleur dans les paramètres de l'instruction "CIRCLE" ! Vous devrez utiliser six lignes :

cool = coul+1
IF coul>15 THEN
coul =5
ENDIF
COLOR coul
CIRCLE x,y,r.

Vous imaginez le bonheur lorsque vous commencez un programme par une douzaine d'initialisations. Ça vous fait une douzaine de lignes. Il paraît que les types de chez GFA, ils font des mots croisés de 24 lignes et 6 colonnes tous les soirs. Ça les entraîne.

Un interpréteur TGV

Bref, mon bonheur et ma déception sont simultanément à la hauteur de mon attente et de mon impatience... Ma déception, je viens d'en parler, mon bonheur, attendez, il arrive. Je me demande si GFA Basic n'a pas exactement les inconvénients de ses qualités. En y réfléchissant, un langage où chaque instruction ne possède qu'un nombre restreint de paramètres, où il n'y a pas deux sortes d'IF (celui qui tient sur une seule ligne sans "ENDIF", et le "complet"), où ..., il se pourrait bien que cela simplifie drôlement la tâche de l'interpréteur, et que ce soit cela qui permette d'aller aussi vite. Car c'est vrai qu'il va vite, le bougre. Jugez-en vous-même (les temps sont en millisecondes - les références sont prises dans la "Pratique de l'Amiga" de H. Cohen et F. Dress, éditions Fréquences/Eyrolles) :
  • Tour de boucle "à vide", variable entière 4 octets : AmigaBasic (0,20 ms), GFA Basic (0,033 ms). Gain facteur 6.
  • Tour de boucle "à vide", variable réelle : AmigaBasic (0,40 ms), GFA Basic (0,068 ms). Gain facteur 6.
  • Affectation variable entière - entier positif : AmigaBasic (0,35 ms), GFA Basic (0,067). Gain facteur 5.
  • Affectation variable entière - entier négatif : AmigaBasic (0,47 ms), GFA Basic (0,067). Gain facteur 7.
  • Dessin d'un point PSET : AmigaBasic (2,12), GFA Basic (0,52). Gain facteur 4.
Des instructions à la pelle

Et la rapidité ce n'est pas du tout, il y a un second point fort... des tas d'instructions en plus. Il y en a des gadgets amusants, il y a des gadgets vraiment utiles, et puis il y a même des gadgets, c'est des choses tout à fait sérieuses même qu'il y en a aussi quelques-unes d'utiles. Je vous livre cela en vrac : un "INSERT" et un "DELETE" pour traficoter des tableaux sans se récrire chaque fois la procédure qui, enfin, si vous avez déjà fait une fois dans votre vie, vous voyez ; un "Swap", c'est la moindre des choses ; un "DRAW" qui vous pilote quasiment une tortue graphique que vous vous croyez en LOGO, merci m'sieur Papert ; des structures de contrôle avec un "SELECT" qui fonctionne sur expression numérique (mais ce n'est pas encore un vrai "CASE OF" de Pascal, tant pis m'sieur Wirth) ; un "REPEAT UNTIL" ; un "WHILE ... WEND" bien sûr, on ne peut pas faire moins que l'AmigaBasic ; un "DO ... LOOP" (avec un "EXIT IF" parce que sans...) ; et puis, si vous y tenez, on vous rajoute un "DO WHILE", un "DO UNTIL", un "LOOP WHILE", un "LOOP UNTIL", n'en jetez plus.

Les écrans et les fenêtres, ce n'est pas mal non plus. J'ai l'impression à première vue qu'on peut plutôt faire un peu plus de choses qu'avec l'AmigaBasic (vous pouvez par exemple déplacer une fenêtre, lui demander de s'agrandir à la taille de l'écran tout entier, etc.) et puis ce n'est pas fini, vous avez en prime, en plus, tout l'assembleur, tout le C avec des BCLR, BSET, BCHG (non, non, il n'y a pas de BCBG !), BTST pour tripatouiller tous les bits de la création et je ne vous parle pas de "Shift" et de "Rol" sans compter "l'ARRPTR" (il y a bien sûr aussi un "VARPTR") pour l'adresse, "l'ABSOLUTE" pour la changer, et tout un tas de "BYTE", "CARD", "WORD", etc. pour y écrire des cochonneries un MALLOC ne vous rappelle rien.

Ah ! j'oubliais la doc. Elle vous donne quasiment toute la liste expliquée des routines du systême qu'il ne vous reste plus après qu'à ouvrir la bibliothèque de votre bonheur (au fait pardonnez-moi mais malgré une habitude qui se répand hélas le mot anglais "library" se traduit par "bibliothèque" et non pas par "librairie", ça s'appelle un faux-ami les copains). Il y a encore des tas de trucs très chouettes je suis sûr que j'en ai oublié. Tiens ! Il y en a un dont je me souviens, c'est "GRAPHMODE". Vous pouvez faire des "effets d'élastique" avec, vous pouvez réécrire Deluxe Paint tout seul.

Un point faible

Par contre, côté son, ce n'est pas le pied. Un "SOUND", un "WAVE". Je ne suis peut-être pas très doué, mais je n'ai pas trouvé comment on peut faire deux sons différents en même temps (l'équivalent du "SOUND WAIT" de l'AmigaBasic, quoi).

J'allais oublier la récursivité. Eh bien c'est récursif même que vous pouvez emboîter 1000 si ça vous chante vous voulez faire un essai ? Écrivez :

GFA Basic 3.0

Faites tourner quelques dizaines de secondes, vous avez une longue colonne de nombres qui se termine par 501501. Ce n'est pas mal, encore que je sois grincheux, ça me gêne qu'on ne puisse pas mettre un "RETURN" ou un "EXIT" ou quelque chose qui vous évacue par la sortie au milieu d'une procédure.

Conclusion

Tout ce que me dira GFA que je n'ai pas bien compris, ou que j'ai expliqué de travers, alors par avance je m'excuse. Mais il ne faut pas m'en vouloir vu qu'il y a pratiquement pas d'exemple sur leur disquette, que pour comprendre comment fonctionnent leurs trucs, j'ai été obligé de lire leur manuel, qu'il n'est pas parfait loin de là. Par exemple, pourquoi ils ne disent pas que "OPENW no" ce n'est pas seulement pour ouvrir une fenêtre avec des paramètres standards mais aussi pour rendre active (sans toucher à son contenu) une fenêtre déjà ouverte ? Je m'excuse, il ne faut pas m'en vouloir.

D'ailleurs, GFA Basic, c'est plein de trucs fabuleux, je lui veux du bien, beaucoup de bien. N'allez pas croire qu'ils m'aient payé pour que je le dise. Mais comme je lui veux du bien alors j'ai un conseil d'ami, vraiment d'ami, pour la société GFA. Je ne sais pas si c'est comme ça qu'elle s'appelle mais sûr que les gens qui travaillent chez GFA, il y en a au moins un qui a remarqué que dans la fenêtre ouverte par sa disquette, il y a une icône en dessous ; c'est écrit "Trashcan". Alors conseil d'ami, vraiment d'ami : c'est là qu'il faut mettre votre éditeur.

Nom : GFA Basic 3.0.
Éditeur : GFA Systemtechnik.
Genre : programmation BASIC.
Date : 1988.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : commercial.


[Retour en haut] / [Retour aux articles]