S02E26 — 26-01-2026.
zsx l’enfant illégitime d’e4x.
jour 26.
Au sein du langage de programmation zo, j’ai intégré le mode templating. Si tu suis les speeches depuis la saison 1, tu as une idée à ce à quoi je fais écho. Pour ceux qui ne le savent pas — le mode templating se définit par un nouveau type pour les litérals </>. Ce type permet d’écrire du code ressemblant plus où moins à ce que les frameworks web modernes proposent. Allons à l’essentiel, il s’agit d’un html abonné à la salle de musculation.
fun main() {
imu name: str = "world";
imu comp: </> ::= <h1>hello, {name}!</h1>;
}
Tu commences à voir le potentiel je suppose ?! En soi, c’est un mariage syntaxique, que je trouve magnifique. Le combo programming/templating mode c’est au-dessus (que cette arrogance m’éloigne de toutes zbooneries). Revenons à nos gloutons, mais, d’où provient cette inspiration, parce que les frameworks web modernes n’ont rien inventés, puisque ECMAScript, un consortium de psychopates des droits de la propriété et détenteur du nom JavaScript sont en charge de faire évoluer et maintenir ce langage. A l’époque où ils étaient moins bornés du ciboulot se permettaient de lancer des projets assez osés notamment le fameux e4x.
Bon déjà, rien qu’à la syntaxe, tu captes que le truc est chaud:
//write XML directly using Literal XML
var customer = <customer id="A1101">
<firstName>Fred</firstName>
<lastNameName>Fred</lastName>
</customer>
//write XML using new XML()
var order = new XML(<order id="1111"><part id="12345" quantity="2"/></order>);
D’accord, je te l’accord, il n’y a pas d’interpolation (e.g. {name}). Cependant les fragments <></> étaient bel et bien dans l’hackerspace:
//write XMLList directly
var parts = <>
<part id="AA101" quantity="1"/>
<part id="BB102" quantity="2"/>
<part id="CC103" quantity="1"/>
</>
Je ne sais pas si tu te rend compte de la dinguerie qu’aurait pu être le Javascript avec ça dans les burnes. C’est une dinguerie. tu m’excuseras, mais pour ne pas te spoiler, j’ai affirmé qu’il n’y avait pas d’interpolation. Enfaite, cela existe:
var nextId = 1234;
var first = "John";
var last = "Smith";
var c = <customer number={nextId++}>
<name>
<first>{first}</first>
<last>{last}</last>
</name>
</customer>;
Lorsque je vois ça, je suis obligé d’applaudir, puisque je rappelle que nous sommes en 2004. React va arriver dix ans plus tard.
C’est de la que viens l’inspiration du zsx dans zo. zsx n’est rien d’autres que l’enfant illégitime de e4x. Une fonctionnalité qui était censé décuplé les capacités du JavaScript. Si c’était sortie est-ce que React, Svelte ou encore Vue auraient existés ? Nous aurions eut un standard que nous aurions raffiner au fur et à mesure des années.
« . »
TRiLU!