Outils pour utilisateurs

Outils du site


issue176:critique_litteraire

Object-Oriented Python Master OOP by Building Games and GUIs Author: Irv Kalb Publisher: No Starch Press Release Date: December 2021 416 pages ISBN 978-1-7185-0206-2 (print) Price: $44.99 (PREORDER) Website: https://nostarch.com/object-oriented-python When Ronnie came to me and asked if I would like to do a review of this book, I was pretty excited about the possibility. Being a teacher (of sorts) of programming, OOP was one of the subjects that I looked forward to and dreaded at the same time. When I started programming, OOP was not even a thing. I can remember back in the early 1990s, creating a simulation of AGVs (Automatic Guided Vehicles) in a manufacturing warehouse environment, moving parts from one section of the plant to another, following lines in the floor to get to the various work stations. It was a major challenge for me, since I had just wrapped my head around the idea of objects and how to use them in programs.

Python orienté objet (POO) Maîtriser le POO en créant des jeux et des interfaces graphiques Auteur : Irv Kalb Editeur : No Starch Press Date de sortie : décembre 2021 416 pages ISBN 978-1-7185-0206-2 (imprimé) Prix : 44,99 $ (PRÉCOMMANDE) Site Web : https://nostarch.com/object-oriented-python

Lorsque Ronnie m'a demandé si je voulais faire une critique de ce livre, j'étais très enthousiaste. En tant que professeur (en quelque sorte) de programmation, le POO était l'un des sujets que j'attendais avec impatience et que je redoutais en même temps. Lorsque j'ai commencé à programmer, le POO n'existait même pas. Je me souviens qu'au début des années 1990, je créais une simulation d'un AGV (Automatic Guided Vehicle - Véhicule autonome) dans un entrepôt de fabrication, déplaçant des pièces d'une section de l'usine à une autre, en suivant des lignes au sol pour atteindre les différents postes de travail. C'était un défi majeur pour moi, car je venais tout juste de comprendre l'idée d'objets et la façon de les utiliser dans les programmes.

Mr. Kalb has decided to take the approach to explaining Objects by breaking the subject into four logical parts, first showing how to handle a project using “regular” Python programming and then rewriting the examples and explaining them in terms of OOP. Not really the path that I would take, so I was even more curious to see how he would accomplish this task. Mr. Kalb has also decided to use Games and Graphical User Interfaces as the focus in teaching the subject of creating objects and manipulating them in ways that make sense to readers who might have a basic understanding of OOP, but want to get to the next level. Many authors have tried this approach with varying levels of success. I have to say that Mr. Kalb has succeeded in this in a logical and clear way. The projects for the most part are real world appropriate, and easily understandable for multiple levels of expertise of the readers. According to his own words, “The book is intended to be an intermediate-level text.” Readers who have no background in Python would certainly struggle a bit, but those who have the basics of Python down will certainly benefit from this book.

M. Kalb a décidé d'adopter l'approche consistant à expliquer les objets en divisant le sujet en quatre parties logiques, en montrant d'abord comment traiter un projet en utilisant la programmation Python « ordinaire », puis en réécrivant les exemples et en les expliquant en termes de POO. Ce n'était pas vraiment le chemin que j'aurais pris ; j'étais donc encore plus curieux de voir comment il allait accomplir cette tâche.

M. Kalb a également décidé d'utiliser les jeux et les interfaces graphiques pour enseigner la création d'objets et leur manipulation d'une manière compréhensible pour les lecteurs qui ont une connaissance de base de la POO, mais qui veulent passer au niveau supérieur. De nombreux auteurs ont essayé cette approche avec plus ou moins de succès.

Je dois dire que M. Kalb y est parvenu d'une manière logique et claire. Les projets, pour la plupart, sont adaptés au monde réel et facilement compréhensibles pour les lecteurs de différents niveaux d'expertise. Selon ses propres termes, « le livre est destiné à être un texte de niveau intermédiaire ». Les lecteurs qui n'ont aucune expérience de Python auront certainement quelques difficultés, mais ceux qui connaissent les bases de Python tireront certainement profit de ce livre.

The only thing that I found as a major negative is the fact that he covers the installation of Python only in a Microsoft Windows environment. No mention of Linux or MAC. However, as I think about it, I guess Linux and MAC users have the benefit that Python is already being installed in the OS for most distributions. All in all, I have to give this book 4 ½ stars, and anyone who is interested in learning Python Object Oriented Programming would benefit by having this book in their library. Kudos to both Mr. Kalb and No Starch Press for this book!

La seule chose que j'ai trouvée négative est le fait qu'il couvre l'installation de Python uniquement dans un environnement de Microsoft Windows. Aucune mention de Linux ou MAC. Cependant, en y réfléchissant, je suppose que les utilisateurs de Linux et de MAC ont l'avantage que Python est déjà installé dans le système d'exploitation de la plupart des distributions.

Dans l'ensemble, je dois donner à ce livre 4 étoiles et demi ; toute personne intéressée par l'apprentissage de la programmation orientée objet avec Python aurait tout intérêt à avoir ce livre dans sa bibliothèque. Félicitations à M. Kalb et à No Starch Press pour ce livre !

Table of Contents Acknowledgments Introduction PART I: INTRODUCING OBJECT-ORIENTED PROGRAMMING Chapter 1: Procedural Python Chapter 2: Modeling Physical Objects with Object-Oriented Programming Chapter 3: Mental Models of Objects and the Meaning of “self” Chapter 4: Managing Multiple Objects PART II: GRAPHICAL USER INTERFACES WITH PYGAME Chapter 5: Introduction to Pygame Chapter 6: Object-Oriented Pygame Chapter 7: Pygame GUI Widgets PART III: ENCAPSULATION, POLYMORPHISM, AND INHERITANCE Chapter 8: Encapsulation Chapter 9: Polymorphism Chapter 10: Inheritance Chapter 11: Managing Memory Used by Objects PART IV: USING OOP IN GAME DEVELOPMENT Chapter 12: Card Games Chapter 13: Timers Chapter 14: Animation Chapter 15: Scenes Chapter 16: Full Game: Dodger Chapter 17: Design Patterns and Wrap-Up Index

Table des matières (traduction pour la compréhension des lecteurs francophones - le livre n'existe pas en français)

Remerciements Introduction PARTIE I : INTRODUCTION À LA PROGRAMMATION ORIENTÉE OBJET Chapitre 1 : Python procédural Chapitre 2 : Modélisation des objets physiques avec la programmation orientée objet Chapitre 3 : Modèles mentaux d'objets et signification de « self » (soi) Chapitre 4 : Gestion d'objets multiples PARTIE II : INTERFACES UTILISATEUR GRAPHIQUES AVEC PYGAME Chapitre 5 : Introduction à Pygame Chapitre 6 : Pygame orienté objet Chapitre 7 : Widgets Pygame pour l'interface graphique PARTIE III : ENCAPSULATION, POLYMORPHISME ET HÉRITAGE Chapitre 8 : Encapsulation Chapitre 9 : Polymorphisme Chapitre 10 : Héritage Chapitre 11 : Gestion de la mémoire utilisée par les objets

PARTIE IV : UTILISATION DE POO DANS LE DÉVELOPPEMENT DE JEUX Chapitre 12 : Jeux de cartes Chapitre 13 : Chronomètres Chapitre 14 : Animation Chapitre 15 : Scènes Chapitre 16 : Jeu complet : Dodger Chapitre 17 : Modèles de conception et conclusion Index

issue176/critique_litteraire.txt · Dernière modification : 2022/01/06 15:44 de andre_domenech