Outils pour utilisateurs

Outils du site


issue183:critique_litteraire

The Recursive Book Of Recursion - Ace the coding interview with Python and Javascript Al Sweigart

Publisher: No Starch Press Release Date: August 16, 2022 (on Amazon.com USA) # Pages: 328 ISBN: 978-1718502024 Price: $39.99 (Preorder on Amazon.com USA) Website: https://nostarch.com/recursive-book-recursion Over the years, this is the 14th book review that I've done. How book reviews are handed out is pretty straight forward. If there is an author who has a speciality that fits a particular book, Ronnie usually asks that author if they would be willing to review that book. Sometimes, he will approach all of us and make a blanket offer. Usually, I try to leave book reviews for topics other than Python to the other authors. When the book is on Python, and the offer goes out to everyone, I usually respond to Ronnie privately and say if no one else wants to do it, I'd be happy to. I got the offer, so I jumped on the chance.

Éditeur : No Starch Press Date de sortie : 16 août 2022 (sur Amazon.com USA) Nombre de pages : 328 ISBN : 978-1718502024 Prix : 39,99 $ (Précommander sur Amazon.com USA) Site Web : https://nostarch.com/recursive-book-recursion

Au fil des ans, celle-ci est la 14e critique littéraire que je fais. Comment des critiques littéraires sont accordées est assez simple. S'il y a un auteur dont la spécialité convient à un livre précis, habituellement, Ronnie demande à cet auteur s'il voudrait bien faire une critique de ce livre-là. Parfois, il nous contactera tous pour faire une offre générale. En règle générale, j'essaie de laisser les critiques littéraires sur des sujets autres que Python aux autres auteurs. Quand le livre traite de Python et que l'offre est envoyée à tout le monde, je réponds habituellement à Ronnie en privé pour dire que, si personne d'autre ne veut le faire, je m'en ferais un plaisir. J'ai reçu l'offre et j'ai donc sauté sur l'occasion.

As most of you know, Al Sweigart is one of my favorite Technical authors. I'm guessing that at one time or another, I've read just about every book that he's written on Python, and have read many of his blog postings. I've never been disappointed. This book, however, made my face contort into “huh?” mode. The subtitle is “Ace the coding interview with Python and Javascript”. “Both Python AND Javascript?” my mind thought. Well, like I said, I've never been disappointed, so why not? David Beazley (Author of Python Cookbook and others) wrote the foreword for Al's new book. I decided to borrow a short segment from his chapter…

Comme la plupart d'entre vous le savent, Al Sweigart est l'un de mes auteurs techniques préférés. Je pense que, à un moment ou un autre, j'ai lu à peu près tous les livres qu'il a écrits sur Python et j'ai lu un grand nombre de ses articles de blog. Je n'ai jamais été déçu.

Ce livre-ci, cependant, m'a fait faire une grimace de questionnement. Le sous-titre est « Ace the coding interview with Python and Javascript » (Réussissez brillamment l'entretien de codage avec Python et Javascript). « À la fois Python ET Javascript ? » s'est demandé mon cerveau. Eh bien, comme j'ai dit, je n'ai jamais été déçu, alors pourquoi pas ?

