Orvet est un langage de programmation entièrement en français que j'ai initialement développé pour mes enfants, afin d'explorer avec eux des premières bases d'algorithmique. Orvet a été pensé pour écrire avec eux des programmes qu'ils puissent facilement comprendre, relire et faire tourner puis pour qu'ils arrivent peu à peu à en écrire eux-mêmes.
Dans sa première version (V0) qui commence à être assez complète, Orvet permet de manipuler des nombres entiers (sans limitation de taille) ainsi que des booléens. Toutes ses instructions ne font qu'une et une seule chose élémentaire (en ce sens il ressemble un peu à un super-assembleur). Tout est explicite. Orvet est doté de structures de boucle et d'exécution conditionnelle et il supporte les procédures (ainsi que la récursivité). Il supporte aussi les dictionnaires et, qui peut le plus peut le moins, les tableaux. Enfin, il est depuis peu doté d'extensions temporisées, pour un premier contact avec le temps réel dans les programmes.
Orvet est facile à utiliser pour programmer (et accessoirement facile à parser et à interpréter).
Orvet possède un guide d'utilisation assez complet qui est quasiment un petit manuel (hyper accessible, en tout cas c'était le but) d'initiation à l'algorithmique et à la programmation.
L'interpréteur est un script Python3 (vive Python !). Il y a ce qu'il faut dans la distribution pour intégrer le support du langage depuis notepad++ (coloration syntaxique et lancement de l'interpréteur), voir la section "Installer et utiliser Orvet" du guide.
Le plus simple pour démarrer : aller sur GitHub et jeter un coup d'oeil au guide d'utilisation (pour les pressés, se référer à la section "Démarrage rapide") ! Bon je sais que ça fait un peu RTFM mais j'ai essayé d'écrire un guide synthétique et pas trop pénible à lire (y compris pour des novices de la programmation voire des enfants)...
Orvet est distribué sous licence GPL, si vous l'utilisez je serai très heureux de le savoir. Si vous trouvez des bugs ou avez des idées d'améliorations, je serai aussi très heureux de le savoir (et de corriger les bugs en question). Si vous écrivez des programmes sympas, je serai (encore !) très heureux de le savoir et de les inclure dans les exemples fournis (aujourd'hui il y a principalement des exemples très élémentaires). J'ajouterai bien entendu aussi les programmes sympas que j'aurai fait avec (ou sans ;-) mes enfants...
Chaque version d'Orvet aura une devise. Puisqu'elle ne supporte que les nombres entiers, celle de la version 0 est une citation bien connue de L. Kronecker : "Dieu a créé les nombres entiers, le reste est l'œuvre de l'homme.".
Voici deux exemples de programmes Orvet (les répertoires d'exemples du dépôt Git commencent à être assez bien fournis et une bonne partie d'entre eux sont présentés dans le guide).
L'incontournable "Bonjour Monde !" (exemples/bonjour.orv) :
écrire Bonjour monde !
Un programme de quelques lignes qui vérifie, de manière outrageusement sous-optimale, si un nombre d'entrée est premier et qui illustre bien les grandes lignes du langage (exemples/premier.orv) :
entier x lire x entier i entier reste booléen juste booléen continuer booléen premier booléen divisible affecter 1 à i affecter vrai à continuer tant que continuer faire ajouter 1 à i dans i réduire x modulo i dans reste différencier reste avec 0 dans continuer fin comparer i avec x dans premier différencier i avec x dans divisible si premier alors écrire $x est un nombre premier fin si divisible alors écrire $x n'est pas premier, il est divisible par $i fin
Orvet n'est pas le seul langage de programmation en français. Il y a notamment Linotte qui est sympa mais, me semble-t'il, un peu différent dans l'esprit (disons moins algorithmique et in fine plus réaliste). Et il y a les grands classiques comme Scratch qui existe aussi en version française. Et sur iPad & co (mais en anglais) : Move the Turtle (à qui on peut faire faire des trucs sympas et d'autres !). Mais que ce soit avec Scratch ou Logo, l'approche est moins explicitement algorithmique qu'avec Orvet...
Accessoirement, vous pouvez aller jeter un oeil sur mes éléments de mathématiques amusantes...
Dernière mise à jour : sept. 2016.