Pour les programmeurs : Le Libre et le Full 64 bits
par
, 27/07/2019 à 00h18 (1194 Affichages)
Quand on travaille sur du privatif, une migration voit s'afficher des erreurs étonnantes et incompréhensibles. Les EDI privatifs prennent beaucoup de mémoire parce qu'ils doivent stocker le code compatible avec les vieilles machines. Ces EDI privatifs ne prendront moins de mémoire que si suffisamment de migrations vers une version plus récente ou libre de l'outil aura été mise en oeuvre.
La création des processeurs est vérifiée par les logiciels ou applications des langages libres les plus fiables, C puis Rust pour les logiciels, Free Pascal 3 à 4 assembleur pour le compilateur et les applications RAD. Le C ne peut être applicatif parce que le C est utilisé pour la mémoire. Ainsi C++ Builder peut migrer vers un RUST RAD.
Nous passons aux cartes mères RISC AM5 et CPU CISC DDR5 cet été. J'en ai acheté une. Il s'agit de cartes mères industrielles, donc simplifiées et durables.
J'ai maintenu mes projets Lazarus et des projets abandonnés pour leurs parties libres. Lazarus a ainsi permis le Full 64 bits. Mes 2 projets RAD principaux ont juste eu à survivre pour réaliser cela. Il a cependant fallu intégrer des composants assembleurs avec compatibilité ARM.
Un petit projet majeur est le passage du français vers l'UTF 8 par un des 2 projets majeur : Ancestromania Lazarus. Le passage à l'UTF 8 ne peut plus fonctionner aussi rapidement sur un Lazarus récent, utilisant Free Pascal 3 (Assembleur) et supérieurs.
Ce petit projet de l'ISO vers l'UTF 8 fut repris pour migrer le vieux wiki de gulliver.eu.org. J'ai utilisé l'unité LConvEncoding. En tentant de créer un tableau de conversion transformant rapidement les caractères accentués en UTF 8, j'ai miraculeusement permis de migrer vers l'UTF 8 grâce à Free Pascal 2.6.
Il est à noter que Debian 10 n'est pas encore pratique pour le Bépo.
J'ai transformé le français moyen du Droit des Gens pour qu'il soit inspirant. Vous découvrez de vieux mots du français moyen dans ce livre*:
[url]https://archive.org/details/LEDROITDESGENS[/url]
Alors que le livre est en CC by SA, personne ne veut l'imprimer en 2019. J'ai donc dû imprimer les 4 livres (3 et 4 plus léger dans le même tome). Seulement, aucune librairie ne veut me commander l'ensemble. Pire, j'envoie ça à des librairies napoléoniennes. Le code civil de Napoléon est pourtant moins intéressant que ces livres.
Le prochain partage important se fera avec [url]www.extpascal.com[/url] et ExtJS (repris par Delphi mais toujours fonctionnel grâce à un italien aussi). Rappelons que le protocole FastCGI est le plus coûteux et le plus fiable qui puisse exister. Ce protocole n'a pas évolué depuis sa première distribution. Ainsi un vieux Lazarus est susceptible de fonctionner sur des serveurs récents, parce qu'il est surtout en licence LGPL et GPL pour l'EDRI (Environnement de Développement Rapide Intégré).
Rappel*: EDRI pour le RAD ou DRA. En effet JAVA ECLIPSE a utilisé le terme EDI en transformant ce terme en horreur abstraite.
J'attends un nouveau partage ExtPascal avec un ExtJS récent, grâce à Pas2JS. Pour l'instant, mes sources Web sont toujours difficiles à transformer en Javascript. Il s'agit de transformer la gestion des données pour en transformer une partie en Javascript grâce à une moulinette complémentaire.
Une moulinette permet de remplacer des mots et de les déplacer. On migre d'abord des composants, puis on crée des composants pour revendre ce savoir-faire, puis une équipe temporaire migre l'application, au mieux entièrement par la moulinette.
J'ai aussi maintenu le projet fortes non ce :
[url]https://bitbucket.org/matthieugiroux/fortes/downloads/[/url]
Il est téléchargé par Lazarus 2.0.2 avec mes paquets Extended. Il y avait plein de problèmes de mémoire dans ce projet. Les brésiliens n'osaient pas prendre le risque de restructurer. Il y a une IA brésilienne d'étudiants, consciente par les blogs ici :
[url]https://www.lazarus-components.org/Components-with-sources/From-Neural-Networks/Conscious-Artificial-Intelligence/[/url]
[url]https://archive.org/details/Dieux[/url]
Lazarus 2.0.2 permet de faire fonctionner IBX Lazarus, pas lea version 2.0.0. J'ai passé beaucoup de temps à réadapter mes sources à ces composants SGBD mono-fichier embedded capables rapides. Il y avait de moins en moins de libertés sur son utilisation. L'intérêt d'IBX c'est le SQL auto-généré de Man Frames. Mon projet Man Frames est idéal pour accélérer les données avec IBX Lazarus et Firebird. Rappelons qu'on peut migrer facilement d'une version majeure Firebird à une autre, si on garde les sources.
C'est notamment le fait que j'ai adapté mes sources aux composants IBX RISC POWER PC 32 qui a demandé une collaboration pour que l'équipe IBX Lazarus sublime IBX sur ARM 64 (noyau RISC), en gardant le Full CISC. En effet, je n'ai qu'à revoir l'architecture aux bons moments pour que les programmeurs d'IBX puissent travailler.
Il s'agit pour moi d'être RISC et CISC 64, pas besoin de compatibilité 128, utile pour les serveurs donc ExtPascal. Par contre je peux améliorer les listes avec la sémantique des listes typées venant de JAVA. Free Pascal 3 permet de créer du byte-code très léger.
A propos du byte-code, le projet XML Frames permet d'alléger LYRIA LEONARDI, devenu W4 Express. LEONARDI a été utilisé par AIRBUS. Un ami nommé Alexandre a milité pour que STM Rennes perdure. Je lui ai parlé de Lazarus.
J'ai intégré très vite le projet Full CISC VirtualTreeView. Je dois vérifier VirtualDBTreeView, mon projet qui permet de programmer du checking par les données et DBGroupview dans Extended*:
[url]http://matthieugiroux.com/html/composants.html[/url] (deuxième position)
Dès que j'ai vu le partage d'un arbre standard pouvant être construit par des données, j'ai créé la compatibilité ARM sur Man Frames et Ext Fortes Report. Lazarus 2 permet dorénavant de compiler de l'IHM intégrée ARM, l'IHM CISC étant plus facilement maintenable. Free Pascal 3.0.4 permet Free BSD.
Donc mes projets Ancestromania et Extended Man/XML Frames sont aboutis, même si bogués (moins que Free BSD). Seulement, l'intégration d'Extended à Lazarus est gérée par l'équipe de Lazarus. On ne m'a pas contacté pour cela. Par ailleurs, je n'ai eu qu'un contact pour distribuer un paquet Ancestromania dans une distribution, travail partagé j'espère.
Un langage peut être généré automatiquement, pas le compilateur. La sémantique de ces nouveaux langages n'est qu'une sémantique qui permet de mieux utiliser assembleur, l'assembleur permettant sécurité et rapidité. Ce sont les chinois qui peuvent créer le plus facilement les compilateurs CISC. Free Pascal est surtout un compilateur libre en C et assembleur, le C étant dans les processeurs pour Android au moins.
RUST est une amélioration du C et de Pascal aussi. L'objet sert à créer du RAD comme on le conçoit par les composants UML. Créer un langage RAD n'est qu'une sémantique supplémentaire. Elle peut ne pas surcharger un langage objet. Le RAD permet surtout alors de simplifier la compréhension d'un langage objet. Par exemple, certains de mes articles sur les composants RAD voire les migrations se sont retrouvés dans des langages objets non RAD, comme Python.
Seulement il est nécessaire pour créer un langage RAD de disposer à la fois d'une base applicative et aussi d'améliorer les autres langages RAD libres. RUST peut donc être RAD grâce aux migrations à envisager pour C++ Builder, parce qu'une application faite avec cet outil peut rester compatible avec des composants partagés. Il sera cependant nécessaire d'accéder avec les migrations de C++ RAD vers RUST RAD à sûreté puis sécurité GNU Linux. RUST n'est pas qu'à envisager en RAD. Une seule application C++ Builder encore active peut permettre de créer un RUST RAD pour se passer de Windows.
Rappelons que le RAD permet la création d'applications, les logiciels pouvant utiliser RUST, Julia, Crystal, voire Go. Ces langages sont basés sur le compilateur Free Pascal 3, 3.2, 4. Il est possible de créer un RUST RAD pour récupérer les projets C++ Builder. Le C a été utilisé pour gérer la mémoire donc doit être évité pour la sécurité de ses nouveaux logiciels. Est-il plus facile de rejoindre une autre rive quand ces rives sont au même niveau ou quand elles sont décalées ?
Le Pascal peut être utilisé pour les jeux, si on utilise les pointeurs correctement. Les pointeurs sont protégés donc calculés en Pascal.
J'ai maintenu aussi le moteur libre Pascal de Sprites et de gravité Zen GL. Il est utilisé sur Steam par Lazarus.
André Langlet travaille sans doute toujours sur Ancestromania Delphi ISO. J'ai migré Ancestrologie GPL et le travail d'André, en créant des composants améliorés d'arborescence, quasi infinis pour le travail d'André sur le SGBD Firebird, après avoir partagé FreeLogy et sa moulinette. J'ai intégré VirtualTreeView et l'UTF 8 ensuite.
Je suis en train de créer l'IHM du projet Lazarus WebBooks :
[url]https://bitbucket.org/matthieugiroux/[/url][ATTACH]494138[/ATTACH]