La programmation BBC Basic

Du BBC au Pi : 35 ans de BBC Basic

Le BBC Basic est un langage de programmation né avec le BBC Micro, un ordinateur 8 bits qui a été l'un des best-sellers d'Acorn Computers. Cette machine servait de support à des cours de programmation dispensés par la BBC et était présente dans la plupart des écoles britanniques.

Le BBC Basic a poursuivi sa carrière sur les ordinateurs 32 bits d'Acorn pourvus de puces RISC ARM (l'architecture processeur devenue la plus commune au monde). Aujourd'hui encore, le BBC Basic est toujours livré en standard avec les dernières versions de RISC OS, dont RISC OS 5, le système qui se place au c½ur d'une nouvelle génération de machines. Une bonne partie du code créé pour les BBC fonctionne encore sous RISC OS 5.

Le BBC Basic est également accessible sur d'autres plates-formes. R. T. Russell propose l'offre commerciale BBC Basic for Windows, qui permet de porter facilement des logiciels vers les OS de Microsoft et qui dispose d'une communauté très active. Signalbox est un excellent exemple de logiciel créé en BBC Basic et pouvant fonctionner sous RISC OS et Windows. Brandy est plus limité, mais accessible gratuitement et sur de nombreuses plates-formes : DOS, Windows, Linux, OS X, etc. Notez que Napoleon Brandy étend les possibilités de Brandy sur les machines DOS et Windows.

Acorn Computers - BBC Micro

Particularité de RISC OS, le Basic peut prendre le pas sur l'environnement utilisateur, voire le remplacer totalement (c'est le cas avec l'offre RISC OS Pico, qui démarre directement en Basic). RISC OS est aujourd'hui l'unique système d'exploitation 32 bits du marché intégrant un interpréteur Basic dans ses couches les plus basses.

Malgré son grand âge, le BBC Basic affiche encore une belle vigueur. Une longévité due à une certaine modernité. Ainsi, il est tout à fait possible de créer un logiciel sans devoir numéroter les lignes de code. Cette possibilité reste toutefois accessible et permettra de faciliter le travail des débutants, qui suivront ainsi plus facilement le déroulement du programme.

Le BBC Basic reste aujourd'hui largement utilisé, y compris au sein de logiciels professionnels. Chose d'autant plus vraie qu'il intègre un assembleur et qu'il est possible de compiler les logiciels avec ABC, accessible au sein de DDE (intégré dans Nut Pi). Notez que des outils comme Basalt de Steve Drain permettent d'étendre les capacités de l'interpréteur BBC Basic intégré dans RISC OS. BCC_C32 de Martin Carradus offre pour sa part de convertir le code BBC Basic en C.

Sous RISC OS, des applications comme Maestro, SciCalc ou encore Patience sont écrites entièrement à l'aide du BBC Basic. Et elles ne sont même pas compilées, l'interpréteur Basic se montrant particulièrement véloce. Tous les logiciels présents ci-dessous sont écrits en pur Basic interprété :

BBC Basic dans les applications RISC OS

La bibliothèque de code BBC Basic

Quoi de mieux que des applications conçues en BBC Basic pour découvrir les possibilités pratiques de ce langage de programmation ? Nous vous proposons une bibliothèque de logiciels écrits en BBC Basic, dont le code est librement réutilisable. Vous y trouverez des exemples de mise en ½uvre, mais également des applications complètes. Notez qu'une grande partie de ce code sera en mesure de fonctionner sur des machines non-RISC OS.

Benchmarks

* Chapeau2 - Test graphique. Dérivé du code source de Jean-Pierre Weber.

* Primes - Trouve les nombres premiers. Accessible via la commande 'primes valeur_limite'.

Calcul

* GCD - Calcule le plus grand commun diviseur (PGCD). Accessible via la commande 'gcd nb1 nb2'.

* LCM - Calcule le plus petit commun multiple (PPCM). Accessible via la commande 'lcm nb1 nb2'.

* Prime - Teste si un nombre est premier et donne ses diviseurs. Commande : 'prime nombre'.

Système

* Cursors - change la couleur du curseur de la souris.

* MidiReset - Réinitialise l'interface Midi connectée au système.

* Pause - Insère une pause dans un fichier de script. Appuyez sur une touche pour continuer.

* Reboot - Ferme les fichiers ouverts et redémarre le système après cinq secondes.

* Wait - Attend 'n' centisecondes. Accessible via la commande 'wait nombre'.

Appel à contributions

Tout code Basic - outils, démos ou simples essais - sera grandement apprécié pour compléter notre bibliothèque d'exemples. Nous pouvons nous charger de le tester sur des machines modernes, voire de l'héberger, si vous ne disposez pas d'un site web. Le code devra être librement réutilisable, sans entraves (pas de GPL, ni de licence propriétaire). Contactez-nous à l'adresse temp1267@riscos.fr pour toute offre.

RISC OS FR