Programmer en BASIC sous Unix

ArticleCategory:

Software Development

AuthorImage:

[Photo de l'Auteur]

TranslationInfo:

original in fr John Perr

AboutTheAuthor:

Utilisateur Linux depuis 1994; il est un des �diteurs fran�ais de la revue LinuxFocus.

Abstract:

D�velopper en BASIC sous Linux ou un autre syst�me Unix ? Pourquoi pas ? Il existe plusieurs solutions libres qui permettent d'utiliser le langage BASIC pour d�velopper des applications interpr�t�es ou m�me compil�es.

ArticleIllustration:

[Illustration]

ArticleBody:

Introduction

Bien qu'il soit arriv� apr�s d'autres langages sur la sc�ne informatique, le BASIC s'est vite impos� sur de nombreux syst�me non-Unix comme le rempla�ant des langages de script que les Unix poss�dent nativement. C'est d'ailleurs, s�rement une des principales raisons pour lesquelles ce langage reste peu utilis� par les unixiens. Comme les divers langages de script, le BASIC est majoritairement interpr�t� et poss�de une syntaxe relativement simple, pas de donn�es typ�es, si ce n'est une diff�rence entre cha�nes et nombres. Historiquement, le nom du langage vient justement du fait qu'il est simple et permet d'initier facilement les �tudiants � la programmation.

Malheureusement, l'absence de standardisation a conduit � l'apparition de nombreuses versions toutes incompatibles les unes avec les autres. On peut m�me dire qu'il en existe autant que d'interpr�teurs ce qui rend BASIC tout sauf portable.
Malgr� ces inconv�nients et de nombreux autres que les "vrais programmeurs" ne manquerons pas de rappeler, BASIC reste une option � consid�rer pour d�velopper des petits programmes rapidement, surtout depuis l'apparition il y a d�j� plusieurs ann�es sous windows de versions munies d'environnement de d�veloppement (IDE en anglais) qui permettent la conception d'interfaces graphiques en quelques clics de souris. Ces versions appel�es "Visual" on �t� de plus adopt�es comme langages macro dans les applications bureautique ce qui en accro�t la d�mocratisation et l'utilisation par toute une population qui n'aurait jamais abord� autrement la programmation.
Nous passerons ici en revue les diff�rentes versions disponibles sous Linux, ou du moins les plus populaires, et nous en tenterons un comparatif.

Un peu d'histoire

Extrait et traduit de l'historique d'Andrea M. Marconi, consultable avec la documentation de kbasic

La naissance du BASIC

Le langage BASIC (en anglais Beginners All-Purpose Symbolic Instruction Code) est n� en 1964 au coll�ge de Dartmouth au New Hampshire (USA), o� il a �t� d�velopp� par John G. Kemeney (1926-93) et Thomas E. Kurtz (1928-). Kemeney, a travaill� sur le projet Manhattan Project (1945) puis, plus tard (1948-49) en tant qu'assistant d' Albert Einstein. c'est l� qu'il rencontre Kurtz � Dartmouth en 1956.

Ils commencent tout deux � travailler sur un nouveau langage de programmation simplifi�, et apr�s �tre pass�s par des versions appel�es Darsimco et DOPE, ils s'orientent vers un langage r�pondant aux sp�cifications suivantes:

  1. D'utilisation g�n�rale
  2. Facile � utiliser
  3. Extensible
  4. Interactif
  5. Avec un syst�me d'aide au d�bogage
  6. Efficace
  7. Ind�pendant du mat�riel
  8. Ind�pendant du syst�me d'exploitation

Pour cela, ils partent de FORTRAN et ALGOL. la version finale est appel�e "Dartmouth BASIC" et comporte 14 instructions. Le "Dartmouth BASIC" �tait compil� et plut�t rapide pour l'�poque.

Les efforts de Kemeney et Kurtz sont r�compens�s le 1er mai 1964 � 4 heure du matin, deux programme BASIC tournent simultan�ment sur l'unit� centrale General Electric 225 du Coll�ge de Dartmouth.

La croissance de BASIC

Kemeney et Kurtz ne prirent aucun brevet et ne prot�g�rent pas leur invention afin de la laisser dans le domaine public. Cela en permit la croissance mais aussi la multiplicit�. Parmi les premiers utilisateurs, on compte General Electric qui avait vendu le GE-255 � Dartmouth.

Gordon Eubanks (le pr�sident de Symantec) est � l'origine de plusieurs versions de BASIC dont le BASIC-E en 1970. Il utilisait un pseudo code comme Java aujourd'hui. Puis vint CBASIC et beaucoup d'autres versions, ce qui incita en 1974 l'ANSI � �tablir des standards qui ne furent jamais vraiment suivis puisque l'utilisation de BASIC �tait d�j� r�pandue quand les standards apparurent en 1978.

Entre temps (1975),TinyBASIC est cr�� par Bob Albrecht et Dennis Allison. Il peut tourner avec 2K de m�moire RAM. Le premier BASIC interpr�t� appara�t aussi. Il est d�velopp� par William H. Gates III (1955-, plus connu sous le nom de Bill) et Paul Allen (1953-). Les producteurs de mat�riel informatique introduisent aussi une copie de BASIC sur des ROM de leurs machines. A la fin des ann�es 70, les premiers ordinateurs personnels ont leur version de BASIC:

L'�volution du BASIC

Depuis le d�but des ann�es 80, l'histoire de BASIC est intimement li�e � celle des ordinateurs. Deux produits dominent le march�. IBM fournit le BASICA avec PC-DOS, interpr�t� et sur ROM, mais extensible. Son analogue pour MS-DOS est le BASIC Gee-Witz (ou GW).
En 1984 appara�t le compilateur BASIC de Microsoft, suivit de pr�s par de nombreuses versions dont la s�rie QuickBASIC commenc�e en 1985 et achev�e en 1990 par le Microsoft BASIC Professional Development System 7.1

Une nouvelle fois, ce sont les syst�mes d'exploitation qui am�nent des changements dans le langage avec l'introduction d'interfaces graphiques. Ainsi na�t Visual BASIC, con�u pour �laborer des interfaces graphiques (GUI). Visual BASIC pr�tend �tre un langage objet, ce que contestent de nombreux programmeurs. On notera cependant qu'une �tude r�cente estime � 90% le taux d'utilisation de Visual BASIC dans les programmes d�velopp�s pour Windows 9x.

Les BASIC aujourd'hui

Si l'on tente de recenser le nombre de BASIC disponibles pour Linux, on trouve facilement une bonne demi-douzaine de projets � divers stades d'avancement. Il existe m�me sur sourceforge une "Basic Foundry" qui �tablit un classement bas� sur le nombre de t�l�chargements r�alis�s:

TOP DOWNLOADS sur Sourceforge.net

  1. XBasic
  2. SmallBASIC
  3. wxBasic
  4. GNU/Liberty Basic
  5. YaBASIC
  6. X11-Basic

On apprend aussi que Gnome et KDE on chacun leur projet destin� � remplacer Visual Basic pour les raisons de d�mocratisation expliqu�es ci-dessus De plus Richard Stallman lui m�me, fait un commentaire sur le besoin d'une alternative libre � VB dans une lettre � "the register", le 10 f�vrier 2002.
Anthony Liguori (ajl13-at-bellatantic.net), auteur de GLBCC (GNU/Liberty Basic Compiler Collection) le seul projet basic labellis� GNU, r�it�re cette demande de mani�re plus pr�cise sur le site GLBCC h�berg� par sourceforge.

Passons donc en revue les diff�rents BASIC pour nous faire une id�e du "look and feel" de chacune des interfaces et des possibilit�s du langage:

XBasic

XBasic est s�rement l'environnement de d�veloppement dont l'interface utilisateur est une des plus abouti. Il int�gre un IDE, c'est � dire un outil de construction d'interface graphique, un d�bogueur et un compilateur. Un syst�me de "dot commands" permet aussi de commander au clavier l'interface sans utiliser la souris en tapant des commandes pr�c�d�es d'un point, directement dans la zone de saisie en haut � gauche de la fen�tre principale:

XBasic
Figure 1a: La fen�tre principale

XBasic math
Figure 1b: L'application Math

Cot� possibilit�s, XBasic poss�de toutes les biblioth�ques n�cessaires � la programmation d'interfaces graphiques et beaucoup d'extensions. On citera la possibilit� d'appeler des fonctions �crites en langage C. On retrouve d'ailleurs beaucoup des possibilit�s du langage C comme des d�clarations de type, des unions de variables ou la cr�ation de biblioth�ques
Enfin, Xbasic est disponible sous license GPL pour les environnements Windows ou Linux � l'adresse :http://www.xbasic.org


SmallBASIC

SmallBASIC est un interpr�teur en mode texte pour Win32, Linux et PalmOS. La partie d�veloppeur est largement document�e afin d'encourager le portage sur d'autres OS. C�t� installation l'interpr�teur peut �tre compil� pour plusieurs interfaces:

L'ex�cution peut se faire en mode texte ou en mode graphique. L'exemple ci-dessous ex�cute le programme System_infos.bas:

Mode console:

$ sbasic  System_info.bas 
SmallBASIC version 0.8.2, use -h for help
http://smallbasic.sourceforge.net

VMT Initialization...
File: System_info.bas
Section: Main
PASS1: Line 24; finished
SB-MemMgr: Maximum use of memory: 30KB

PASS2: Node 3/3
Creating byte-code...
Variables  20
Labels     0
Proc/Func  0
Code size  707

System Information

OS:     Unix/Linux version 2.4.18-6mdk (quintela@bi.mandrakesoft.com)
       (gcc version 2.96 20000731 (Mandrake Linux 8.2 2.96-0.76mdk))
       #1 Fri Mar 15 02:59:08 CET 2002 204018
SB:     802
Display 99x58
Colors  16
Font:   1x1

Total free memory: 127728 KB
Stack size: 127728 KB
Largest free memory block: 127728 KB

 * DONE * 

SB-MemMgr: Maximum use of memory: 30KB
$ 

Mode graphique

   $ sbasic -g  System_info.bas 
   SmallBASIC version 0.8.2, use -h for help
   http://smallbasic.sourceforge.net


   VMT Initialization...
   File: System_info.bas
   Section: Main
   PASS1: Line 24; finished
   SB-MemMgr: Maximum use of memory: 30KB

   PASS2: Node 3/3
   Creating byte-code...
   Variables  20
   Labels     0
   Proc/Func  0
   Code size  707

   SB-MemMgr: Maximum use of memory: 30KB
   $

SmallBASIC
Figure 2: SmallBASIC. Mode graphique SDL.

Le langage de SmallBASIC est assez simple et proche des fonctions standard que l'on peut attendre d'un BASIC. M�me les fonctions graphiques ne sont pas innovantes, on retrouve les classiques RECTANGLE et CIRCLE qui ont l'avantage de s'ex�cuter indiff�remment sur n'importe lequel des OS suscit�s. Les variables ne sont pas typ�es.
Par contre, SmallBASIC est compatible avec les anciens TINYBasic et QuickBasic et il est tr�s bien int�gr� � PalmOS.
Ce logiciel est t�l�chargeable sur http://smallbasic.sourceforge.net

wxBasic

Le wxBasic se d�crit comme ayant les possibilit�s de Quick Basic associ�es � des sp�cificit�s Unix comme les tableaux associatifs de awk. C'est un interpr�teur de petite taille, il tient sur une disquette. La documentation qui l'accompagne est compl�te sous forme d'un manuel au format pdf de 138 pages. Le langage comporte une biblioth�que graphique qui permet d'�crire des programmes pour X Window ou Windows. Ce langage se rapproche fortement des langages objet comme le C++, tout au moins pour la construction de l'interface graphique. Par contre, les interfaces graphiques doivent �tre construites "� la main". Aucune interface de d�veloppement int�gr�e ne semble exister pour ce BASIC.

 // My first wxBasic demo...
 option explicit

 // create the window
 dim frame=new wxFrame(0,-1,"wxBasic App",wxPoint(10,10),wxSize(300,200))
 frame.Centre()

 // place a panel in the window
 dim panel = new wxPanel(frame, -1)

 // add a status bar
 dim sBar = frame.CreateStatusBar( 1 )
 sBar.SetStatusText("wxBasic Frame Demo")

 // attach a menubar to the window
 dim mBar = new wxMenuBar()
 frame.SetMenuBar(mBar)

 // build the "File" dropdown menu
 dim mFile = new wxMenu()
 mBar.Append(mFile,"&File")

 // populate it
 mFile.Append(wxID_NEW, "&New", "Creates a new file")
 mFile.Append(wxID_OPEN, "&Open", "Loads an existing file from disk")
 mFile.Append(wxID_SAVE, "&Save", "Saves current file")
 mFile.Append(wxID_SAVEAS, "Save &As", "Saves current file with new name")
 mFile.AppendSeparator()
 mFile.Append(wxID_EXIT, "&Exit", "Exit Application")

 // build the "Edit" dropdown menu
 etc.....

wxBasic
wxBasic
Figure 3: wxBasic: un des programmes de demo

site web: http://wxbasic.sourceforge.net

GNU/Liberty Basic

Aussi appel� GLBCC, pour GNU Liberty Basic Compiler Collection, c'est uniquement un compilateur ou plut�t une interface au compilateur C GNU GCC qui convertit le Basic en langage C un peu comme font certains compilateurs C++ qui transforment le C++ en C avant compilation. On l'aura compris d'apr�s le titre, ce compilateur est d�di� � un langage 100% compatible Liberty Basic. Le Liberty Basic est un des BASIC apparus dans les ann�es 90 sur les plates-formes Windows et qui a connu un relatif succ�s du fait de sa diffusion libre (d'o� son nom). Pour en savoir plus � son propos, le site lui est d�di� et vante de nombreuses qualit�s. Ce langage n'est pas libre, mais une version gratuite de Liberty BAsic pour Windows est t�l�chargeable sur le site.

