Scriptol signifie "Scriptwriter Oriented Language", donc langage
orienté- scénariste.
Le langage de programmation Scriptol dispose actuellement de deux
compilateurs.
- Solp permet d'interpréter programme scriptol avec l'interpréteur
PHP.
- Solc compile des sources scriptol en C++ ou construit directement un
exécutable pour Windows ou pour Unix.
Pourquoi Scriptol
C'est parceque je pensais qu'en l'an 2001, les programmeurs ne devraient
pas utiliser des langages définis dans les années 1970, pour des microprocesseurs
à un megahertz, que j'ai décidé de créer Scriptol, dont l'implémentation
est publiquement disponible depuis fin 2001.
Dans ces anciens langages, conçu pour réduire le temps de compilation,
le look-ahead ne dépasse par trois tokens, ce qui signifie qu'à
chaque pas dans la lecture du source d'un programme par le compilateur,
l'instruction suivante doit est identifiée dès les trois premiers
symboles...
Les langages créés depuis gardent la même syntaxe pour ne pas changer
les
habitudes des programmeurs!
Scriptol peut dépasser les 20 niveaux de look-ahead et pourtant
la compilation est instantanée. Il distingue les instructions des expressions
pour être plus facile à lire et pouvoir développer des structures de contrôle
plus évoluées.
Syntaxe ancienne et simplicité moderne
Ceci est un programme Algol .
Algol a été conçu en 1968. |
// afficher le text Hello World
BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HELLO WORLD!";
WHILE TRUE DO
BEGIN
WRITE (F, *, E);
END;
END. |
|
Ceci est un programme écrit en delphi
"moderne". |
cont str = 'Hello World!';
var i:int; len:int;
begin
len:= length(str);
for i:=0 to len do
begin
write(str[i]);
end;
end; |
|
Ceci est le même programme réécrit
en Scriptol |
constant text
str = 'Hello World!' for text
t in str print
t |
|
Conception de Scriptol
La conception du langage Scriptol a été réalisée avec la plus rigoureuse
méthode jamais appliquée à un langage pour ordinateur. Sept règles ont
été définies pour guider la définition (voir la page "seven"), et rien n'a été ajouté au langage qui ne satisfasse toutes
les règles.
J'ai décidé comme première règle que le langage doit être simple et naturel
et la seconde est la suppression de toutes les sources d'erreur pour le
programmeur.
La troisième est la règle de standardisation: ne jamais utiliser une syntaxe
différente si une syntaxe communément utilisée par les langages peut convenir.
Scriptol rejoint la simplicité des langages de script qui permettent de
transposer une idée directement sous forme de programme. Il peut être
interprété comme un langage de script, mais il peut aussi produire des
exécutables à distribuer et qui fonctionnent sans l'aide d'un interpréteur.
Au contraire des langages de scripts, il utilise des variables typées,
pour éviter que l'on ne perde en déboguant un programme, le temps gagné
en l'écrivant.
Jusqu'ici avec un nouveau langage on devait repartir à zéro et réécrire
toutes les librairies de fonctions. Cet inconvénient est évité en Scriptol
qui utilise C++ comme langage intermédiaire ce qui fait que l'on peut
lier à un programme Scriptol toutes les librairies C++ existantes...
En utilisant également Php comme code intermédiaire, Scriptol répond au
besoin d'un langage Internet qui soit facile à apprendre et permette un
contrôle d'erreur complet au moment de la compilation et non durant l'exécution.
Scriptol peut être imbriqué à l'intérieur d'une page html et elle est
convertie en la même page avec du code Php, prête pour le Net qui fonctionne
sous Windows, Unix ou tout système compatible avec Php.
Un mot sur la simplicité
Scriptol reprend la structure xml ou html dans toutes les structures du
langage.
Les langages C, Java, Php utilisent les symboles { } provenant du C conçu
en 1972, symboles qui étaient adaptés aux anciens éditeurs
de texte.
Ce symbolisme est obsolète.
Le programmeur se sent généralement obligé de rajouter
un commentaire pour clarifier le code: while(x < 10)
{
...
} // fin de la boucle while
Il est beaucoup plus simple d'écrire, selon le principe de xml: while x < 10
... /while
La coloration syntaxique des éditeurs modernes, notamment
de celui qui est fourni sur le CD, permet de bien visualiser le début
et la fin de la structure while.
Conclusion
Scriptol dispose de capacités étendues allant bien au-dela de ce
qu'aucun langage de script ou d'application ait jamais implémenté, ce
tutoriel étendu vous permettra de toutes les découvrir.
|