IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rust Discussion :

La communauté Rust reconnaît que le langage n’est pas sécurisé au travers d’une récente annonce


Sujet :

Rust

  1. #21
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 639
    Points : 15 874
    Points
    15 874
    Par défaut
    Citation Envoyé par d_d_v Voir le message
    Je vois que tous les fanatiques pro-rust sont de sortie ici à ce que je vois.
    La plupart des gens que vous appelez fanatiques pro-Rust ne prennent la peine de défendre le Rust que parce des gens (que l'ont pourrait tout autant qualifier de "fanatiques du C++") crachent dessus, généralement sans trop savoir de quoi il parlent. Je ne parle normalement pas de Rust dans les news qui ne parlent que de C++ si ce n'est pour rectifier quelqu'un qui dirait des erreur sur Rust.

    Citation Envoyé par d_d_v Voir le message
    A chaque sortie ou mise en avant d'un "nouveau" langage, on a droit toujours aux mêmes promesses. J'ai vu la même chose avec DotNet, Java (qui a aussi son mode unsafe si je me souviens bien), pour d'autres promesses mais aussi celle de la gestion mémoire.
    Le unsafe en DotNet et Java n'est pas forcément comparable car ces langage n'ont pas la prétention d'être des langages systèmes. Je n'ai jamais eu besoin de me pencher sur le unsafe en C#, mais au moins, en ce qui concerne en Java, la notion de unsafe ne fait pas officiellement partie du langage. La plupart des JRE embarquent bien une classe Unsafe, mais elle ne fait pas partie de la bibliothèque standard et elle n'est pas officiellement supportée. En général quand on veut faire proprement en Java ce que l'on ferait avec du unsafe en Rust, on passe par des bibliothèque natives en C/C++/ou maintenant Rust.

    Citation Envoyé par d_d_v Voir le message
    La première sécurité, c'est d'embaucher des gens compétents, c'est pareil dans tous les domaines. Vous n'avez pas besoin de fournir un couteau avec une lame en plastique à un pâtissier de peur qu'il se blesse
    Ces comparaisons sont simplistes notamment car elles impliquent que les problèmes de sécurité ont un impact immédiatement visible chez le producteur. Mais ce qui fait la particularité des failles de sécurité, c'est qu'elle ne sont pas forcément évidents à éviter et à identifier et elles auront un impact bien plus tard sur l'utilisateur du logiciel.
    Pour reprendre la cas du pâtissier : il a bien fait son boulot s'il livre un bon gâteau. Il n'a pas a craindre que parce qu'il n'a pas tenu le couteau parfaitement à la verticale quand il a découpé les fraises, le gâteau devienne toxique quand on le mange la tête en bas un Mardi de pleine lune.

    S'il suffisait d'avoir à disposition des développeurs chevronnés pour éviter les problèmes on aurait pas tant de failles, y compris dans les logiciels les plus surveillés au monde comme les navigateurs, OS, base de données ...

    Citation Envoyé par remi_inconnu Voir le message
    Il y a plusieurs décennies, j'ai souvenir d'un langage merveilleux, censé résoudre tous les soucis de sécurité... Java, on connait l'histoire depuis.
    Java ne résout clairement pas tous les problèmes possible (Rust non plus d'ailleurs), mais c’était clairement une amélioration comparé au C et C++ au niveau de la sécurité, même si (contrairement au Rust) il implique des concessions sur l'accès au bas niveau et la maitrise des performances.

    Citation Envoyé par remi_inconnu Voir le message
    Ne jamais oublier que la première cause de défaillance de sécurité, se situe toujours entre la chaise et le clavier, croire qu'avec un langage, on va tout faire disparaître comme par magie, me fait beaucoup rire, surtout quand c'est des personnes gouvernantes qui disent cela en interview, ces mêmes personnes qui n'ont jamais écrit aucune ligne de code de leur vie.
    On peut même aller au delà : le programmeur est la seule et unique cause des problèmes de sécurité. Le souci, c'est que quand on a dit ça, on a rien dit parce que malgré l'IA générative(qui est elle aussi faillible), on ne sait toujours pas faire de programmes un minimum complexe sans programmeurs.
    Donc si on veut améliorer la sécurité, il faut améliorer le programmeur, et comme malgré toutes les formations et l'expérience accumulée, ça restera toujours un humain faillible, un compilateur qui permettent d’éviter les pratiques de codage problématiques, c'est un gros avantage. Et comme Rust ne résout pas directement les problèmes (comme Java ou C#) ou les ignore (comme parfois en C et C++), mais les explique, c'est également un très bon moyen de formation.

  2. #22
    Membre habitué
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2021
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2021
    Messages : 55
    Points : 183
    Points
    183
    Par défaut
    Citation Envoyé par Uther Voir le message
    La plupart des gens que vous appelez fanatiques pro-Rust ne prennent la peine de défendre le Rust que parce des gens que l'ont pourrait tout autant qualifier de "fanatiques du C++" crachent dessus, généralement sans trop savoir de quoi il parlent.
    [...]
    Java ne résout clairement pas tous les problèmes possible (Rust non plus d'ailleurs), mais c’était clairement une amélioration comparé au C et C++ au niveau de la sécurité, même si (contrairement au Rust) il implique des concessions sur l'accès au bas niveau et la maitrise des performances.
    D'autant plus qu'une bonne part d'entre nous, j'en ai l'impression, a un parcours dans les langages de programmation et connaissent les langages plus anciens. Ce n'est pas un comportement de fanatique que de s'intéresser à ce qui est nouveau...
    Et oui, je me souviens du progrès que java représentait par rapport à C++, dès lors que le JIT a permis une monté en performance raisonnable. Et ce n'était pas qu'une question de sécurité, mais aussi une certaine amélioration de la portabilité, des génériques que j'avais trouvées plus maîtrisables que les template du C++ d'alors. Par la suite ma préférence est allée à C# et Scala, puis à Rust. Ces langages ont apporté chacun leurs améliorations.
    Citation Envoyé par d_d_v
    A chaque sortie ou mise en avant d'un "nouveau" langage, on a droit toujours aux mêmes promesses.
    Citation Envoyé par remi_inconnu
    Il y a plusieurs décennies, j'ai souvenir d'un langage merveilleux, censé résoudre tous les soucis de sécurité.
    Il n'y a pas de langage terminal qu'il suffira de maîtriser pépère jusqu'à la retraite. Ces nouveaux langages apportent des progrès mais ce ne seront pas les derniers. Quant au C++, la maîtrise des nouveaux paradigmes apportés par les nouveaux standards nécessite aussi une actualisation de ses connaissances.
    Explorer les nouveautés ou pas, c'est au choix de chacun.

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/09/2021, 23h53
  2. je n'ai pas de probleme (mais que s des header
    Par funckfot dans le forum Langage
    Réponses: 2
    Dernier message: 07/04/2006, 15h56
  3. Dxdiag me signale que j'ai 510M de ram
    Par Goetz dans le forum DirectX
    Réponses: 1
    Dernier message: 29/09/2003, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo