Re: Comment créer/charger une cassette virtuelle vierge ?
Publié : 18 oct. 2017 10:37
C'est faux. Le BASIC n'est pas un mauvais langage, il est encore utilisé de nos jours. L'émulateur VB Hector en est un exemple.
Par contre nous n'utilisons pas le BASIC pour programmer des jeux sur les ordinateurs Thomson à cause de la lenteur de l'interpréteur. Il y a eu des tentatives pour créer des compilateurs, par exemple Speedy Wonder. Malheureusement ce n'est qu'une ébauche inutilisable dans la pratique.
Un autre défaut de l'implémentation sur les micro-ordinateurs des années 1980 est l'obligation d'utiliser des numéros de ligne, ce qui ne facilite pas la programmation structurée.
Le BASIC peut toutefois être utilisé comme programme principal à condition d'utiliser des sous-programmes en langage machine pour toutes les fonctions dont la durée d'exécution est critique : affichage de dessins et d'animations, scrutation du clavier, etc. Il y a des exemples très connus dans la logithèque Thomson, comme L'Aigle d'Or ou Le Temple de Quauhtli.
Il faut être bien conscient que le niveau du programmeur a un impact très important sur les performances. D'abord dans le choix des variables : ne pas utiliser la virgule flottante si on peut utiliser des entiers, éviter les divisions et encore plus les formules trigonométriques. Ensuite avoir bien conscience de la façon dont le BASIC traite les chaînes de caractères : la modification de longueur d'une chaîne entraîne automatiquement une réallocation de mémoire très coûteuse en temps. Pire, quand on arrive au bout de l'espace alloué, cet espace est réorganisé et toutes les chaînes déjà définies sont déplacées. S'il y en a beaucoup ça peut prendre plusieurs secondes. Il y a de bonnes pratiques pour définir la chaîne une fois pour toute à sa longueur maximale, et travailler uniquement en modification sans aucune réallocation. On pourrait ajouter beaucoup d'autres recettes, mais nous avons déjà un peu trop dévié du sujet de ce fil de discussion. En plus j'ai l'impression que Lionel est reparti, nous le reverrons peut-être l'année prochaine...