Langage Orienté Humain

Aristote. Vous ne pouvez accomplir de grandes choses avec des idées courtes

L'orientation-homme de Scriptol et les anciens langages de programmation

Le langage a été conçu principalement dans le but d'être proche de la pensée humaine. J'ai appliqué la méthode de Descartes de recherche de la vérité, pour trouver la raison de chaque caractéristique des langages classiques. Si un élément à été repris pour une raison qui n'existe plus (la lenteur des processeurs par exemple), alors cette caractéristique est éliminée du langage.
Par contre, je ne veux pas utiliser une nouvelle syntaxe uniquement pour changer de langage, je préfére conserver ce dont les programmeurs ont l'habitude si cela fonctionne bien. Par exemple, j'ai exhumé le mot-clé "nil" du très ancien langage Listp (plus de 40 ans!), parceque "nil" est exactement ce dont j'ai besoin et je ne veux pas créer de nouvelles choses uniquement pour être différent. Number et text (nombre et texte)Les langages précédents utilisent des variables ayant pour type: float, string, char, short, etc...(flottant, chaîne, caractère, court) Cela vient de l'époque où les ordinateurs avaient une mémoire de 48 k octets. Scriptol utilise plus simplement number et text, et aussi real ou integer (réel ou entier) pour distinguer les nombres.

Instructions pure: pas d'assignement à l'intérieur d'une expression

 L'instruction if(x = y) en C++ assigne x à y et teste si x vaut 0. En Scriptol, cela teste si x est égal à y. Le double opérateur == n'est pas utilisé en Scriptol.
C, puis Java, Php et C# permettent de mêler conditions et actions. Exemple: if(A = B + 1) then... En langage humain: "Si ne vaut pas zéro la variable A assignée de B plus 1, alors..."
Un telle complication d'idées n'est pas permise en Scriptol.
Les instructions sont des expressions en C et successeurs, pas en Scriptol.

Assignement augmenté

L'instruction x = x + 2, s'écrit x + 2 en Scriptol. Cela est conforme à la pensée. (Exemple: "ma voiture a été déplacée d'un km", plutôt que "ma voiture a été déplacée de sa place vers sa place plus un km".)

Opérateurs et symboles

 Les symboles ont un seul sens en Scriptol et ne ne sont pas réutilisés pour des opérations différentes comme dans d'autres langages.

Choix multiple

 Grâce à des structures de contrôle spéciales, if composite et do case - jamais implémentées auparavant - Scriptol permet de structurer le code d'une façon qui correspond directement à la pensée.
La structure scan avec [] pour désigner l'élément courant est aussi une transposition directe de la pensée jamais implémentée encore.

Point-virgules

 Il a été dit qu'un programme doit avoir des points-virgules parceque l'on utilise cette ponctuation quand on écrit. Mais on n'en mets pas dans les partitions musicales pour autant.
 La vraie raison des point-virgules dans les programmes, je crois, est de permettre de couper les lignes sans désarçonner les compilateurs d'avant. Mais un compilateur moderne comme celui de Scriptol est capable de reconnaître les lignes coupées et donc, il n'est pas besoin d'une terminaison autre que la fin de ligne. Scriptol a besoin des point-virgules uniquement pour séparer des instructions sur une même ligne.

Retours multiples

Pour certaines fonctions, il est évident qu'elles doivent retourner plusieurs valeurs à la fois. Par exemple, les composantes Rouge, Vert, Bleu d'une couleur, ou les coordonnées x et y d'un point... Donc pour appliquer la pensée humaine, il doit être possible d'assigner plusieurs variables à un appel de fonction:
  x, y = prendreCoordonnees()
  rouge, vert, bleu = prendreRGB()
Scriptol comme d'autres langages modernes permet cela.