


Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a d'abord été utilisé pour réparer les ascenseurs.
En remplaçant le C++, Rust va vraiment tout réécrire !
Après avoir été favorisé par de grands fabricants tels que Linux, Google et Amazon Cloud, la dernière nouvelle est que
Microsoft a réécrit le noyau Windows avec 36 000 lignes de code Rust.
Et les progrès sont assez rapides. Spoiler news du mois d'avril, après deux semaines, la version préliminaire interne de Windows 11 a été utilisée.
Le CTO de Microsoft Cloud Azure a crié avec enthousiasme sur Twitter :
Si vous rejoignez Windows 11 Insider Preview, vous découvrirez pour la première fois le noyau Windows pris en charge par Rust !
Le noyau réécrit comprend principalement deux projets, DWriteCore et Win32 GDI, et a réussi tous les tests de démarrage de Windows.
Parmi eux, Win32 GDI a été écrit à la fin des années 80 et au début des années 90 et est un code ancien avec plus de 30 ans d'expérience professionnelle.
La raison pour laquelle il est désormais remplacé par Rust est simple et grossière :
Le langage Rust a une sécurité de mémoire extrêmement élevée, et un grand nombre de sous-programmes dangereux dans le noyau d'origine ont également disparu après avoir été réécrits. En même temps, le langage Rust est plus concis et efficace.
Les informations publiques indiquent également qu'au fil du temps, l'adoption de Rust par le noyau Windows sera considérablement étendue.
Non seulement il est apprécié des grands fabricants, mais Rust est également le « langage de programmation le plus populaire » dans l'enquête auprès des développeurs Stack Overflow depuis de nombreuses années consécutives. Récemment, sudo et su, les outils de base des systèmes Unix, ont également été réécrits en Rust.
Mais ce qui est un peu surprenant, c'est que Rust a été inventé à l'origine pour réparer les ascenseurs ? ? ?
Après avoir grimpé 21 étages, j'ai décidé de développer un nouveau langage
L'origine de tout est qu'un jour de 2006, l'ascenseur de l'appartement où vivait un homme nommé Graydon Hoare est à nouveau tombé en panne. Pour la énième fois, il a eu du mal à ramper vers son domicile au 21ème étage en jurant. Il n'arrivait pas à comprendre pourquoi le système d'ascenseur s'effondrait si facilement ? Cela ne devrait pas être le cas !
En tant que codeur dans une grande usine, frère Graydon estime que cette question n'est pas impossible à résoudre.
Il avait 29 ans à l'époque et travaillait à temps partiel chez Mozilla, la société de navigateurs Web open source
(la société derrière Firefox). En tant qu'initié de l'industrie, il sait que la plupart des pannes d'ascenseurs sont causées par le langage de programmation qui introduit facilement accidentellement des erreurs de mémoire, provoquant des pannes logicielles. A cette époque, les logiciels d'ascenseurs étaient souvent écrits en langage C ou C++.
Leurs avantages sont la compacité et la rapidité, mais le problème est qu'il est très facile de provoquer des erreurs de mémoire, des pannes du système et même des problèmes de sécurité.
Alors, au lieu de faire une chose et une autre, frère Graydon a simplement décidé de proposer un nouveau langage de programmation afin d'arrêter de monter les escaliers.
L'objectif est un langage qui ne soit pas sujet aux erreurs de mémoire, de préférence plus court et plus rapide.
C'est ainsi que le langage Rust est né.
Et le nom de Rust est également très intéressant.
La rouille porte le même nom qu'un champignon, dont le nom chinois est la rouille végétale. Graydon a commenté qu'elle est "sur-conçue pour la survie".
Cette structure biologique fongique est entièrement distribuée, sans aucun point de défaillance unique dans l'espace, ce qui signifie que le retrait d'une seule partie n'affectera pas sa survie, et elle est extrêmement robuste.
Dans tout leur cycle de vie, les champignons de la rouille ont un total de 5 formes de vie, dont 3 peuvent régresser vers la forme précédente, ce qui équivaut presque au fait qu'un papillon peut redevenir une chenille et repousser.
De plus, les champignons Rust peuvent parasiter plusieurs hôtes, ce qui reflète l'accent mis par le langage Rust sur l'interopérabilité entre les langues.
△Plants with Rust (Désolé pour ceux qui souffrent de cryptophobie !)
Après plusieurs années de développement en solo, Rust a reçu le soutien du Mozilla Research Institute en 2009, le projet a été annoncé en 2010 ;
Pendant le processus de développement, Rust a établi une communauté très active. Tout développeur peut signaler directement les bogues de ce projet ou contribuer directement au code source.
En mai 2015, la version 1.0 de Rust est officiellement sortie.
En seulement un an, Rust a attiré d'innombrables fans. Depuis 2016, il a été classé « langage de programmation le plus populaire »
par l'enquête auprès des développeurs Stack Overflow pendant 7 années consécutives.Les avantages sur lesquels il s'appuie pour rester continuellement en tête de liste sont : premièrement, une vitesse d'exécution rapide, deuxièmement, une utilisation élevée de la mémoire et troisièmement, la prévention des erreurs de segmentation. En bref, c'est un outil puissant qui peut remplacer le C/C++ dans certaines parties.
Il y a donc un dicton qui circule dans le monde du code qui compare Rust au parkour. Vous pouvez faire des mouvements à haut risque, mais il n'est pas facile de se blesser. En comparaison, le C++ peut être considéré comme jouant avec une tronçonneuse enflammée.Et grâce au développement de Rust, frère Graydon est également devenu célèbre au cours d'une bataille.
Au cours des années suivantes, il a également participé au développement de Swift.
C'est aussi une histoire intéressante. Plutôt que d'être chef d'équipe, il me semble préférer faire du développement de première ligne.
Il a dit un jour en réponse à "Pourquoi avoir quitté l'équipe Rust" que sa vie émotionnelle personnelle avait subi un coup dur (divorce) vers 2013, ce qui l'avait empêché d'avoir beaucoup d'énergie pour être responsable de l'équipe Rust. Plus tard, il a toujours. fait profil bas chez Mozilla. Ne vous précipitez pas pour lancer le projet, puis quittez votre emploi.
Jusqu'au début de 2016, il a reçu un appel de l'équipe Apple, lui disant qu'ils recherchaient des programmeurs pour l'aider à développer Swift. "C'était un poste non-dirigeant, et je le préférais."
Devenu le chouchou des grands constructeurs en misant sur la sécurité
Mais ici, l’histoire légendaire de Rust n’est racontée qu’à moitié.
Avec l'intention initiale de « haute sécurité », il est devenu de plus en plus populaire parmi les grands fabricants ces dernières années.
Non seulement Windows, mais également les systèmes grand public tels que Linux et Android ont adopté Rust. Les relations entre Amazon Cloud, Microsoft, Google et Rust ont toujours été bonnes.
La principale raison en est peut-être que le C/C++ n'est vraiment pas bon en matière de sécurité de la mémoire.
Par exemple, Microsoft s'est beaucoup intéressé à Rust il y a quelques années. Ils l'ont identifié comme un bon moyen d'éliminer les vulnérabilités de sécurité de la mémoire avant la livraison du produit.
En 2019, Microsoft a admis que 70 % des vulnérabilités révélées par CVE dans ses produits étaient dues à des vulnérabilités de sécurité mémoire causées par l'utilisation de C/C++. La chaîne d'outils Rust se concentre sur la découverte des vulnérabilités potentielles dans le code, ce qui réduit idéalement la possibilité que le code soit attaqué.D'un autre côté, Rust a également été introduit dans le noyau Linux.
L'année dernière, lors du Sommet Open Source 2022 organisé par la Linux Foundation, M. Linus a soudainement annoncé que Rust pourrait être ajouté à la prochaine version ! Cela signifie que le PR officiel de Rust pour Linux sera fusionné dans la ligne principale du noyau Linux.(Rust for Linux est une organisation appelant à la combinaison de Linux et Rust)
Vous devez savoir que seul le patch de support de Rust a été publié dans la septième version. Lorsque le public a appris la nouvelle, ils ont immédiatement applaudi, à tel point qu'il a fallu un certain temps à Linus pour calmer tout le monde. Quelques mois plus tard, la version 6.1 de Linux est sortie et le noyau ajoute la prise en charge de Rust, devenant ainsi la deuxième langue officielle après le C.Google a en fait agi plus tôt.
Quand Android 12 sortira en 2021, il annoncera la prise en charge de Rust. Depuis lors, ils ont étendu l’utilisation de Rust dans le projet open source Android. Cependant, l’approche de Google n’est pas de remplacer immédiatement le C/C++ par Rust, mais d’écrire du nouveau code en Rust. D'après les données officielles, nous pouvons voir que le C et le C++ dominent toujours et que la proportion de Rust augmente progressivement.aucune faille de sécurité n'avait été trouvée dans les parties d'Android écrites en Rust.
Ce résultat est très important car il signifie que Rust peut prévenir efficacement la vulnérabilité la plus courante d'Android, à savoir la vulnérabilité de sécurité de la mémoire. Les données de Google sur 22 ans montrent que les vulnérabilités de sécurité de la mémoire représentent une proportion très élevée de tous les types de vulnérabilités.Rust a probablement bloqué des centaines de vulnérabilités.
Et sur la base de ses avantages élevés en matière de concurrence, l'utilisation de Rust dans Android peut équilibrer davantage la sécurité et la latence du système. De manière générale, certaines mesures de sécurité entraîneront un ralentissement du langage de programmation. Par exemple, en utilisant la nouvelle pile UWB, vous pouvez économiser quelques mégaoctets de mémoire et éviter certains retards IPC en exécutant les processus existants. Amazon Cloud aime aussi beaucoup Rust,car il est aussi très agréable pour économiser de l'énergie.
Une étude a testé 27 langages de programmation et a révélé que C et Rust étaient 50 % plus efficaces que Java et 98 % plus efficaces que Python en termes d'utilisation d'énergie. Mais le problème du C a été mentionné à plusieurs reprises, et il existe de nombreuses vulnérabilités en matière de sécurité de la mémoire, donc sur cette base, Rust gagne à nouveau.Afin d'éviter ce souci caché, de grands fabricants tels qu'Amazon, Microsoft, Google et Huawei ont lancé conjointement une fondation à but non lucratif Rust. S'engager à investir environ 1 million de dollars de budget d'ici deux ans pour soutenir la maintenance du projet Rust.
Dans l’industrie, les actes de Rust sont innombrables.
Récemment, deux utilitaires de base de type Unix, sudo et su, ont été réécrits dans Rust ; auparavant, GitHub a modifié son moteur de recherche pour qu'il soit basé sur Rust Discord, un service Go, a également été réécrit dans Rust...
Cependant, Rust Il y a aussi des inconvénients. Par exemple, il sera plus difficile d'apprendre plus tard et la vitesse de développement au début est beaucoup plus lente que Go et Java.
Rust a donc de nombreux éloges, mais son « taux de vente » est encore relativement moyen, et il peut même être qualifié de « langage impopulaire ».
Surtout en Chine, le recrutement de Rust peut être qualifié de « pitoyablement peu nombreux ».
Certains internautes ont une attitude pessimiste :
Pour cette raison, Rust s'optimise également davantage.
Selon le parcours Rust 2024 qu'elle a publié, l'équipe officielle redoublera d'efforts pour abaisser le seuil d'apprentissage et renforcer les liens écologiques.
Donc, cela vaut la peine d’attendre avec impatience comment Rust se développera à l’avenir~
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Certains utilisateurs ont rencontré des erreurs lors de l'installation du périphérique, provoquant le code d'erreur 28. En fait, cela est principalement dû au pilote. Il nous suffit de résoudre le problème du code de pilote Win7 28. Voyons ce qu'il faut faire. . Que faire avec le code 28 du pilote Win7 : Tout d'abord, nous devons cliquer sur le menu Démarrer dans le coin inférieur gauche de l'écran. Ensuite, recherchez et cliquez sur l'option "Panneau de configuration" dans le menu contextuel. Cette option est généralement située en bas ou près du bas du menu. Après avoir cliqué, le système ouvrira automatiquement l'interface du panneau de configuration. Dans le panneau de configuration, nous pouvons effectuer divers paramètres système et opérations de gestion. C'est la première étape du niveau de nettoyage nostalgique, j'espère que cela aidera. Ensuite, nous devons continuer et entrer dans le système et