Le compilateur GLBCC est disponible pour les environnement Windows et Linux et il est capable de produire des ex�cutables autonomes qui sont annonc�s comme aussi rapides que ceux programm�s avec n'importe quel autre langage de programmation. Les auteurs clament aussi assez fort que du code Liberty Basic compil� avec GLBCC est capable de ridiculiser VisualBasic en terme de vitesse.

L'installation est assez simple sous Linux et ne requiert que les classiques d�-compactage avec "tar" et installation avec "make install".
En mode normal, le programme s'utilise en ligne de commande et un "glbcc hello.bas" produira l'ex�cutable hello comme suit:

$ glbcc
/usr/local/bin/lbpp -I/usr/local/lib/glbcc-lib/0.0.7/include -o out.c hello.bas
gcc -g -I/usr/local/lib/glbcc-lib/0.0.7/include `gnome-config --cflags gnomeui`
    -o hello out.c /usr/local/lib/glbcc-lib/0.0.7/lib/lbcrt0.o
    -L/usr/local/lib/glbcc-lib/0.0.7/lib -lLB
    -lm `gnome-config --libs gnomeui`
$ ls -l hello*
-rwxr-xr-x  1 john  john  339671 oct 13 21:55 hello
-rw-r--r--  1 john  john      22 avr 14 17:41 hello.bas
$ cat hello.bas
print "Hello, world!"
$ ./hello
Hello, world!

