Première section
1 livre et 1 critique, dernière mise à jour le 9 novembre 2020 , note moyenne : 4
Détails du livre
Sommaire
Critiques (1)
2 commentaires
Mastering Rust
de Rahul Sharma, Vesa Kaihlavirta
Public visé :
Débutant
Résumé de l'éditeur
Rust is an empowering language that provides a rare combination of safety, speed, and zero-cost abstractions. Mastering Rust – Second Edition is filled with clear and simple explanations of the language features along with real-world examples, showing you how you can build robust, scalable, and reliable programs.
This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You'll learn how Rust can be used for systems programming, network programming, and even on the web. You'll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in.
After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code.
What you will learn
Who this book is for
The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You'll learn how Rust can be used for systems programming, network programming, and even on the web. You'll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in.
After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code.
What you will learn
- Write generic and type-safe code by using Rust's powerful type system
- How memory safety works without garbage collection
- Know the different strategies in error handling and when to use them
- Learn how to use concurrency primitives such as threads and channels
- Use advanced macros to reduce boilerplate code
- Create efficient web applications with the Actix-web framework
- Use Diesel for type-safe database interactions in your web application
Who this book is for
The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
Édition : Packt Publishing - 554 pages, 2e édition, 31 janvier 2019
ISBN10 : 1789346576 - ISBN13 : 9781789346572
- Getting started with Rust
- Managing projects with cargo
- Tests, documentation and benchmarks
- Types, generics and traits
- Memory management and safety
- Error handling
- Advanced Topics
- Concurrency
- Metaprogramming with Macros
- Unsafe Rust and foreign function interfaces
- Logging
- Network programming in Rust: Sync and Async IO
- Building web applications with Rust
- Interacting with databases in Rust
- Rust on the web using WebAssembly
- Gui development with Rust
- Debugging
Mastering Rust est un livre permettant de découvrir et de s’initier à la programmation avec le langage Rust. Pour appréhender l’ouvrage, il n’est pas nécessaire de connaître un autre langage, toutefois, cela ne pourra être qu’un plus sachant que les auteurs mentionnent le C++, le Java et le Python pour aider le lecteur à introduire quelques-unes des notions vues.
La structure du livre est bien pensée et la progression est évidente. Le livre débute avec une introduction rapide du langage puis passe à la grammaire de Rust. Ensuite viennent les notions principales du langage telles que : la gestion de la mémoire, le système de typage, la gestion de la concurrence. La seconde partie du livre est plus orientée sur la découverte et la mise en oeuvre de bibliothèques permettant notamment de créer un programme communiquant sur le réseau ou se connectant à une base de données, créer une application Web (classique et WebAssembly) ou encore, de créer une application classique avec une interface graphique. Là où le livre est d‘autant plus intéressant, c’est qu’il contient des sections couvrant des sujets tels que l’installation d’un environnement adapté au langage Rust (compilateur, éditeur, gestionnaire de paquets (cargo), formatage du code), la mise en place de journaux, la gestion des erreurs, le débogage. De plus, le système de macro avancé du langage est aussi détaillé, ainsi que l’interopérabilité avec d’autres langages (c’est-à-dire : l’utilisation d’une bibliothèque C au sein de Rust ou l’utilisation de Rust pour fournir un module Python ou JavaScript). En bref, l’opus est dense et couvre tous les besoins d’un lecteur souhaitant se lancer dans le langage.
Toutefois, la qualité est inégale. Dans certains passages, on aimerait que les auteurs prennent plus de temps à vulgariser et expliquer le fonctionnement de tel ou tel aspect spécifique au langage. Mais, le problème le plus dérangeant est surtout la présence d’explications de code ne correspondant pas toujours avec le code montré en exemple.
Heureusement, ces soucis sont plutôt rares et « Mastering Rust » est un excellent ouvrage pour se lancer dans le langage Rust. On lui laissera facilement une place sur son bureau afin qu’il soit le guide pour démarrer nos projets et un aide mémoire pour telle ou telle particularité du langage.
Aussi, il est à noter que pour mieux apprécier le livre, il est nécessaire d’avoir des connaissances en Linux et plus précisément d’une distribution Debian : les commandes mentionnées pour installer telle ou telle dépendance ou faire telle ou telle opération sont écrite pour Ubuntu.
La structure du livre est bien pensée et la progression est évidente. Le livre débute avec une introduction rapide du langage puis passe à la grammaire de Rust. Ensuite viennent les notions principales du langage telles que : la gestion de la mémoire, le système de typage, la gestion de la concurrence. La seconde partie du livre est plus orientée sur la découverte et la mise en oeuvre de bibliothèques permettant notamment de créer un programme communiquant sur le réseau ou se connectant à une base de données, créer une application Web (classique et WebAssembly) ou encore, de créer une application classique avec une interface graphique. Là où le livre est d‘autant plus intéressant, c’est qu’il contient des sections couvrant des sujets tels que l’installation d’un environnement adapté au langage Rust (compilateur, éditeur, gestionnaire de paquets (cargo), formatage du code), la mise en place de journaux, la gestion des erreurs, le débogage. De plus, le système de macro avancé du langage est aussi détaillé, ainsi que l’interopérabilité avec d’autres langages (c’est-à-dire : l’utilisation d’une bibliothèque C au sein de Rust ou l’utilisation de Rust pour fournir un module Python ou JavaScript). En bref, l’opus est dense et couvre tous les besoins d’un lecteur souhaitant se lancer dans le langage.
Toutefois, la qualité est inégale. Dans certains passages, on aimerait que les auteurs prennent plus de temps à vulgariser et expliquer le fonctionnement de tel ou tel aspect spécifique au langage. Mais, le problème le plus dérangeant est surtout la présence d’explications de code ne correspondant pas toujours avec le code montré en exemple.
Heureusement, ces soucis sont plutôt rares et « Mastering Rust » est un excellent ouvrage pour se lancer dans le langage Rust. On lui laissera facilement une place sur son bureau afin qu’il soit le guide pour démarrer nos projets et un aide mémoire pour telle ou telle particularité du langage.
Aussi, il est à noter que pour mieux apprécier le livre, il est nécessaire d’avoir des connaissances en Linux et plus précisément d’une distribution Debian : les commandes mentionnées pour installer telle ou telle dépendance ou faire telle ou telle opération sont écrite pour Ubuntu.
Commenter Signaler un problème
Rust is an empowering language that provides a rare combination of safety, speed, and zero-cost abstractions. Mastering Rust – Second Edition is filled with clear and simple explanations of the language features along with real-world examples, showing you how you can build robust, scalable, and reliable programs.
This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You'll learn how Rust can be used for systems programming, network programming, and even on the web. You'll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in.
After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code.
What you will learn
Who this book is for
The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You'll learn how Rust can be used for systems programming, network programming, and even on the web. You'll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in.
After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code.
What you will learn
- Write generic and type-safe code by using Rust's powerful type system
- How memory safety works without garbage collection
- Know the different strategies in error handling and when to use them
- Learn how to use concurrency primitives such as threads and channels
- Use advanced macros to reduce boilerplate code
- Create efficient web applications with the Actix-web framework
- Use Diesel for type-safe database interactions in your web application
Who this book is for
The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Bonjour,
C'est une très bonne question !
Tout d'abord (à titre personnel), je n'ai jamais vraiment aimé me fixer à un unique tutoriel pour apprendre telle ou telle chose. Je pense que l'on est toujours gagnant de varier les sources, notamment, si dans l'une de celle-ci, la notion est expliquée d'une façon avec laquelle le lecteur n'accroche pas (et ça fait pas tilt).
Maintenant, en effet, il est inévitable que lorsque vous prenez un tutoriel/livre sur Rust, des points seront similaires (explication des types, de l'ownership, des pointeurs intelligents, threads...). Pour ces points cela sera donc une reformulation et un complément d'information (dans un sens livre "Mastering Rust" -> Livre officiel comme dans l'autre).
Maintenant, de ce que j'ai pu voir, le livre "Mastering Rust" détaille le point sur les macros plus en détails que le livre officiel. Aussi, le livre "Mastering Rust" donne des exemples pour créer une application Web, une application se connectant à une BDD, une application avec interface graphique (reposant sur GTK), ce que ne fait pas le livre officiel. Du coup, le livre "Mastering Rust" permettra à un lecteur souhaitant se lançait dans un projet, de connaître l'existence de telle ou telle module pouvant l'aider. Aussi, le livre "Mastering Rust" explique comment utiliser Rust en coopération avec d'autres langages.
Pour conclure :
En tout cas, si vous achetez le livre, il serait super sympa de revenir sur cette discussion après lecture et dire ce que vous en avez pensé (et d'en faire une critique sur Developpez.com si vous le souhaitez).
Note finale : le livre officiel est traduit en français. Cela peut aider certains .
C'est une très bonne question !
Tout d'abord (à titre personnel), je n'ai jamais vraiment aimé me fixer à un unique tutoriel pour apprendre telle ou telle chose. Je pense que l'on est toujours gagnant de varier les sources, notamment, si dans l'une de celle-ci, la notion est expliquée d'une façon avec laquelle le lecteur n'accroche pas (et ça fait pas tilt).
Maintenant, en effet, il est inévitable que lorsque vous prenez un tutoriel/livre sur Rust, des points seront similaires (explication des types, de l'ownership, des pointeurs intelligents, threads...). Pour ces points cela sera donc une reformulation et un complément d'information (dans un sens livre "Mastering Rust" -> Livre officiel comme dans l'autre).
Maintenant, de ce que j'ai pu voir, le livre "Mastering Rust" détaille le point sur les macros plus en détails que le livre officiel. Aussi, le livre "Mastering Rust" donne des exemples pour créer une application Web, une application se connectant à une BDD, une application avec interface graphique (reposant sur GTK), ce que ne fait pas le livre officiel. Du coup, le livre "Mastering Rust" permettra à un lecteur souhaitant se lançait dans un projet, de connaître l'existence de telle ou telle module pouvant l'aider. Aussi, le livre "Mastering Rust" explique comment utiliser Rust en coopération avec d'autres langages.
Pour conclure :
- si vous avez lu le livre officiel et que vous êtes assez autonome pour trouver les modules pour faire telle ou telle chose, le livre ne sera pas très utile ;
- si vous avez lu le livre officiel et que certaines notions ne sont pas encore acquises (vous bloquez à l'écriture de code "simple", alors le livre pourra vous aider ;
- si vous n'avez pas lu le livre officiel, c'est une question d'investissement. Êtes vous prêt à payer un livre papier, alors que vous pouvez déjà vous en sortir avec une doc gratuite en ligne (si vous n'êtes pas débutant en programmation), ou êtes vous prêt à payer pour avoir une seconde source pour apprendre le langage.
En tout cas, si vous achetez le livre, il serait super sympa de revenir sur cette discussion après lecture et dire ce que vous en avez pensé (et d'en faire une critique sur Developpez.com si vous le souhaitez).
Note finale : le livre officiel est traduit en français. Cela peut aider certains .
Bonjour,
Merci pour la critique du livre.
Y'a-t-il un intérêt à le lire en complément du manuel "officiel" (https://doc.rust-lang.org/book/ ou en version papier) ou pas ou peu?
Est-ce que les concepts abordés méritent l'investissement?
Merci pour la critique du livre.
Y'a-t-il un intérêt à le lire en complément du manuel "officiel" (https://doc.rust-lang.org/book/ ou en version papier) ou pas ou peu?
Est-ce que les concepts abordés méritent l'investissement?