Rust, le langage du turfu ou le compilo te demande d'être explicite au lieu d'essayer de jouer à "qu'est-ce qu'il a voulu dire ? je sais pas, mais je vais générer un binaire quand même et on va croiser les doigts."
L’article semble plutôt orienté pour des gens ayant peu l’habitude des langages à typage statique. Contrairement à ce que le titre laisse entendre il ne s’agit pas de faire du Rust Bashing mais plutôt d’introduire certaines notions.
J’ai pas encore lu la totalité mais certains des points qu’il soulève ne surprendraient pas du tout un utilisateur de C++ ou quelqu’un qui connait un peu différents langages … sur la fin ça semble aborder des points un peu plus spécifiques à Rust.
En tout cas, c'est un article intéressant. Bien écrit, la dose d'humour nécessaire pour rendre ça agréable à lire, et qui explique le "pourquoi" de façon progressive.
Depuis le début, j'ai du mal à me mettre à Rust car je trouve que la syntaxe devient vite imbittable (je fais le même reproche aux versions modernes de C++ et de Java). A force de vouloir rajouter du sucre syntaxique, on a créé des langages qui flirtent avec l'hyperglycémie.
Là, certes la syntaxe reste lourde, mais l'approche pas à pas me redonne envie de m'y mettre (ce que je ne ferai probablement pas quand même pour une autre raison toute bête : je suis un gros faignant).
Je pense pas qu’il y ait vraiment des problèmes de sucre syntaxique avec Rust, ce qui semble rendre la syntaxe un peu cryptique, c’est ce que l’article essaye d’introduire : les annotations de type un poil plus sophistiquées que d’habitude.
Ça revient peu ou prou à introduire des spécifications dans le langage, comme des pré ou post conditions dans d’autres langage, et c’est presque un "langage dans le langage" et donc quasi une autre syntaxe. On retrouve ce phénomène avec les template de C++. Mais ça n’a rien à voir avec du sucre syntaxique mais avec la recherche de correction du code en annotant avec des "propriétés logiques" et des fonctionnalités qui vont avec.
Ce que je trouve le mieux fait dans cet article c'est que le cheminement le même est exactement le même que celui qu'on peut avoir quand on essaye de jouer un peu avec le langage sans encore tout maîtriser.
Et je suis d'accord avec toi, la syntaxe de rust est souvent un peu lourde.
Justement je trouve que java comme c++ simplifient l'écriture et la lecture de code avec les lambda; le java avant le 8 étaient une horreur en terme de new AbstractAction; où pour créer un bouton exécutant une fonction on en avait pour un paquet de ligne d'enrobage; alors que maintenant on fait juste un 'new Button(plop::travaille)'
C’est sûrement ça le problème, le sucre syntaxique c’est ce qui te permet d’écrire les choses de manière un peu plus pratique sans rien changer à la sémantique.
Attribuer une supposée lourdeur à du sucre syntaxique c’est à peu près l’inverse : dans un premier temps on comprend pas pourquoi le truc est là et à quoi ça sert, le premier réflexe est d’attribuer ça à la syntaxe quand on a un peu d’expérience et qu’on s’attend à tout comprendre. Mais … ce que l’article montre avec les exemples c’est que les fonctionnalités de Rust ne sont pas là pour emmerder le monde et juste pour rien, ni pour écrire plus simplement quelque chose sans rien changer au sens, elles sont là pour garantir que certains bugs sont absents. Garanties qui sont souvent absentes d’autres langages ou alors qui ont un cout plus important. Et dans lesquels il est impossible de spécifier l’information donc il n’y a pas besoin de syntaxe. Ces des syntaxes qui sont essentielles pour assurer une nouvelle sémantique, soit exactement l’inverse.
Après parler de "lourdeur" de la syntaxe, c’est bien vague et donc potentiellement subjectifs. D’autres langages comme les langages type Ocaml ou Haskell ont des syntaxes différentes, potentiellement moins lourdes mais qui ressemble à rien d’habituel et qui sont aussi critiquées … et pas très populaires.
# borrowed time
Posté par jseb . Évalué à 0.
rust, le langage du turfu où tu fais le boulot du compilo.
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: borrowed time
Posté par David Delassus (site web personnel) . Évalué à 7.
Ou plutôt :
Rust, le langage du turfu ou le compilo te demande d'être explicite au lieu d'essayer de jouer à "qu'est-ce qu'il a voulu dire ? je sais pas, mais je vais générer un binaire quand même et on va croiser les doigts."
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: borrowed time
Posté par barmic 🦦 . Évalué à 0.
Tu parle des undefined behavior ou de l'inférence de type ? Aucun des 2 ne sont présents dans la majorité des langages.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# Orientation de l’article
Posté par Thomas Douillard . Évalué à 7.
L’article semble plutôt orienté pour des gens ayant peu l’habitude des langages à typage statique. Contrairement à ce que le titre laisse entendre il ne s’agit pas de faire du Rust Bashing mais plutôt d’introduire certaines notions.
J’ai pas encore lu la totalité mais certains des points qu’il soulève ne surprendraient pas du tout un utilisateur de C++ ou quelqu’un qui connait un peu différents langages … sur la fin ça semble aborder des points un peu plus spécifiques à Rust.
[^] # Re: Orientation de l’article
Posté par Dring . Évalué à 10.
En tout cas, c'est un article intéressant. Bien écrit, la dose d'humour nécessaire pour rendre ça agréable à lire, et qui explique le "pourquoi" de façon progressive.
Depuis le début, j'ai du mal à me mettre à Rust car je trouve que la syntaxe devient vite imbittable (je fais le même reproche aux versions modernes de C++ et de Java). A force de vouloir rajouter du sucre syntaxique, on a créé des langages qui flirtent avec l'hyperglycémie.
Là, certes la syntaxe reste lourde, mais l'approche pas à pas me redonne envie de m'y mettre (ce que je ne ferai probablement pas quand même pour une autre raison toute bête : je suis un gros faignant).
[^] # Re: Orientation de l’article
Posté par Thomas Douillard . Évalué à 6.
Je pense pas qu’il y ait vraiment des problèmes de sucre syntaxique avec Rust, ce qui semble rendre la syntaxe un peu cryptique, c’est ce que l’article essaye d’introduire : les annotations de type un poil plus sophistiquées que d’habitude.
Ça revient peu ou prou à introduire des spécifications dans le langage, comme des pré ou post conditions dans d’autres langage, et c’est presque un "langage dans le langage" et donc quasi une autre syntaxe. On retrouve ce phénomène avec les template de C++. Mais ça n’a rien à voir avec du sucre syntaxique mais avec la recherche de correction du code en annotant avec des "propriétés logiques" et des fonctionnalités qui vont avec.
[^] # Re: Orientation de l’article
Posté par Lutin . Évalué à 4.
Ce que je trouve le mieux fait dans cet article c'est que le cheminement le même est exactement le même que celui qu'on peut avoir quand on essaye de jouer un peu avec le langage sans encore tout maîtriser.
Et je suis d'accord avec toi, la syntaxe de rust est souvent un peu lourde.
[^] # Re: Orientation de l’article
Posté par fearan . Évalué à 6.
Justement je trouve que java comme c++ simplifient l'écriture et la lecture de code avec les lambda; le java avant le 8 étaient une horreur en terme de new AbstractAction; où pour créer un bouton exécutant une fonction on en avait pour un paquet de ligne d'enrobage; alors que maintenant on fait juste un 'new Button(plop::travaille)'
à comparer avec un
de même pour les lambda en c++ qui permettent d'utiliser les algorithme de la stl sans se faire de nœud au cerveau.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Orientation de l’article
Posté par Thomas Douillard . Évalué à 4.
C’est sûrement ça le problème, le sucre syntaxique c’est ce qui te permet d’écrire les choses de manière un peu plus pratique sans rien changer à la sémantique.
Attribuer une supposée lourdeur à du sucre syntaxique c’est à peu près l’inverse : dans un premier temps on comprend pas pourquoi le truc est là et à quoi ça sert, le premier réflexe est d’attribuer ça à la syntaxe quand on a un peu d’expérience et qu’on s’attend à tout comprendre. Mais … ce que l’article montre avec les exemples c’est que les fonctionnalités de Rust ne sont pas là pour emmerder le monde et juste pour rien, ni pour écrire plus simplement quelque chose sans rien changer au sens, elles sont là pour garantir que certains bugs sont absents. Garanties qui sont souvent absentes d’autres langages ou alors qui ont un cout plus important. Et dans lesquels il est impossible de spécifier l’information donc il n’y a pas besoin de syntaxe. Ces des syntaxes qui sont essentielles pour assurer une nouvelle sémantique, soit exactement l’inverse.
Après parler de "lourdeur" de la syntaxe, c’est bien vague et donc potentiellement subjectifs. D’autres langages comme les langages type Ocaml ou Haskell ont des syntaxes différentes, potentiellement moins lourdes mais qui ressemble à rien d’habituel et qui sont aussi critiquées … et pas très populaires.
# C'est terrible
Posté par Élafru . Évalué à 6.
Absolument scandalisé que le jeu de mot f-rust-rated n'ait été déployé nul part ni dans l'article, ni dans les commentaires ici.
[^] # Re: C'est terrible
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 2.
Le jeu est plutôt dans les notes : fast/first/free rated
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.