Greboca  

Suport technique et veille technologique

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

LinuxFr.org : les journaux  -  Nouveautés issues du petit monde du FORTH

 -  Juillet 2024 - 

Le langage FORTH, inventé par Charles Moore dans les années 1960, pourrait facilement laisser penser qu'il est devenu totalement désuet : en effet, sa dernière version officielle, FORTH 2012, date de 2014, et il en va de même pour son implémentation libre la plus avancée, GNU FORTH (gforth 0.7.3), qui remonte également à la même année.

Qu'en est-il ?

Dans les faits, il semble effectivement un peu passé de mode, et ne possède évidemment pas l'engouement actuel pour Python ou Rust, ni la formidable quantité de bibliothèques additionnelles qui forment un écosystème pour du développent moderne. Est-ce un avantage, ou un inconvénient ?

Le Forth est un langage à pile possédant un dictionnaire de mots agissant sur cette pile. Un programme Forth définit de nouveaux mots qui s'ajoutent à ce dictionnaire. De part sa forte expressivité, il est possible de l'étendre et de le personnaliser facilement, aussi ce langage organique voire anarchique a été standardisé en 1994 et adopté en tant que standard international en 1997.

Les critiques que l'on fait souvent au Forth c'est que c'est un langage parfois en « lecture seule », dans le sens où le code peut devenir difficile à suivre et relire s'il n'est pas suffisamment commenté, notamment pour suivre les échanges avec la pile.

Néanmoins, sa force est également l'extrême liberté que l'on peut ressentir en l'utilisant, car il n'y a pas de garde-fou ni de limite à ce que l'on peut faire avec.

Ainsi si par exemple on redéfinit un nombre (dans l'exemple plus bas 8 en 4), il prendra pour la suite la nouvelle valeur assignée à ce symbole :

: 8 4 ; 
*terminal*:1:7: warning: defined literal 8 as word ok
5 8 + . 9  ok

On peut ensuite revenir au symbole d'origine :

: 8 #8 ." c'est redevenu un huit ! " cr ; 
*terminal*:12:38: warning: redefined 8
*terminal*:10:3: warning: original location ok
5 8 + . c'est redevenu un huit ! 
13  ok

C'est un exemple extrême, mais qui illustre bien que tout est possible en Forth : on définit les nouveaux mots du vocabulaire avec la notation :
:
définition
;

Ce qui est appréciable également avec cette notion de mots à créer, c'est que contrairement à d'autres langages, il n'y a pas obligatoirement de parenthèses pour indiquer les passages de paramètres, et cela rend l'écriture plus directe et expressive. Pour certains programmeurs, Forth c'est un mode de vie, et c'est également un retour aux fondations de l'informatique.

Les communautés existantes se comptent en quelques milliers d'adeptes seulement (sur reddit, sur facebook ou ailleurs), malgré tout elles sont dynamiques et originales. Il ressort également que beaucoup de monde a écrit "son" propre FORTH, comme une sorte de rite de passage. Et le fait est que même si c'est sans doute pas trivial, ça ne semble pas être si compliqué que ça. La recette, c'est un cœur souvent écrit en assembleur ou en C, avec quelques mots de base permettant de définir de nouveaux mots.

Un exemple : milliforth, dérivé de sectorforth, le coeur est en asm : https://github.com/fuzzballcat/milliForth/blob/master/sector.asm
le reste de la programmation s'effectuera en forth pur, à partir des quelques 13 mots de base :
https://github.com/fuzzballcat/milliForth/blob/master/hello_world.FORTH

Et la petite cinquantaine de mots rajoutés dans ces définitions permettront de sortir enfin un "hello world".

En plus de la gymnastique mentale qu'implique de l'utiliser sur son PC, et qui reste d'actualité, il y a quantité d'excellents FORTH sur les microcontrôleurs de type Arduino, ESP32 ou Raspberry Pico, et ils présentent des avantages en terme d'empreinte mémoire ou de praticité (on peut éditer le code directement sans reflasher la carte). Voici un site complet sur le sujet, en français, avec de nombreuses documentations et didacticiels : https://esp32.arduino-forth.com/

Ce système a donc ses partisans, souvent de vieux geeks pionniers de l'informatique qui ne jurent que par FORTH, mais aussi ses détracteurs qui notent également à juste titre un héritage un peu lourd et qui peut s'avérer obsolète ou fastidieux.

Mais on trouve également de nouveaux adeptes qui viennent apporter un sang neuf à la communauté du FORTH. Je vais lister ici quelques projets qui ont attirés mon attention récemment :

Il y a pléthore de logiciels permettant de faire tourner FORTH, certains sont compatibles entre eux, d'autres moins ou pas du tout, certains donnent accès à l'interface graphique et d'autres pas du tout. Il est difficile de s'y retrouver, mais l'exploration et la découverte sont un exercice divertissant, voire rafraîchissant. Je n'ai pas réellement trouvé de logiciel tout en un qui réunit toutes les qualités pour permettre de développer facilement des logiciels avec des interfaces modernes, même si gforth semble s'en rapprocher le plus. D'ailleurs si vous souhaitez vous lancer dans cette aventure, je vous conseille de compiler la version de développement de gforth, qui a beaucoup plus de fonctionnalités que la version stable d'il y a 10 ans. Parfois je me dis que plutôt que de m'obstiner dans la voie du FORTH, je ferais mieux d'étudier python (mais je n'aime pas du tout), ou ruby, ou autre chose, mais malgré tout, on retrouve une sorte d'ascèse qui m'attire encore et toujours dans le FORTH…

