En bref

(Nhat Minh Lê (rz0) @ 2009-11-16 11:23:15)

Et non, le blog n’est pas mort, ahem, enfin. bluestorm et moi sommes juste très occupés. Mais, au détour d’une discussion IRC, il m’a convaincu de dire deux mots sur le nouveau machin de Google (Go). Je peux en profiter pour dire deux mots sur le pas-si-nouveau-que-ça machin d’OS X (GCD). Et oui, que voulez-vous, on n’est pas vraiment in sync with da hype.

Honnêtement, je n’ai pas grand chose à dire, là-dessus. Globalement, comme presque toujours, je suis sceptique (not impressed), surtout pour Go. Pour citer bluestorm, « la syntaxe ne casse pas de briques ». En fait, je ne vois pas l’intérêt de la nouvelle syntaxe ; la rationale est franchement faiblarde et l’intérêt que je vois à maintenir une certaine compatibilité avec les autres descendants syntaxiques du C (Java, C#, etc.) aurait largement justifié de ne pas dévier à ce point. Mais pourquoi s’attarder sur la syntaxe, après tout… bah parce que du reste, je ne suis pas franchement convaincu par la nouveauté de ce langage, qui n’est pas sans rappeler, à mon avis, Alef, pour le côté « on rajoute des machins au C pour gérer la concurrence et quelques types de données pratiques ». Bref, à mon avis, les vieux gurus risquent un peu trop leur peau, du moins leur réputation, en jouant à ce jeu-là.

Le machin d’Apple est sans doute plus rigolo, et ça a l’avantage d’être déployé, et blah et blah. Je n’ai rien contre le principe : on a vraiment besoin d’outils pratiques pour faire de la concurrence en C… par contre je conchie ((c) conno) la syntaxe des blocs de clang. Je trouve que ça ne ressemble pas à du C, et que l’on aurait pu utiliser une syntaxe dérivée des littéraux composés du C99 (quelque chose comme (T (args)){ ... }), quitte à ajouter un qualificateur particulier (fat ? :p) pour les pointeurs de blocs (après tout, ils le font déjà pour les variables lexicalement accessibles de manière imbriquée). Pourquoi ? Parce qu’avec une syntaxe comme celle qui est actuellement implantée, aussi distante du C classique, je vois mal comment on pourrait voir ce genre de fonctionnalités devenir ne serait-ce que vaguement standard un jour ! J’ai toujours voulu avoir des fermetures lexicales en C… et je pense que les idées sous-jacentes ne sont pas dégueulasses, mais je prie pour que cette syntaxe- ne devienne jamais quelque chose que l’on pourrait appeler, en toute bonne foi, du C.

…et pendant ce temps-là, au p^W^W blue, lui, se touche plutôt sur ATS. Ne m’en demandez pas trop, je n’ai pas vraiment eu le temps de regarder en détail, mais à vue, c’est hum, un nouveau langage avec une syntaxe fonctionnelle et une théorie sous-jacente probablement trop-bien-et-tout-aussi-compliquée.

Voilà, voilà, à bientôt, pour de nouvelles aventures !