Pragmatic AI Labs

OO : De Python à Rust

Profitez de l'une de nos meilleures offres et renforcez vos compétences avec 50 % de réduction sur Coursera Plus. Économisez maintenant.

Pragmatic AI Labs

OO : De Python à Rust

Noah Gift

Instructeur : Noah Gift

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Intermédiaire

Expérience recommandée

6 heures à compléter
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Intermédiaire

Expérience recommandée

6 heures à compléter
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Appliquer un workflow à trois phases (Découverte, Refactorisation, Traduction), basé sur les spécifications, afin de transposer du code Python orienté objet en code Rust idiomatique.

  • Traduire les hiérarchies de classes Python en structures, traits et énumérations Rust, ainsi qu’en modèle « type-state », en privilégiant la composition plutôt que l’héritage.

  • Évaluer les pull requests de conversion de Python vers Rust à l'aide d'une analyse du seuil de rentabilité et d'une grille d'évaluation des déclarations de complexité.

Compétences que vous acquerrez

  • Catégorie : Gestion de la mémoire
  • Catégorie : Modèles de conception de logiciels
  • Catégorie : Codage sécurisé
  • Catégorie : Conception orientée objet
  • Catégorie : Programmation orientée objet (POO)
  • Catégorie : Optimisation des performances
  • Catégorie : Tests de performance
  • Catégorie : Programmation du système
  • Catégorie : Conception de l'API
  • Catégorie : Vérification et validation
  • Catégorie : Réutilisation du code

Outils que vous découvrirez

  • Catégorie : Programmation Python
  • Catégorie : Rust (langage de programmation)

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Récemment mis à jour !

mai 2026

Évaluations

1 devoir

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Élaborez votre expertise du sujet

Ce cours fait partie de la Spécialisation "Rust pour l'ingénierie des données"
Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
  • Apprenez de nouveaux concepts auprès d'experts du secteur
  • Acquérez une compréhension de base d'un sujet ou d'un outil
  • Développez des compétences professionnelles avec des projets pratiques
  • Obtenez un certificat professionnel partageable

Il y a 5 modules dans ce cours

Chaque affirmation de type Big-O abordée dans ce cours s’accompagne de trois justificatifs indépendants : un banc d’essai EMPIRIQUE (critère mesurant la courbe), une garantie STRUCTURELLE (les types Rust et proptest en assurent le respect) et un théorème FORMEL (vérifié par la machine Lean 4, signalé par le tampon [verified]). La complexité est une AFFIRMATION concernant la manière dont le temps d’exécution ou la mémoire évoluent en fonction de la taille de l’entrée. Dans ce module, vous apprendrez le workflow c24 : rédiger l’affirmation sous forme de contrat, la lier à votre élément pub Rust, puis y joindre les trois justificatifs. Une ALLÉGATION de complexité O(N) n’est valable que si la pente sur un graphique log-log reste linéaire de N = 10 à N = 1 000 000.

Inclus

3 vidéos7 lectures

Dans ce module, vous maîtriserez les « Empirical Wins », c’est-à-dire les gains de performance que vous pouvez mesurer à l’aide de cargo bench. Vous transposerez trois modèles Python en idiomes Rust permettant de réduire le temps d’exécution et la consommation de mémoire : les compréhensions de listes deviendront des chaînes d’itérateurs fusionnées (filter+map en un seul passage, mémoire O(1) contre O(N)) ; « x in dict » devient « HashMap::contains_key » avec le choix du hasher sous forme de reçu c24 (FxHash, AHash ou SipHash par défaut, chacun ayant fait l’objet de mesures) ; et « sorted() » devient « sort_unstable » pour les cas où la stabilité n’est pas requise. Chaque affirmation s’accompagne de rapports HTML « criterion » servant de justificatif EMPIRIQUE, d’une garantie STRUCTURELLE issue du système de types de Rust, et d’un cachet [verifié] issu d’un théorème FORMEL.

Inclus

3 vidéos6 lectures

L'opérateur « optional » [T] de Python devient « Option<T> » en Rust, avec « proptest » balayant chaque chaîne de combinateurs ; l'opérateur « try/except » de Python devient « Result<T, E> » avec « @semantic: total » promouvant chaque fonction faillible — la garantie structurelle qui rend impossible tout échec silencieux.

Inclus

3 vidéos6 lectures

La traduction au niveau système met en évidence le compromis en termes de temps d'exécution. Les générateurs Python allouent un état de trame par appel et supportent la surcharge du GIL ; l’itérateur Rust est monomorphisé dans la pile de l’appelant — le rapport structurel sert de référence et montre un écart d’environ 50 fois en boucle serrée. subprocess.run avec sh -c réintroduit l’injection de shell CWE-78 ; Command::new().arg() appelle directement execve et élimine entièrement la surface d’attaque. Le threading sur CPython est sérialisé par le GIL ; rayon::par_iter() répartit la charge de travail sur tous les cœurs via un ordonnanceur de type « work-stealing » utilisant Send + Sync, dont les bogues de course à la données se traduisent par des erreurs de compilation. Chaque traduction de ce module est une assertion d’exécution avec un résultat mesurable.

Inclus

3 vidéos6 lectures

Le projet phare boucle la boucle grâce à un guide en cinq étapes — transcompilation, inspection, affinage, test de performance, validation — que vous pouvez appliquer à n’importe quelle boucle Python « chaude » et livrer une traduction en Rust accompagnée de justificatifs. Chaque Pull Request génère quatre justificatifs : un rapport HTML de Criterion, une exécution de proptest, une vérification pv du contrat, ainsi qu’un statut Lean : le tampon « prouvé ». La deuxième leçon est l’inverse : lorsque les calculs basés sur les justificatifs indiquent de conserver Python. Analyse du seuil de rentabilité, BREAKEVEN.md, et un quiz final noté qui synthétise les modules 1 à 5.

Inclus

2 vidéos6 lectures1 devoir

Obtenez un certificat professionnel

Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.

Instructeur

Noah Gift
Pragmatic AI Labs
61 Cours6 805 apprenants

Offert par

Pragmatic AI Labs

En savoir plus sur Développement de logiciels

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.

Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’

Jennifer J.

Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’

Larry W.

Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’

Chaitanya A.

’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Foire Aux Questions