Que faire avec le code d'écran bleu 0x0000001. L'erreur d'écran bleu est un mécanisme d'avertissement en cas de problème avec le système informatique ou le matériel. Le code 0x0000001 indique généralement une panne de matériel ou de pilote. Lorsque les utilisateurs rencontrent soudainement une erreur d’écran bleu lors de l’utilisation de leur ordinateur, ils peuvent se sentir paniqués et perdus. Heureusement, la plupart des erreurs d’écran bleu peuvent être dépannées et traitées en quelques étapes simples. Cet article présentera aux lecteurs certaines méthodes pour résoudre le code d'erreur d'écran bleu 0x0000001. Tout d'abord, lorsque nous rencontrons une erreur d'écran bleu, nous pouvons essayer de redémarrer

Le système Win10 est un très excellent système à haute intelligence. Sa puissante intelligence peut apporter la meilleure expérience utilisateur aux utilisateurs. Dans des circonstances normales, les ordinateurs du système Win10 des utilisateurs n'auront aucun problème ! Cependant, il est inévitable que divers défauts se produisent sur d'excellents ordinateurs. Récemment, des amis ont signalé que leurs systèmes Win10 rencontraient fréquemment des écrans bleus ! Aujourd'hui, l'éditeur vous proposera des solutions aux différents codes qui provoquent des écrans bleus fréquents sur les ordinateurs Windows 10. Jetons un coup d'œil. Solutions aux écrans bleus fréquents de l'ordinateur avec des codes différents à chaque fois : causes des différents codes d'erreur et suggestions de solutions 1. Cause de l'erreur 0×000000116 : Il se peut que le pilote de la carte graphique soit incompatible. Solution : Il est recommandé de remplacer le pilote d'origine du fabricant. 2,

