WebAssembly donne un second souffle aux langages de programmation dans le navigateur
Et si programmer n'était qu'une question de navigateur ?
Tu te souviens de la dernière fois que tu as voulu tester un nouveau langage de programmation ? Il fallait télécharger un interpréteur, bidouiller ta configuration, et prier pour que tout fonctionne avec ton OS. Cette friction seule suffit à te décourager.
Et si tu pouvais simplement ouvrir un onglet et commencer à coder ?
Le navigateur devient terrain de jeu
C'est exactement ce qui se passe avec Klong, un petit langage de programmation array créé par Nils M Holm. Quelqu'un a compilé l'interpréteur C de Holm en WebAssembly et l'a intégré dans une interface style notebook. Pas d'installation. Pas de dépendances serveur. Juste toi, ton navigateur, et des opérations sur des tableaux.
Le notebook fonctionne comme un mini Jupyter — les cellules partagent l'état de l'interpréteur, tu peux les exécuter individuellement ou ensemble, et ton travail persiste en local. Tu peux même exporter tes notebooks en fichiers .kg et les partager.
Pourquoi les langages array comptent toujours
Les langages comme Klong, J et APL ont une communauté fidèle pour de bonnes raisons. Ils permettent d'exprimer des opérations complexes avec une concision remarquable. Voici un vérificateur de nombres premiers :
prime::{&/x!:\2+!_x^1%2}
prime(97)
Pas de boucles. Pas d'index. Pas de variables temporaires. L'algorithme entier tient sur une seule ligne, opérant sur des tableaux entiers.
Cette façon de penser — traiter les opérations comme des transformations sur des structures de données plutôt que des instructions impératives — peut changer fondamentalement ta façon d'aborder les problèmes. Même si tu n'écris jamais de code en production dans un langage array, les modèles mentaux transferent vers du code plus propre et expressif au quotidien.
WebAssembly : le grand égalisateur
L'histoire technique intéressante ici, c'est WebAssembly. Au lieu de réécrire Klong en JavaScript (un travail énorme pour un langage avec son propre interpréteur), le développeur a compilé l'implémentation C existante directement en WASM. Résultat : un pont léger qui envoie le code source à l'interpréteur tandis qu'un web worker gère l'exécution, empêchant les programmes défectueux de freezer le navigateur.
Ce pattern devient de plus en plus courant. Les systèmes legacy écrits en C ou C++ peuvent maintenant atteindre le navigateur sans réécriture complète. Ça démocratise l'accès à des outils puissants qui resteraient autrement confinés aux installations desktop.
Réduire la friction pour expérimenter
Pour les développeurs curieux de programmation fonctionnelle ou array, les environnements basés sur le navigateur suppriment le plus gros obstacle : la friction. Tu peux expérimenter pendant ta pause déjeuner, tester des exemples d'un tuto, et garder des résultats utiles sans t'engager dans un environnement de développement complet.
Cette accessibilité compte. La meilleure façon de comprendre pourquoi les gens adorent ces langages, c'est de les ressentir toi-même — pas de lire de la documentation à leur sujet.
Que tu sois une startup explorant de nouveaux paradigmes, un développeur curieux de styles de programmation différents, ou simplement quelqu'un qui appreciate les solutions élégantes, les environnements de programmation dans le navigateur comme ce notebook Klong représentent ce genre d'expérimentation sans friction qui aide la communauté dev à évoluer.
Parfois, le meilleur outil pour apprendre quelque chose de nouveau est simplement celui avec lequel il est le plus facile de commencer.