Il n’empêche, cela me fait plaisir de voir le langage trancher dans le vif au risque de casser la compatibilité. Je préfère ça que de rester enfermé dans des erreurs et devoir les traîner par la suite.
Par contre ça veut dire que mon code fait pour tester le langage ne compile plus aujourd’hui, et comme je n’ai pas vraiment pratiqué depuis, il me faudra me replonger dedans pour le mettre à niveau !
Oui c'est sûr que Zig n'arrête pas de bouger, entre la refonte des Io, les changements perpétuelles dans le système de build, ça doit être difficile à suivre quand on a un produit codé avec…
Perso, pour l'instant je suis les choses de loin, je trouve l'approche radicale dans une recherche permanente de la bonne abstraction, la bonne API sans perdre en performance.
Bon après, clairement Rust s'est imposé partout, même sur le créneaux de prédilection de Zig : Bun a été recodé en Rust par exemple (bon ça a été racheté par Antropic tout ça, mais c'est un exemple assez marquant je trouve).
Ce que j'aime bien c'est qu'ils ne cherchent pas cette forme de reconnaissance, ils veulent juste faire les choses "bien" et ont visiblement le temps et les moyens pour le faire :).
Oui mais "vouloir" faire les choses bien ne donne pas forcément un bon produit. Rust est 100 fois mieux, surtout à l'ère de l'IA. On a besoin d'un langage qui produit un binaire performant et fiable ou la productivité du langage est relégué au second plan. Et Rust n'est pas improductif non plus par contre Zig n'est pas aussi fiable que Rust.
Dit autrement, quel projet se dit : ce n' est pas grave s'il y a des failles de sécurité ?
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
Oui mais "vouloir" faire les choses bien ne donne pas forcément un bon produit.
Zig est déjà un meilleur C :).
C'est sûr qu'en terme de maturité et de sécurité mémoire, Rust bat Zig et c'est d'ailleurs pour ça que tant de projets historiquement codés en C/C++ sont réécrit en Rust.
Mais Zig cherche autre chose et n'a pas du tout la même philosophie.
Concernant la gestion de la mémoire, à ce que j'ai compris Zig envisage d'avoir des mécanismes similaires à ceux de Rust, juste ils veulent le faire à leur manière et sans doute cela viendra quand le langage sera plus mature.
Comme je disais, ils prennent le temps et ont visiblement les sous et la communauté donc perso je trouve ça cool.
Pour certains projets je trouve que Zig est plus pertinent, notamment dans l'embarqué. Je sais que Rust compile aussi sur pas mal de matos, mais le côté hyper proche du matos et surtout zéro abstraction m'attire plus. De plus, Rust apporte beaucoup de nouveaux concepts en plus du borrow checker qui le rende pas forcément évident à apprendre et il a ses défauts (par exemple le fonctionnement de unsafe etc.).
Quoiqu'il en soit Zig n'est pas encore en v1 alors que Rust est super mature et a plein de super librairies, la comparaison ne tient donc pas : pour plein de projets commerciaux ou critiques, c'est Rust sans hésiter.
L'approche de Zig reste néanmoins très intéressante.
À titre pro et perso, j'ai d'ores et déjà remplacé le build système CMake par zig pour les projets embarqués. La gestion des dépendances via build.zig.zon et le système de cache en local est vraiment très appréciable. Le seul point problématique pour le moment est l'absence de compile_commands.json mais c'est en cours d'intégration.
# On est encore loin de la perfection
Posté par chimrod (site web personnel) . Évalué à 8 (+6/-0).
… il reste encore plein de choses à enlever !
Il n’empêche, cela me fait plaisir de voir le langage trancher dans le vif au risque de casser la compatibilité. Je préfère ça que de rester enfermé dans des erreurs et devoir les traîner par la suite.
Par contre ça veut dire que mon code fait pour tester le langage ne compile plus aujourd’hui, et comme je n’ai pas vraiment pratiqué depuis, il me faudra me replonger dedans pour le mettre à niveau !
[^] # Re: On est encore loin de la perfection
Posté par Andréas Livet . Évalué à 4 (+2/-0).
Oui c'est sûr que Zig n'arrête pas de bouger, entre la refonte des Io, les changements perpétuelles dans le système de build, ça doit être difficile à suivre quand on a un produit codé avec…
Perso, pour l'instant je suis les choses de loin, je trouve l'approche radicale dans une recherche permanente de la bonne abstraction, la bonne API sans perdre en performance.
Bon après, clairement Rust s'est imposé partout, même sur le créneaux de prédilection de Zig : Bun a été recodé en Rust par exemple (bon ça a été racheté par Antropic tout ça, mais c'est un exemple assez marquant je trouve).
Ce que j'aime bien c'est qu'ils ne cherchent pas cette forme de reconnaissance, ils veulent juste faire les choses "bien" et ont visiblement le temps et les moyens pour le faire :).
[^] # Re: On est encore loin de la perfection
Posté par abriotde (site web personnel, Mastodon) . Évalué à 1 (+1/-2).
Oui mais "vouloir" faire les choses bien ne donne pas forcément un bon produit. Rust est 100 fois mieux, surtout à l'ère de l'IA. On a besoin d'un langage qui produit un binaire performant et fiable ou la productivité du langage est relégué au second plan. Et Rust n'est pas improductif non plus par contre Zig n'est pas aussi fiable que Rust.
Dit autrement, quel projet se dit : ce n' est pas grave s'il y a des failles de sécurité ?
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: On est encore loin de la perfection
Posté par Andréas Livet . Évalué à 5 (+3/-0).
Zig est déjà un meilleur C :).
C'est sûr qu'en terme de maturité et de sécurité mémoire, Rust bat Zig et c'est d'ailleurs pour ça que tant de projets historiquement codés en C/C++ sont réécrit en Rust.
Mais Zig cherche autre chose et n'a pas du tout la même philosophie.
Concernant la gestion de la mémoire, à ce que j'ai compris Zig envisage d'avoir des mécanismes similaires à ceux de Rust, juste ils veulent le faire à leur manière et sans doute cela viendra quand le langage sera plus mature.
Comme je disais, ils prennent le temps et ont visiblement les sous et la communauté donc perso je trouve ça cool.
Pour certains projets je trouve que Zig est plus pertinent, notamment dans l'embarqué. Je sais que Rust compile aussi sur pas mal de matos, mais le côté hyper proche du matos et surtout zéro abstraction m'attire plus. De plus, Rust apporte beaucoup de nouveaux concepts en plus du borrow checker qui le rende pas forcément évident à apprendre et il a ses défauts (par exemple le fonctionnement de unsafe etc.).
Quoiqu'il en soit Zig n'est pas encore en v1 alors que Rust est super mature et a plein de super librairies, la comparaison ne tient donc pas : pour plein de projets commerciaux ou critiques, c'est Rust sans hésiter.
L'approche de Zig reste néanmoins très intéressante.
[^] # Re: On est encore loin de la perfection
Posté par uneTanche (site web personnel, Mastodon) . Évalué à 2 (+1/-0).
À titre pro et perso, j'ai d'ores et déjà remplacé le build système CMake par zig pour les projets embarqués. La gestion des dépendances via
build.zig.zonet le système de cache en local est vraiment très appréciable. Le seul point problématique pour le moment est l'absence decompile_commands.jsonmais c'est en cours d'intégration.Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.