S01E33 — 30-08-2024.
Tricher c’est le mal! FAUX!.
jour 33.
Tel un restaurateur qui s’invite secrètement chez son concurrent, hier, j’ai fais un petit tour des sites internets des langages de programmation. J’enchaîne les visites, je prends des notes sur ce que je trouve bien et pas ouf du tout.
Au fur et à mesure des visites, je commence à avoir une idée clair de l’expérience que je souhaite offrir. Comprends ici que je deviens plus exigeant. Arrive le tour de visiter le site de du langage Zig. Mmmmh, déjà premier truc qui me frappe c’est le design, mais ça on s’en tape. Ne jamais prendre le design en compte. Cela tombien il y a un exemple de code… que je lis. Un commentaire invite le visiteur que je suis à effectuer une action. VAsy, je rentre dans le délire, le commentaire dit :
// Ensure the list is freed at scope exit.
// Try commenting out this line!
Guidé par ma curiosité, je clique dans ce qui se présente comme un éditeur de texte afin de mettre en sourdine la ligne correspondante. Bizarre, je ne vois pas le curseur. VAsy, je clique à nouveau. Rien ne se passe, chelou — je décide de cliquer en rafale, toujours rien.
« T’es entrain de me dire que Zig, un langage de huit d’âge n’a pas d’éditeur de code interactif ? — oui — non, je ne te crois pas. — bah pourtant c’est sous tes yeux non ? — il est vrai. Attends, laisse moi faire mes recherches. »
Je continue mon exploration, après avoir cliquer sur le bouton “Encore plus d’examples”.
« Non mais c’est quoi l’dél là ? — qu’est-ce qu’il y a encore, pourquoi tu m’invoques — non mais tu ne vois pas que tous les examples sont statiques. — bien sûr, je te signale que je vois ce que tu vois en même temps que toi. — Ouais ouais, c’est bon, n’essaye même pas de m’intoxer toi. »
Je suis abasoudie. Nous sommes le 29 août 2024 et il est 3h23 du matin et nous ne sommes pas capables d’avoir un semblant d’interactivité sur un site spécialisé dans l’écriture de compilateurs et tous les outils autour. Puis je trouve que ça, annihile complètement l’expérience utilisateur. Ce qui te force à vouloir installer le projet sur ta machine sans être convaincu du produit, sans l’avoir testé. Qu’est-ce t’en penses toi qui me lit ?
Et, ce n’est pas tout. La coloration syntaxique des exemples de code positionner en tête de gondole sur le site font de la peine à voir. Je repasserai… ou pas. Deux chances que je donne à ce langage, je vais lui donner une troisième. Cette fois-ci, je vais directement chercher sur internet s’il existe un REPL Zig. Vu que le site official n’en parle pas, c’est surement un oubli. Mais pas du tout, il n’y a officiellement pas de REPL, pas de quoi faire joujou. Oh bah c’est grave pété.
J’ai trouvé une issue qui en parle avec une réponse directe du créateur du langage. La première requête a été faite le 7 novembre 2017.
Et ce n’est que trois belles années après, le 9 Octobre pour être précis qu’un petit bout de la fonctionnalité vois le jour. La réponse d’Andrew Kelley est la suivante :
« This is essentially implemented with the new —watch flag. There are plenty of missing REPL features to be implemented, and those can be separate issues. »
Là, tu sens que le mec à bricoler un truc en 2spi, enfin en trois ans mais 2spi en mode, ça ne roule pas des mécaniques quoi. Bah une année après à deux jours près, le 7 octobre exactement. Un utilisateur s’interroge sur l’utilisation de --watch. Tu m’étonnes le mec, il veut juste un REPL. Surtout que sur la toile, tout le monde se la pète, avec leur Zig REPL, certes non officiels mais fonctionnels. L’utilisateur rétorque alors :
« following up on this. is there a guide on how to use —watch? If I just wanted to evaluate some copy and paste zig code from the net. what’s the best way to evaluate it? »
Un pote qui a reçu 10 pouce en l’air de la communauté. Mais qui est resté sans réponse. Aujourd’hui, il n’y a toujours pas de REPL officiel. Je ne sais pas si tu te rends compte. Même godbolt en ont implémenter un, tu n’as qu’à aller regarder le code et capter la vibe et le refaire. On parle d’un vieux REPL quand même. C’est l’un des premiers trucs que tu fais pour commencer à jouer avec ton langage. Dans un an, j’y retournerai, juste pour voir.
T’inquiètes même pas qu’il y aura un REPL sur le site officiel zo. On va faire les choses bien ma gueule. C’est la base, tous les vrais langages ont un terrain de jeu officiel pour jouer depuis un navigateur web.