Outils pour utilisateurs

Outils du site


issue150:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue150:c_c [2019/10/31 13:58] auntieeissue150:c_c [2019/10/31 16:18] (Version actuelle) andre_domenech
Ligne 1: Ligne 1:
 **Every year I make a point to learn a new programming language or re-visit one I haven’t used for years. A couple of years ago, the new language I wanted to play around with was Rust. I followed a few tutorials, got comfortable with the syntax, did a test project, and then...stopped. Between my job and my comfort in Python, I just didn’t have a lot of situations where I felt like I wanted to take the time to apply a new language, and defaulted to Python instead. As my day job currently consists of Python (and a few other languages), I have found myself revisiting Rust simply as a way for my personal projects to not feel quite so much like work. As such, I’d like to give my readers my take on Rust.** **Every year I make a point to learn a new programming language or re-visit one I haven’t used for years. A couple of years ago, the new language I wanted to play around with was Rust. I followed a few tutorials, got comfortable with the syntax, did a test project, and then...stopped. Between my job and my comfort in Python, I just didn’t have a lot of situations where I felt like I wanted to take the time to apply a new language, and defaulted to Python instead. As my day job currently consists of Python (and a few other languages), I have found myself revisiting Rust simply as a way for my personal projects to not feel quite so much like work. As such, I’d like to give my readers my take on Rust.**
  
-Chaque année, je mets un point d'honneur à apprendre un nouveau langage de programmation ou à en revisiter un que je n'ai pas utilisé depuis des années. Il y a quelques années, Rust était le nouveau langage auquel je voulais m'exercer. Je suivis quelques tutoriels, devint à l'aise avec la syntaxe, fis un projet test, puisj'arrêtais. Entre mon travail et mon confort sur Python, je n'avais simplement pas beaucoup d'occasions où j'aurais senti l'envie de prendre du temps pour utiliser un nouveau langage, et je revenais à Python, ma solution par défaut. Comme mon travail quotidien actuel est sur Python (et quelques autres langages), revoir Rust me paraissait être simplement une façon de ne pas trop me sentir au travail dans mes projets personnels. Ainsi, je voudrais donner à mes lecteurs ma vision de Rust.+Chaque année, je mets un point d'honneur à apprendre un nouveau langage de programmation ou à en revisiter un que je n'ai pas utilisé depuis des années. Il y a quelques années, Rust était le nouveau langage auquel je voulais m'exercer. Je suivis quelques tutoriels, devins à l'aise avec la syntaxe, fis un projet test, puis j'arrêtai. Entre mon travail et mon confort sur Python, je n'avais simplement pas beaucoup d'occasions où j'aurais senti l'envie de prendre du temps pour utiliser un nouveau langage, et je revenais à Python, ma solution par défaut. Comme mon travail quotidien actuel est sur Python (et quelques autres langages), revoir Rust me paraissait être simplement une façon de ne pas trop me sentir au travail dans mes projets personnels. Ainsi, je voudrais donner à mes lecteurs ma vision de Rust.
  
 **What is Rust? **What is Rust?
Ligne 9: Ligne 9:
 Qu'est-ce que Rust ? Qu'est-ce que Rust ?
  
