fdecode,
J'ai du mal a comprendre cette remarque fdecode, car si depuis 2016, je cite "on perçoit que la stabilisation de l'ensemble converge", cela veut dire pour moi que cette "convergence" (et donc la stabilisation) n'est pas aboutie, mais je comprend peut-être mal votre propos. Ne vous méprenez pas, je n'ai rien contre Rust, j'ai même dans le cadre du développement de mon petit langage, étudié de près le mécanisme de sécurisation mémoire, et donc le Borrow Checker.
Non, je n'ai pas développé d'application en Rust d'ampleur suffisante, et je n'ai pas rencontré d'instabilité. Je réagissais juste aux propos d'Uther, qui disait (et il s'y connait nettement mieux que moi en Rust, sans aucun doute possible), que des "éditions" pouvaient permettre de modifier la syntaxe. Je ne parle pas d'instabilité technique, mais d'instabilité syntaxique, même si je suppose qu'il y'a moyen de maîtriser ces éditions. A ce propos, pourquoi faire apparaître différentes éditions à large diffusion ? Cela reste un peu confus. Tous les langages évoluent, mais entendre parler de différentes éditions public, cela est rare, non ? Ou alors je n'ai pas compris quelque chose, ce qui est sans doute le cas.
Je n'en doute pas une seule seconde. Comme je l'ai expliqué, j'ai plus étudié le langage que je ne l'ai utilisé et je manque très certainement de pratique, d'où peut-être une certaine confusion de ma part sur certains sujets. Je l'ai étudié principalement pour comprendre son mécanisme de sécurisation de la mémoire. Rust est, me semble-t-il, une très bonne avancée, mais on ne peut pas (du moins, moi je ne peux pas) connaître, étudier ni utiliser 25 langages en en maîtrisant toutes les arcanes.
De part mon parcours, j'ai plus d'expérience en C, Assembleur, et en Python.
Je ne me permet pas de remettre en cause le jugement de personnes plus compétentes que moi sur un sujet, mais il m'arrive, lorsque des sujets sont débattu, de m'interroger et donc de questionner.
Oui, j'avoue que je n'ai pas été très précis en utilisant le terme "développement classique". C'était à mettre en perspective avec le fait que, par expérience, j'évite d'utiliser les fonctionnalités trop spécifiques à un langage. Je suis plutôt adepte de m'en tenir aux bases, afin que le code que j'écris reste lisible et facilement compréhensible même par d'autres qui n'auraient pas encore atteint (et c'est un processus bien normal, cela ne se fait pas en 1 jour) le même niveau.
Par exemple, en Python, il y'a moyen d'utiliser des decorators pour des propriétés, mais on peut avoir le même résultat en utilisant simplement une fonction qui en appelle une autre. Appeler une fonction, tout le monde comprend vite, utiliser les decorators (même s'ils ont des avantages), c'est une petite couche de complexité en plus dans le code. Oui, je suis plutôt très conservateur en cela.
J'ai laissé tombé le C++ justement à cause des templates. Le livre de 700 pages d'Andrusescu, il y'a bien longtemps, m'a tout simplement dégoûté du C++ (dont j'aimais les premières versions (on le nommais à l'époque encore le C avec des class)), tant cela était démesuré par rapport aux besoins qu'étaient les miens. De la même manière le livre GoF, traitant des "Design Patterns" (qui ne sont que la formalisation de techniques récurrentes et déjà largement répandues à l'époque) m'a semblé un rien Too much... Je me suis tourné vers Python, avec lequel 75% de ces fameux "Design Patterns" sont tout simplement inutiles, de par la nature même de Python.
Et je préfère la composition à l'héritage. Je vois plus un objet comme une entité qui fait des choses, et le définir en tant qu'entité possédant certaines données ET coupler les deux, n'est pas, de mon point de vue la bonne approche POO. Cela s'éloigne de la POO tel que décrite initialement par son créateur (Alan Kay si j'ai bonne mémoire - je vieillis tout doucement :-))
Alors, oui, j'aime simplifier les choses au maximum, cela m'a permit de maintenir sans soucis des projets durant des dizaines d'années. Je ne prétend pas que ma façon de faire et LA bonne méthode, mais dans mon cas, tant sur des projets Pro que sur des projets Perso, c'est une méthode que je n'ai jamais eue a regretter.
Pour les coroutines, ce n'est pas un concept nouveau, loin de là. Mais (je travail dans l'embarqué), lorsqu'on utilise un RTOS (même un µRTOS), les "coroutines" perdent beaucoup de leur intérêts. Je ne me prononce pas pour d'autres domaines.
Là, je ne suis pas trop en accord. Soit le langage a intégré des choses non essentielles (puisqu'on pourrait les retirer, pour rationaliser), soit, et ce serait surprenant (car ce n'est tout de même pas le premier langage développé), les bases du langage n'ont pas été assez pensées. C'était peut-être une obligation à l'époque des débuts de Rust, dont l'équipe qui l'a développé avait très certainement des contraintes a respecter, je n'en sais rien. Mais cela reste tout de même un petit mystère pour moi, car l'équipe derrière Rust est sans aucun doute d'un niveau supérieur au mien, je n'en doute pas une seconde. Peut-être qu'une autre solution, (que celle de créer un nouveau langage), aurait été de faire évoluer Ada (sans "casser" d'anciens code), car Rust s'inspire (et ce n'est pas un reproche, c'est même un compliment) assez fortement d'Ada par bien des aspects.
Il n'y a pas plus autodidacte que moi, j'ai commencé avec le BASIC du C64 ;-) et les IAs, ce n'est pas pour moi. Elles sont peut-être de plus en plus performantes, mais insidieusement, elles éloignent ceux qui les utilisent, de plus en plus des bases. Et sans bonnes bases, les choses peuvent vite vous glisser entre les doigts, et le château de carte s'écrouler. Certaine des catastrophes relatées dans les informations récentes sont plus dues à une utilisation non maîtrisée/surveillée des IAs, qui ne devraient être vue que comme un outil, et non une fin en soit. Je ne vois pas comment, sans bonne bases on peut utiliser l'outil qu'est l'IA correctement et en étant capable de comprendre les solutions qu'elle propose. La tendance du Vibe Coding peut donner des résultats à court terme, mais sur le long terme, je ne pense pas, vraiment pas... Cela donne aussi l'illusion à certains qu'ils peuvent faire des choses, mais ils ne se rendent pas compte (il y a toujours des exceptions, je ne le nie pas) qu'ils jouent avec une bombe et non pas avec un petit pétard...
Voilà voilà, ce n'est que mon point de vue, que je partage et avec lequel je suis d'accord
Mais mon avis n'a pas plus d'importance que celui de n'importe quel développeur, je ne suis pas ici pour imposer mes idées, mais pour en débattre, tout simplement.
BàV et Peace & Love.






fdecode,
Répondre avec citation

Partager