J'ai réalisé un petit site qui présente mes recherches, pour le moment surtout dans des essais graphiques en mode turtue, des aventures textuelles, donc ça ne va pas bien loin, mais je m'amuse bien avec tout ceci :

Le plus complexe que j'ai pu réaliser jusqu'à présent c'est un petit générateur de schéma en origami pour réaliser des pochettes de cartes (à partir de la largeur et l'épaisseur), ainsi que l'ébauche d'un petit jeu (du cochon) tournant sur Nintendo DS via la machine virtuelle UXN.

FORTH est une sorte d'ovni dans le paysage de l'informatique, plus en avance que le Basic dans les années 70 et 80, mais également plus complexe, il a toujours été un marché de niche, et il peut sembler anachronique de continuer à l'utiliser en 2024. Pourtant FORTH a et aura toujours sa raison d'être, il semble indéboulonnable et continue d'attirer la curiosité.

Commentaires : voir le flux Atom ouvrir dans le navigateur

par zurvan

LinuxFr.org : les journaux

LinuxFr.org : Journaux

Pâques, le bug d'Excel et la difficile adaptation de LibreOffice

 -  25 avril - 

Sommaire Où l'on décide de la date de Pâques Ce cher Jules 1254 ans fast forward Le calendrier julien révisé Bon, et Excel, dans tout ça ? LibreOffice (...)


Sauver des données embarquée à dos d'outarde

 -  8 avril - 

Ou comment l'association GEBULL, petit GUL de province, a contribué à une étude scientifique.À la fin du mois de novembre 2021, une balise de suivi (...)


IA : Imitation Artificielle

 -  28 mars - 

Bonjour Nal',Tout le monde cause de l'IA. L'IA par ci, l'IA par là. L'IA dans les journaux qui trouvent qu'il y a trop d'IA.Ça commence à (...)


Un super Logic Analyzer DIY pour pas cher

 -  26 mars - 

Wouah, le titre cryptique. Un peu de Wikipedia pour éclaircir (j’espère que c'est mieux que ChatGPT):L’analyseur logique est un outil de mesure (...)


Mise a jour de la traduction française du Wiki de Scribus

 -  24 mars - 

Je viens de commencer à mettre à jour la traduction française du Wiki du logiciel de Publication Assistée par Ordinateur (PAO) Scribus (équivalent (...)