Non, pas du tout. Je ne cherche pas du tout quelque chose qui soit indépendant de la machine.__sam__ a écrit :En fait tu cherches une façon "portable" (i.e. indépendant de la machine) de faire une sauvegarde compatible avec le basic des dites machines (de sorte à pouvoir charger avec RUN ""). Je pense que c'est un besoin d'utilisateur d'informatique "récente", dont on ne peut reprocher aux concepteurs du langage de ne pas l'avoir introduit.
Ce n'est pas non plus un besoin d'utilisateur d'informatique récente, vu que j'utilise Turbo-Pascal 3.0 sous CP/M.
Quand on est programmeur, et qu'on a écrit un programme, (peu importe le micro-ordinateur)
on souhaite qu'un autre utilisateur puisse le lancer sur sa machine, SANS POSSEDER le langage avec lequel a été écrit le programme.
C'est aussi simple que ça. Ca ne date pas d'aujourd'hui.
SI tu écris un programme en langage FORTH, ton voisin ne pourra le lancer QUE s'il possède le langage FORTH.
Le génie de Turbo-Pascal 3.0 quand il est arrivé en 1983, c'est que les programmes crées ne généraient pas seulement
des .PAS (programme source Pascal qui ne s'exécute QUE dans Turbo-Pascal)
MAIS AUSSI de pouvoir générer un programme compilé en langage machine en .com
qui est exécutable tout seul, sous CP/M, SANS avoir besoin de posséder Turbo-Pascal! (et libre de droits!!)
A l'époque, Microsoft avait aussi sorti un langage Pascal, beaucoup plus cher, mais Microsoft demandait des royalties
si tu vendais ton propre programme écrit avec son Pascal !!!
Borland est arrivé avec son Turbo-Pascal à 50 dollars!! et a dit :
- Créez vos programmes en Turbo-Pascal, vendez-les si vous voulez, ils sont libres de droits (pas de royalties à nous verser)
- Vous pouvez générez un exécutable .com, donc PAS BESOIN pour vos utilisateurs de posséder une copie de Turbo-Pascal
pour lancer VOS programmes.
Résultat : Borland a écrasé le Pascal de Microsoft qui a pratiquement disparu.
(c'est TRES rare dans l'histoire de l'informatique qu'une petite société ait pu battre Microsoft sur le terrain des langages)
Voilà, je ne sais pas pourquoi ma question a généré autant de posts, alors que j'ai la réponse depuis bien longtemps :
FORTH ne sauvegarde que des programmes sources qui ne s'exécuteront QUE sous FORTH.
Résultat, si tu veux que ton voisin teste ton programme, il doit posséder le langage FORTH sur son ordinateur.
EN 1983, déjà, on s'affranchissait de ça. Ce n'est pas nouveau ni récent.
Je suis sûr et certain que c'est ce qui a fait disparaître le langage FORTH par rapport au langage C.
Tu imagines, si en C, on devait demander aux gens de posséder un compilateur C pour pouvoir exécuter NOS programmes ??
Il faudrait dire à ton voisin : "Je te passe un programme, mais tu dois posséder un compilateur C, le lancer,
puis charger mon programme et le compiler à la main. Ensuite seulement tu pourras l'utiliser."
C'est ce qui se passe avec FORTH. On peut lui trouver des excuses, genre "il est plus ancien que Turbo-Pascal, etc.",
mais je ne m'occupe pas de ça. Je dis juste : On ne peut faire tourner les progs que sous Forth, donc c'est très limité.
J'ai bien compris que vous voulez modifier le Forth du MO5 pour qu'il puisse sauvegarder de vrai excutable autonomes.
Mais ça ne m'intéresse pas, car si demain, je veux un exécutable sous Amstrad CPC, Commodore 64, ou sur mon PC Windows,
comment je fais ? Et si le jour d'après je veux faire ça sur un autre micro-ordinateur ? cette solution n'est pas viable.
Je pensais écrire des petits utilitaires écrits en FORTH sur mon PC sous Windows et les diffuser,
mais s'il n'existe pas de FORTH qui crée des programmes autonomes, ça ne sera pas possible.
Mais peut être qu'avec GFORTH ou Turbo-Forth ils y ont pensé, je n'ai pas encore testé.
C'est bien beau en 79 et en 83 d'avoir normalisé le FORTH, mais ils auraient du penser à faire comme Turbo-Pascal,
de façon à pouvoir faire en sorte que n'importe qui ne possédant pas FORTH puisse quand même lancer le programme.
Et sans avoir à le compiler à la main. (pour le grand public c'est rédhibitoire).
Voilà pourquoi FORTH n'a pas décollé en dehors des laboratoires, et des application métiers.
(un ingénieur n'a aucun problème à faire tourner son programme Forth et à la compiler à la main à chaque fois,
par contre, pour vendre des logiciels, les programmeurs choisiront Turbo-Pascal puis le langage C, c'est évident).
Voilà, même si vous arrivez à créer ce que Dominique appelle un ExeForth pour MO5, le problème reste entier
pour les autres ordinateurs. Et je ne compte pas m'amuser à bidouiller la RAM de chaque différent ordi!
Mais bon, je continue à apprendre à programmer en Forth, pour le côté intellectuel.
Mais quand je veux créer un programme que je veux diffuser, j'utilise un autre langage.