S'il est utilis� sans param�tre, glbcc ouvrira une fen�tre de dialogue graphique et demandera � l'utilisateur le nom d'un fichier basic puis �ventuellement le nom de l'ex�cutable � produire. par d�faut, le nom du programme entr� servira en sortie, additionn� d'un .exe sous windows et de rien sous Linux:

GNU/Liberty Basic
Figure 4: GNU/Liberty Basic

Cot� langage, ce basic est complet et l'interface graphique est accessible au travers de la biblioth�que GTK. Chose amusante, glbcc est lui m�me �crit en Basic.

YaBASIC

Yet another Basic for Unix and Windows

Bien qu'il se comporte comme un interpr�teur, yabasic n'en est pas un. C'est plut�t un compilateur: en lui donnant un code source � ex�cuter, il le compile, le transformant ainsi en code machine puis l'ex�cute imm�diatement. yabasic s'utilise en ligne de commande. Avec un nom de fichier comme argument, il ex�cute ce fichier comme d�crit ci-dessus. Sans argument, il entre en mode interpr�teur comme dans l'exemple ci-dessous:

$ yabasic
Enter your program, type RETURN twice when done.
for i=1 to 10
   print i,"hello, world"
next i

1hello, world
2hello, world
3hello, world
4hello, world
5hello, world
6hello, world
7hello, world
8hello, world
9hello, world
10hello, world
$

