@reno, je suis d'accord avec toi, j'apporterai tout de même les précisions suivantes :
C++ le faisait déjà avec les smart pointers.
je pense qu'il fait plutôt référence a la gestion des objets en Rust qui est innovante
C'est surtout que les smartpointer de C++, c'est un GC embarqué donc tu perd en performance et en maîtrise du moment de libération. A l'inverse, en Rust, c'est libéré au bon moment de manière décidé à la compilation. Rien à voir.
Je crois que sur Linux Go ne passe pas par la libc
Je crois aussi mais c'est surtout la combinaison de tout ça qui n'existait pas : GC compilé avec le binaire, pas de dépendance, programmation simplifié (notamment par la GC). Il y a 2 niveaux de langages : les compilés, statiques optimisé mais complexe a programmer et temps de compilation (C et Rust maintenant) les interprétés (Python pour le plus connu) mais dont les performances sont pitoyable. Java est l'exemple type du compromis entre les 2. Go améliore Java sur tout les points ( programabilité, Perfs, portabilité, insensibilité aux changement de version de l'environnement... ).
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: les anciennes choses..
Posté par abriotde (site web personnel, Mastodon) . En réponse au journal Ces langages avec lesquels il faut tout réécrire. Évalué à -1.
@reno, je suis d'accord avec toi, j'apporterai tout de même les précisions suivantes :
C'est surtout que les smartpointer de C++, c'est un GC embarqué donc tu perd en performance et en maîtrise du moment de libération. A l'inverse, en Rust, c'est libéré au bon moment de manière décidé à la compilation. Rien à voir.
Je crois aussi mais c'est surtout la combinaison de tout ça qui n'existait pas : GC compilé avec le binaire, pas de dépendance, programmation simplifié (notamment par la GC). Il y a 2 niveaux de langages : les compilés, statiques optimisé mais complexe a programmer et temps de compilation (C et Rust maintenant) les interprétés (Python pour le plus connu) mais dont les performances sont pitoyable. Java est l'exemple type du compromis entre les 2. Go améliore Java sur tout les points ( programabilité, Perfs, portabilité, insensibilité aux changement de version de l'environnement... ).
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.