System76 a récemment fait des vagues avec son environnement de bureau Cosmic, dont le lancement est prévu avec la prochaine version alpha majeure de Pop!_OS le 8 août. Cependant, un article récent sur X du PDG de System76, Carl Richell, a indiqué que Cosmic DE développeur

Comment utiliser le langage Redis et Rust pour développer la fonction de prélecture du cache Introduction : Avec la croissance des applications Web et l'augmentation du nombre d'utilisateurs, la mise en cache est devenue l'un des moyens importants pour améliorer les performances. Pour améliorer encore l'efficacité de la mise en cache, nous pouvons utiliser la prélecture du cache, qui charge les données mises en cache dans le cache à l'avance avant qu'elles ne soient nécessaires. Cet article expliquera comment utiliser les langages Redis et Rust pour implémenter la fonction de prélecture du cache et joindra des exemples de code spécifiques. 1. Introduction à Redis Redis est un magasin clé-valeur basé sur la mémoire

Code de terminaison 0xc000007b Lors de l'utilisation de votre ordinateur, vous rencontrez parfois divers problèmes et codes d'erreur. Parmi eux, le code de terminaison est le plus inquiétant, notamment le code de terminaison 0xc000007b. Ce code indique qu'une application ne peut pas démarrer correctement, provoquant des désagréments pour l'utilisateur. Tout d’abord, comprenons la signification du code de terminaison 0xc000007b. Ce code est un code d'erreur du système d'exploitation Windows qui se produit généralement lorsqu'une application 32 bits tente de s'exécuter sur un système d'exploitation 64 bits. Cela signifie que ça devrait

