Expérimenter colorForth sous Linux

Ce dialecte récent de Forth n'a pas la réputation d'être très accessible à qui n'a pas les (solides) prérequis. Une expérimentation est toutefois possible, à moindre risque, sous Windows ou sous Linux

1. Enumération des difficultés les plus évidentes

1.1. Difficultés liées au matériel et remèdes éventuels

ColorForth démarre, en autonomie complète (il n'exploite les ressources d'aucun système) à partir d'une simple disquette.
Au moment de l'initialisation, il "passe" en mode graphique.
Les blocs de code source s'affichent en effet à l'aide de caractères définis chacun par un rectangle de 16x24 points, occupant chacun une zone d'affichage de 40x24 points, sur un écran de 1024x768 points.

Les deux cas d'échecs les plus fréquents sont donc :
- Carte graphique non reconnue ;
- lecteur de disquette ancien et non adapté aux routines de démarrage.
Pour ce qui est des difficultés avec la carte graphique, de nombreux développeurs indépendants de Chuck Moore ont proposé des versions de colorForth qui correspondent aux cartes qu'ils utilisent. Avec de la chance et de la persévérance on peut trouver une version qui convient.
Il faudra peut être remplacer le lecteur de disquette s'il est très vieux.

1.2. Difficulté liée au clavier

Chuck Moore, le créateur du langage, aime les solutions minimalistes. Il a donc redéfini un clavier "abstrait idéal", inspiré des travaux de M. Dvorak.
Il utilise 27 touches seulement qui, par un mécanisme de bascule, donnent accès aux 48 caractères utilisés par colorForth.
Bien évidemment, le "A" n'est pas là ou vous l'attendez, ni le "B"...
Il semble que quelqu'un ait proposé une version de colorForth qui utilise un clavier "normal".

1.3. Difficulté liée à la langue

Si vous ne lisez pas l'anglais, c'est mal parti : les sites web et les listes de discussion sont dans cette langue.

1.4. Difficulté liée aux choix de Chuck Moore

Le créateur de colorForth l'a voulu différent<, pour qu'il concrétise l'aboutissement de son ascèse du langage. Comme peu de gens ont poursuivi le même cheminement que Chuck, la découverte de colorForth est déroutante pour le commun des mortels.
L'absence d'éditeur de code ASCII (le texte est directement tokénisé au moment de la saisie) est mal ressentie par ceux qui font un usage intensif de Vi, Emacs et compagnie.

1.5. Difficulté à trouver de la documentation, des exemples

Les adeptes du langage semblent très occupés, publient peu en ligne et de façon parcellaire. Les sites fédérateurs adaptés au débutant color n'ont pas encore émergé.

1.5. Difficulté à prendre des notes...

Prendre des notes dans un éditeur de type bloc-note devient impossible. Il faut un bloc de papier et un crayon près du clavier, ce qui peut contrarier les méthodes de travail (ou habitudes) de certains programmeurs.

En résumé : ceux qui passent outre sont particulièrement motivés et endurants.

Pour les autres, il existe heureusement des solutions alternatives.

2. Solutions alternatives dans une fenêtre Windows ou Xwindow

Des programmeurs intéressés à la diffusion du langage ont écrit des adaptations de colorForth pour des environnements graphiques Windows et Linux (pour Mac ou RiscOS, je ne sais pas) permettant de lancer un pseudo colorForth à l'intérieur d'une fenêtre graphique.

Ce qui suit se rapporte à la version pour Linux, appelée XcolorForth.
Si vous êtes adepte de Windows, seules les modalités d'installation seront différentes. Pour le reste, vous devriez trouver ici de quoi aiguiser votre curiosité.

2.1. Se procurer le logiciel, le compiler, l'exécuter.

On pourra rechercher l'archive XcolorForth.tar.gz à l'aide d'un moteur de recherche.
La décompresser par
tar zxvf XcolorForth.tar.gz
ce qui va créer un dossier XcolorForth.
Se positionner dans ce dossier, puis compiler à l'aide de la commande
./compile
Le logiciel ne s'installe pas, mais s'exécute à partir d'une console dans une fenêtre graphique.
Pour lancer l'exécution, simplement taper :
xcf
Remarque : l'écran doit afficher au moins 1024x968 points.
Dans le cas d'une définition supérieure, cela permettra d'avoir de la place pour ouvrir des fenêtres annexes.

2.2. Premier résultat

Un fenêtre graphique s'ouvre sur le "bureau" de Linux, et elle est entourée des icônes qui permettent sa gestion (voir image réduite ci-dessous).

C'est déjà une satisfaction de la voir...