Ce fonctionnement permet aussi d'utiliser YaBasic pour �crire des scripts Unix ou m�me des CGI en pla�ant en premi�re ligne du fichier le "#!/bin/yabasic" classique des shells Unix et en d�clarant le fichier ex�cutable.

Cot� langage, YaBasic est un BASIC standard (entendez par l�, proche de Quick Basic) avec des variables non typ�es. Il faut seulement faire la diff�rence entre cha�nes et nombres gr�ce � la pr�sence o� non du caract�re $ en fin de nom de variable. Ici point de programmation objet mais on y trouve quand m�me la possibilit� de faire ses propres biblioth�ques, des instructions qui donnent acc�s aux modes graphiques X11 et Windows selon le syst�me d'exploitation utilis�. A cela s'ajoutent quelques fonctions bien pratiques comme le split() que l'on retrouve dans Perl ou PHP, les boucles FOR, WHILE ou REPEAT UNTIL et le IF ELSE ENDIF, ces derniers �tant pr�sents dans le langage BASIC depuis les ann�es 80 quand est apparue la programmation structur�e dans Basic.

X11-Basic

X11-BASIC est un interpr�teur de Basic Structur� ayant des capacit�s graphiques pour X11. Il utilise les fonctionnalit�s du GFA Basic de l'Atari ST. Il s'agit en fait du portage de GFA BASIC du syst�me GEM/TOS des Atari ST (fin des ann�es 80) vers l'environnement Unix. Il peut �tre utilis� comme interpr�teur ou pour r�diger des scripts ou des CGI. Il existe un pseudo compilateur qui permet de cr�er des ex�cutables autonomes (mode statique) ou qu'il faut accompagner de la biblioth�que X11 basic qui p�se environ 200 Ko (mode dynamique). C'est un pseudo compilateur car le fichier r�sultant ne contient pas du code machine directement ex�cut� par le micro processeur mais le langage BASIC sous une forme compress�e et accompagn� de l'interpr�teur. Ce pseudo compilateur est lui m�me �crit en X11-Basic.
Le langage de ce basic est tr�s riche, structur� et avec des variables typ�es (entiers, flottants, textes, tableaux, bool�ens). Il existe des instructions pour acc�der � la m�moire comme le malloc() du C ou bien des instructions de multiplication de matrices applicables � des tableaux.
Les instructions graphiques sont rest�es les m�mes depuis le GFA Basic des Atari ST mais ont maintenant un r�sultat similaire sous X. L'instruction MENU cr�e un menu dans une fen�tre graphique par exemple.