-Rust est un langage système qui se veut plus sûr et plus stable que le C++. Il le fait en vérifiant les erreurs possibles au moment de la compilation et en signalant immédiatement les erreurs/avertissements au développeur. La vérification des erreurs est extrêmement puissante, et cargo (l'outil de compilation) offre suffisamment d'informations pour que vous puissiez presque toujours résoudre le problème directement tout de suite.+Rust est un langage système qui se veut plus sûr et plus stable que le C++. Il le fait en vérifiant les erreurs possibles au moment de la compilation et en signalant immédiatement les erreurs/avertissements au développeur. La vérification des erreurs est extrêmement puissante, et Cargo (l'outil de compilation) offre suffisamment d'informations pour que vous puissiez presque toujours résoudre le problème directement tout de suite.
  
 **Why use Rust? **Why use Rust?
Ligne 37: Ligne 37:
  
 Si vous venez d'un autre langage système comme C++, voici ma meilleure compréhension de ce qui diffère : (à partir de ma connaissance limitée de C++) : Si vous venez d'un autre langage système comme C++, voici ma meilleure compréhension de ce qui diffère : (à partir de ma connaissance limitée de C++) :
-••Rust est sûr pour la mémoire/ le type (par défaut - vous pouvez intégrer des pratiques non sures, au besoin).+••Rust est sûr pour la mémoire/le type (par défaut - vous pouvez intégrer des pratiques non sûres, au besoin).
 ••Rust détectera un maximum d'erreurs pendant la compilation. ••Rust détectera un maximum d'erreurs pendant la compilation.
 ••Rust propose un outil de compilation et un gestionnaire de paquets appelé cargo. ••Rust propose un outil de compilation et un gestionnaire de paquets appelé cargo.
Ligne 85: Ligne 85:
  
 ••Cargo - Quand vous compilez Rust, vous disposez d'une sortie formatée qui vous dit quelle ligne (pas simplement le numéro de ligne, mais aussi le vrai code), avec un signet et des annotations qui vous indiquent quelle est le problème détecté par le compilateur. En gros, il vous guide dans votre apprentissage du code. Au début, ça peut paraître démoralisant de devoir faire plusieurs passes pour stabiliser votre code, mais, à la longue, vous comprendrez vraiment les problèmes. ••Cargo - Quand vous compilez Rust, vous disposez d'une sortie formatée qui vous dit quelle ligne (pas simplement le numéro de ligne, mais aussi le vrai code), avec un signet et des annotations qui vous indiquent quelle est le problème détecté par le compilateur. En gros, il vous guide dans votre apprentissage du code. Au début, ça peut paraître démoralisant de devoir faire plusieurs passes pour stabiliser votre code, mais, à la longue, vous comprendrez vraiment les problèmes.
-••Informatique - Si vous êtes intéressé par le sujet à un niveau plus élevé, Rust est de loin un meilleur choix que Python pour une raison simple les types de données. Python ne fait que sélectionner le type correct sur la base de la valeur fournie. Rust peut faire de même jusqu'à un certain point, mais vous voudrez surement apprendre la différence entre les entiers signés et non signés et sélectionner le type correct dans un cas précis (par exemple, un entier 8-bit non signé plutôt qu'un entier 32-bit). Cette connaissance pourra faire de vous un bien meilleur programmeur sur le long terme, car vous comprendrez l'utilisation de la mémoire à un niveau plus fouillé.+••Informatique - Si vous êtes intéressé par le sujet à un niveau plus élevé, Rust est de loin un meilleur choix que Python pour une raison simple les types de données. Python ne fait que sélectionner le type correct sur la base de la valeur fournie. Rust peut faire de même jusqu'à un certain point, mais vous voudrez sûrement apprendre la différence entre les entiers signés et non signés et sélectionner le type correct dans un cas précis (par exemple, un entier 8-bit non signé plutôt qu'un entier 32-bit). Cette connaissance pourra faire de vous un bien meilleur programmeur sur le long terme, car vous comprendrez l'utilisation de la mémoire à un niveau plus fouillé.
  
 **• Community - the entire Rust community is founded on the idea of guiding people through the code, and as such it is one of the most open and welcoming communities I know of. If you’re someone who prefers to be able to ask a person questions when learning, you’ll typically always find someone to answer your question in this community (i.e. on the Rust subreddit).** **• Community - the entire Rust community is founded on the idea of guiding people through the code, and as such it is one of the most open and welcoming communities I know of. If you’re someone who prefers to be able to ask a person questions when learning, you’ll typically always find someone to answer your question in this community (i.e. on the Rust subreddit).**
Ligne 101: Ligne 101:
 Prêt pour le grand jeu ? Prêt pour le grand jeu ?
  
-Si vous êtes un programmeur professionnel et que vous voulez commencer à utiliser Rust au travail, vous devriez peut-être vous demander si tout est prêt pour ça. Voici quelques unes des mes réflexions sur le sujet :+Si vous êtes un programmeur professionnel et que vous voulez commencer à utiliser Rust au travail, vous devriez peut-être vous demander si tout est prêt pour ça. Voici quelques-unes des mes réflexions sur le sujet :
 ••D'un point de vue architecture, il est beaucoup plus au point que C++ ne l'était. ••D'un point de vue architecture, il est beaucoup plus au point que C++ ne l'était.
-••Si vous avez besoin d'utiliser un outil ou une bilbiothèque spécifique avec votre logiciel, assurez-vous qu'il peut s'intégrer dans Rust (c-à-d, vérifiez crate.io pour les bibliothèques).+••Si vous avez besoin d'utiliser un outil ou une bilbiothèque spécifique avec votre logiciel, assurez-vous qu'il peut s'intégrer dans Rust (c'est-à-dire, vérifiez crate.io pour les bibliothèques).
 ••Alors que la toute première version de Rust a été publiée en 2012, il n'a atteint la version 1.0 qu'en 2015. De sorte qu'il est difficile de dire s'il sera pérenne. Mon opinion est que l'approche prise par Rust est celle dont nous aurons besoin dans le futur et, comme c'est un projet Open Source, il devrait continuer à être développé tant qu'il y a des gens qui l'utilisent. En fonction de la profondeur de la projection dans le futur que pratique votre entreprise, vous aurez besoin de décider par vous-même de la maturité du langage. ••Alors que la toute première version de Rust a été publiée en 2012, il n'a atteint la version 1.0 qu'en 2015. De sorte qu'il est difficile de dire s'il sera pérenne. Mon opinion est que l'approche prise par Rust est celle dont nous aurons besoin dans le futur et, comme c'est un projet Open Source, il devrait continuer à être développé tant qu'il y a des gens qui l'utilisent. En fonction de la profondeur de la projection dans le futur que pratique votre entreprise, vous aurez besoin de décider par vous-même de la maturité du langage.
  
Ligne 112: Ligne 112:
  
 ••Si la performance est un facteur important, assurez-vous que vous voulez investir le temps nécessaire pour apprendre comment optimiser Rust. ••Si la performance est un facteur important, assurez-vous que vous voulez investir le temps nécessaire pour apprendre comment optimiser Rust.
-••Si vous êtes dans un emploi où vous avez une base de code dans laquelle vous pouvez faire des mélanges et des correspondances (par exemple, du Python avec bibliothèques en C), vous pouvez implémenter une petite bibliothèque en Rust la prochaine fois que vous avez besoin d'une nouvelle et testez-le de cette façon.+••Si vous êtes dans un emploi où vous avez une base de code dans laquelle vous pouvez faire des mélanges et des correspondances (par exemple, du Python avec bibliothèques en C), vous pouvez implémenter une petite bibliothèque en Rust la prochaine fois que vous aurez besoin d'une nouvelle et testez-le de cette façon.
  
-Bref ça dépend de votre scénario spécifique. À ce poste, vous aurez besoin d'en savoir assez pour décider seul.+Brefça dépend de votre scénario spécifique. À ce poste, vous aurez besoin d'en savoir assez pour décider seul.
  
 **Conclusion **Conclusion
Ligne 122: Ligne 122:
 Conclusion Conclusion
  
-J'espère sincèrement que Rust continuera à croître en popularité, car sa méthodologie est un grand bond en avant (à mon avis). Pour ceux de mes lecteurs qui connaissent Rust, ou l'apprennent dites-moi comment ça se passe ! De même, si vous avez des demandes d'article, questions, ou voulez juste exprimer votre opinion, vous pouvez me joindre à lswest34+fcm@gmail.com.+J'espère sincèrement que Rust continuera à croître en popularité, car sa méthodologie est un grand bond en avant (à mon avis). Pour ceux de mes lecteurs qui connaissent Rust, ou l'apprennentdites-moi comment ça se passe ! De même, si vous avez des demandes d'article, questions, ou voulez juste exprimer votre opinion, vous pouvez me joindre à lswest34+fcm@gmail.com.
issue150/c_c.1572526711.txt.gz · Dernière modification : 2019/10/31 13:58 de auntiee