Les premières applications structurées, les écrans, les fichiers et le langage.
UNE CONTINUITÉ RARE
Les langages Memsoft : une même filiation à travers des plateformes qui changent
C'est probablement ce qui me paraît aujourd'hui le plus étonnant : j'ai découvert presque par hasard un langage et des outils qui ont su évoluer de l'Apple II jusqu'aux générations modernes de Windows, sans imposer de jeter tout le patrimoine applicatif à chaque étape.
Le langage reste, l'environnement autour de lui change
Dans mon vocabulaire, je préfère parler des langages Memsoft. DOS, OS/2 et Windows sont les environnements qui les entourent. Ce sont précisément ces environnements qui ont profondément changé au fil des décennies.
Le passage au PC sans repartir de zéro.
Multitâche, multiposte, terminaux et accès distants.
Interface graphique, Win32, réseau puis continuité jusqu'aux Windows actuels.
Une idée présente dès la documentation : préserver l'investissement de développement
La documentation Memsoft conservée ne présente pas l'outil comme un simple BASIC. Elle associe langage, gestion d'écran, fichiers, menus, bibliothèques et utilitaires. Elle insiste aussi sur un problème très concret pour un développeur : la pérennité de l'investissement de développement.
Avec le recul, cette phrase prend un sens particulier. Une grande partie de la valeur n'était pas seulement dans la syntaxe, mais dans tout ce qui avait été accumulé : règles métier, masques, traitements, fichiers et habitudes de travail.
MEMFILE : une des raisons pour lesquelles on ne change pas un système qui fonctionne
MEMFILE a joué un rôle essentiel dans cette stabilité. Le manuel décrit des fichiers multi-clés, le partage entre utilisateurs, la gestion dynamique de l'espace disque et, pour les clés non relatives, une recherche explicitement réalisée en arbre B — B-tree.
branches indexées
recherche par clé
accès aux enregistrements
Schéma de principe : il illustre l'idée d'une recherche arborescente, pas l'implémentation interne exacte de MEMFILE.
Pour une application de gestion, cette combinaison était redoutablement pratique : rechercher rapidement selon plusieurs clés, parcourir un fichier, gérer des homonymes et partager les données entre postes. Quand cette couche est stable et que des années de logique métier reposent dessus, la remplacer n'est pas automatiquement un progrès.
20 OCTOBRE 2000
MOD1 2000 : la transition vers Win32 sans casser la filiation
La documentation situe la première version 6.00 de MOD1 2000 au 20 octobre 2000. Elle l'identifie ensuite par la chaîne WIN32,MOD1WIN32 et documente les DLL 32 bits, MEMFILE 2000, plusieurs sessions et des configurations multi-utilisateurs.
Dans mon activité, c'est cette génération que j'ai surtout exploitée sous Windows NT, Windows 2000 puis Windows XP. Windows 98 et ME existaient et sont mentionnés dans la documentation, mais je les ai très peu — voire pas — retenus pour mes installations professionnelles.
Pourquoi ai-je continué si longtemps ?
Avec le recul, la question se pose naturellement. Était-ce simplement l'habitude ? Peut-être en partie. Mais il y avait surtout une réalité : les programmes étaient stables, le langage fiable, MEMFILE solide et le patrimoine métier considérable.
Beaucoup d'utilisateurs ont naturellement pris d'autres directions. J'ai fait partie de ceux qui ont continué à exploiter MOD1 2000, parce qu'il répondait encore au besoin et parce qu'une réécriture complète aurait fait courir des risques sans apporter automatiquement un bénéfice équivalent.
Je ne cherche pas à présenter MOD1 2000 comme une technologie universellement supérieure. Cette page explique simplement pourquoi, dans mon activité, cette continuité a eu du sens pendant plusieurs décennies.
Et aujourd'hui encore
MOD1 2000 reste un programme 32 bits. Sous Windows 64 bits, la compatibilité x86 permet encore à ce type d'application de fonctionner. Des DLL Win32 développées en C++ avec Visual Studio ajoutent les fonctions que le cœur historique ne fournit pas directement.
La plateforme a changé plusieurs fois. Le noyau métier, lui, a continué à vivre.