David Beazley (l'auteur notamment de Python Cookbook) a écrit la préface du nouveau livre de Al. J'ai décidé d'emprunter une courte portion de son chapitre…

“In my unbridled excitement to say more about recursion, I originally wrote this foreword in the form of a few short stories involving friends who’d applied recursive thinking in different ways but achieved a similar result. First, there was the story of Ben, who learned about recursion, took it too far, and somehow managed to disappear off the face of the earth under mysterious circumstances after committing the following Python code into production: result = [(lambda r: lambda n: 1 if n < 2 else r®(n-1) + r®(n-2))( (lambda r: lambda n: 1 if n < 2 else r®(n-1) + r®(n-2)))(n) for n in range(37)]” This sums up the issue with totally understanding the topic of recursion. You just might disappear from the face of the earth! On to Al's new book.

« Mon enthousiasme débridé à l'idée d'en dire davantage sur la récursion, m'a fait écrire cette préface à l'origine sous la forme de quelques nouvelles impliquant des amis qui avaient appliqué la pensée récursive de différentes façons, mais dont le résultat était similaire. Tout d'abord, il y avait l'histoire de Ben, qui a appris des choses sur la récursion, est allé trop loin, et a réussi à disparaître de la terre dans des circonstances mystérieuses après avoir mis en production le code Python suivant :

result = [(lambda r: lambda n: 1 if n < 2 else r®(n-1) + r®(n-2))(

(lambda r: lambda n: 1 if n < 2 else r®(n-1) + r®(n-2)))(n)

for n in range(37)] »

Cela résume le problème de la compréhension totale du sujet de récursion. Vous pourriez éventuellement disparaître de la terre !

Maintenant, le nouveau livre de Al.

Al states in the section “Who is this book for?”: “This book is for those who are intimidated or intrigued by recursive algorithms. Recursion is one of those topics that seems like black magic to beginner programmers or freshman computer science students. Most recursion lessons are hard to follow and make the subject seem frustrating, even fearsome. For these readers, I hope that this book’s direct explanations and ample examples can help make the topic finally click.” After reading through a few chapters, I came across Chapter 10 - File Finder. I presented a function that recursively checks a folder and all subfolders for MP3 files many years ago in the Beginning Python series of articles here in Full Circle, so that immediately grabbed my attention.

Al annonce dans la section « Who is this book for? » (Qui est la cible de ce livre ?) « Ce livre est pour ceux qui sont intimidés ou fascinés par les algorithmes récursifs. La récursion est l'un de ces sujets qui semblent être de la magie noire aux programmeurs débutants ou aux étudiants en informatique de première année. Il est difficile de suivre la plupart des cours sur la récursion et ceux-ci rendent le sujet frustrant, même redoutable. Pour ces lecteurs, j'espère que les explications directes et les très nombreux exemples dans ce livre pourront aider à rendre le sujet enfin compréhensible. »

Après avoir parcouru quelques chapitres, j'ai vu le chapitre 10 - File Finder.(Trouveur de fichiers). Il y a pas mal d'années, j'ai présenté une fonction qui vérifie de façon récursive un dossier et tous les sous-dossiers de fichiers MP3 dans la série d'articles Python pour débutants ici dans le Full Circle et cela a tout de suite attiré mon attention.

The way he presents the topics (at least in Chapter 10) is to provide the full code of the example, then explain each section of the program afterwards. The File Finder type of program at first glance looks to be very simple and straightforward. However, when you dig into the code, it can turn into one of those projects that can cause a programmer to end up cross-eyed within a few pages. However, in true Al Sweigart style, he is not only able to present the project, but to explain it well – all in less than 14 pages. I have to admit, I have felt for a long time that I had a pretty good handle on the subject of recursion, but deep down inside, I had a desire to learn more. Thanks to Al Sweigart's new book, I think I'm far better informed than I was before. I will re-read this book a couple more times, just to add to the knowledge.

Sa façon de présenter les sujets (du moins dans le chapitre 10) est de fournir le code complet de l'exemple, puis d'expliquer chaque section du programme après. Au premier coup d'œil, le type de programme File Finder semble très simple et direct. Cependant, quand vous examinez le code attentivement, cela peut devenir l'un de ces projets qui feront loucher le programmeur après quelques pages. Toutefois dans le vrai style d'Al Sweigrat, il peut non seulement présenter le projet, mais aussi très bien l'expliquer - le tout en moins de 14 pages.

Je dois avouer que depuis longtemps j'ai l'impression d'assez bien appréhender le sujet de la récursion, mais en mon for intérieur, je voulais en apprendre davantage. Grâce au nouveau livre de Al Sweigart, je pense que j'en sais beaucoup plus qu'auparavant. Je vais relire ce livre deux ou trois fois de plus, tout simplement pour augmenter mes connaissances.

[Note de la traductrice : la table des matières qui suit est, comme le livre et comme tous les livres de No Starch Press qui sont disponibles sur Amazon.fr, en anglais. Aucun de ces livres n'a été traduit en français à ma connaissance.]

Table of Contents: Foreword Acknowledgements Introduction Part I: Understanding Recursion 1 - What is Recursion? 2 - Recursion vs Iteration 3 - Classic Recursion Algorithms 4 - Backtracking and Tree Traversal Algorithms 5 - Divide and Conquer Algorithms 6 - Permutations and Combinations 7 - Memoization and Dynamic Programming 8 - Tail Call Optimization 9 - Drawing Fractals Part II: Projects 10 - File Finder 11 - Maze Generator 12 - Sliding-Tile Solver 13 - Fractal Art Maker 14 - Droste Maker

Table des matières : Préface Remerciements Introduction 1ère partie : Comprendre la récursion 1 - Qu'est-ce que la récursion ? 2 - Récursion vs Itération 3 - Algorithmes classiques de récursion 4 - Retour en arrière et les algorithmes transversaux en arbres 5 - Algorithmes de type diviser pour conquérir 6 - Permutations et combinaisons 7 - Mémoïsation et la programmation dynamique 8 - Optimisation de l'appel final 9 - Dessiner des fractales 2ème partie : Projets 10 - Trouveur de fichiers 11 - Générateur de labyrinthes 12 - Solutionneur de tuiles coulissantes 13 - Créateur d'art fractal 14 - Créateur de Droste

issue183/critique_litteraire.txt · Dernière modification : 2022/08/04 15:41 de andre_domenech