Cet interpr�teur est accompagn� d'une documentation ainsi que de nombreux exemples malheureusement encore en allemand par endroit. Seul ombre au tableau, le portage n'est pas compl�tement termin� et des bogues sont susceptibles de surgir m�me avec les exemples fournis. On peut consid�rer que cet interpr�teur se comporte encore beaucoup trop comme une version beta pour �tre facilement utilisable par la cat�gorie d'utilisateurs que vise le langage BASIC.

$ xbasic
***************************************************************
*               xbasic                 V. 1.07                *
*                    by Markus Hoffmann 1997-2002 (c)         *
*                                                             *
* version date:           Wed Sep 25 10:26:29 CEST 2002       *
* library V. 1.07 date:   Wed Sep 25 10:26:29 CEST 2002       *
***************************************************************
X11 Basic: l'accueil de l'interpr�teur

Site web: http://www-cip.physik.uni-bonn.de/~hoffmann/X11-Basic/

HBasic

Voici enfin un BASIC qui fait bonne impression d�s le d�but, tant par ses possibilit�s, que la qualit� de sa documentation qui p�se tout de m�me 7.7 Mo. L'installation n�cessite Qt-3.* qu'il faut charger sur le site de Trolltech (http://www.troll.no) si vous n'avez pas install� une distribution de Linux tr�s r�cente. Il s'agit d'un environnement de d�veloppement vraiment complet qui malgr� sa jeunesse (version 0.8) int�gre d�j� toutes les fonctionnalit�s dont un d�veloppeur peut r�ver:

Les auteurs de HBasic insistent quand m�me en disant: "La version en cours de HBasic n'est pas encore assez stable pour �tre utilis�e par des d�veloppeurs BASIC. Il leur faudra attendre la publication de la premi�re version stable 1.0"..

hbasic
Figure 5:Hbasic

GNOME Basic

GNOME Basic est un projet qui vise � �tre le rempla�ant compatible � 100% des Visual Basic, VBA, VBScript, et autres langages associ�s. A l'origine il se d�diait � rendre les macros VBA ex�cutables dans gnumeric, mais � cause de d�rapage des objectifs il ex�cute quelques formulaires, examine la plupart du code VB et ex�cute de simples ASPs. Avec une meilleure int�gration de Bonobo, un environnement enti�rement MS compatible devient r�alisable
Pour l'instant, Gnome Basic est juste une tentative embryonnaire de fournir des fonctionnalit�s compatibles avec VB pour le projet GNOME, en particulier pour les application de type bureautique (VBA).
Le projet est toujours dans un �tat "pr�-alpha" et doit �tre r�serv� aux d�veloppeurs du projet GNOME � ce stade.

Page d'accueil: http://www.gnome.org/gb/

KBasic

KBasic est l'autre tentative de d�velopper un BASIC compatible � Visual Basic. Les d�veloppeurs esp�rent distribuer la premi�re version 1.0 stable � l'�t� 2003. Il n'existe pour l'instant qu'une version instable r�serv�e aux d�veloppements. A terme il semble que KBasic utilisera l'environnement de Kdevelop.

Voici un exemple de ce que donne actuellement la version t�l�chargeable du noyau dur du KBasic:
$ kbasic1 --help
Usage: kbasic1 [OPTION]... FILE
      --help                  display this help and exit
  -V, --version               print version information and exit
  -c, --copyright             print copyright information and exit
$ kbasic1 -V

KBasic version 0.8

Copyright (C) 2000, 2001, 2002 The KBasic Team
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

Visit us on http://www.kbasic.org/

$kbasic1 hello.bas 
-- scan --

LINE 00001 PRINT STRING "Hello, world!" EOL 
LINE 00002 END 

-- parse --

STRING in line 1
EOL in line 1
parsed PRINT

parsed END


-- interpret --

0000:  KBASIC   KBASIC
0006:  VER      1.000000
0011:  OPTION R OFF
0013:  JMP      36
0036:  DIM_STAT "Hello, world!", 1
0055:  JMP      18
0018:  PUSHS    1 , " Hello, world! "
0023:  PRINT   
Hello, world!
0034:  END      execution ended

Comme on peut le voir, kbasic fonctionne mais est loin d'�tre op�rationnel, les messages de debogage de l'interpr�teur lui m�me ainsi que le code assembleur g�n�r� sont in�vitables pour l'instant.

Site: http://www.kbasic.org

Conclusion

Ce tour d'horizon des diff�rents interpr�teurs et compilateurs BASIC nous apprend plusieurs choses. Tout d'abord, une demi surprise, BASIC, ce langage tant d�cri� par les d�veloppeurs des autres langages, n'est pas mort, m�me sur les syt�mes Unix o� son utilisation reste pourtant toujours tr�s discr�te � cause de concurrents s�rieux (perl, python, Tcl/Tk,php....) qui fonctionnent eux aussi en mode interpr�t�. L'activit� que g�n�re ce langage dans le monde des d�veloppeurs libres est significative. Le nombre de projets est important et tous ces projets sont tr�s actifs. A n'en pas douter la demande est s�rement forte et ce fait ne peut que favoriser le d�veloppement du logiciel libre en facilitant la migration de programmeurs BASIC vers les Unix libres.
Sur les syst�mes Windows, VisualBasic pr�vaut du fait de son int�gration dans le syst�me d'exploitation de Microsoft, les asp et les suites bureautiques. Notons tout de m�me qu'une grande proportion des BASIC que nous avons test�s fonctionnent sur les deux plates-formes voire d'autres.
Deuxi�mement, BASIC tra�ne toujours quelques casseroles. L'absence de standard de ce langage a conduit � ces nombreuses versions qui ne sont pas du tout compatibles entre elles. La volont� de plusieurs projets r�cents comme GNOMEBasic ou KBasic de rejoindre le standard de fait qu'est VisualBasic irait dans le bon sens si VB �tait un standard libre, ce qu'il n'est �videmment pas. Il vaut mieux dans ce cas parler de monopole...
Pour le d�veloppeur BASIC, le choix existe et quelques outils sortent nettement du lot. En tant que syst�me de d�veloppement int�gr�, HBasic est certainement le plus prometteur. En attendant la version stable, XBasic est actuellement le plus abouti. D'un autre cot�, smallbasic, yabasic permettent facilement d'�crire des scripts ou des cgi � tous ceux qui viennent de migrer sous Unix et qui h�sitent parmi toutes les solutions que ce syst�me propose. GLBCC permet aussi cela avec l'avantage de cr�er des programmes compil�s avec l'excellent GCC. �tant donn� l'absence d'IDE et donc d'un d�bogueur facile d'abord, on ne pourra que difficilement d�velopper et maintenir de gros programmes avec cet outil. Reste wx-Basic qui est assez inclassable mais qui a des atouts, en particulier pour l'�criture d'interfaces graphiques.
Un autre avantage de ces BASIC est la migration facile de programmes d'un syst�me d'exploitation vers l'autre sans recompilation. Ils sont en effet, quasiment tous disponibles pour les environnements Win32 et Unix.
Il reste donc au d�veloppeur BASIC la lourde t�che de faire le bon choix parmi tous ces outils en fonction de l'utilisation envisag�e.