Si vous devez programmer un appareil à distance, cet article vous aidera. Nous partagerons les meilleurs codes de télécommande universelle GE pour programmer n’importe quel appareil. Qu'est-ce qu'une télécommande GE ? GEUniversalRemote est une télécommande qui peut être utilisée pour contrôler plusieurs appareils tels que les téléviseurs intelligents, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, lecteurs multimédias en streaming et plus encore. Les télécommandes GEUniversal sont disponibles en différents modèles avec différentes caractéristiques et fonctions. GEUniversalRemote peut contrôler jusqu'à quatre appareils. Les meilleurs codes de télécommande universels à programmer sur n'importe quel appareil. Les télécommandes GE sont livrées avec un ensemble de codes qui leur permettent de fonctionner avec différents appareils. vous pouvez

Auteur丨Compilé par TimAnderson丨Produit par Noah|51CTO Technology Stack (WeChat ID : blog51cto) Le projet d'éditeur Zed est encore en phase de pré-version et a été open source sous licences AGPL, GPL et Apache. L'éditeur offre des performances élevées et plusieurs options assistées par l'IA, mais n'est actuellement disponible que sur la plate-forme Mac. Nathan Sobo a expliqué dans un article que dans la base de code du projet Zed sur GitHub, la partie éditeur est sous licence GPL, les composants côté serveur sont sous licence AGPL et la partie GPUI (GPU Accelerated User) l'interface) adopte la Licence Apache2.0. GPUI est un produit développé par l'équipe Zed
