Developpez.com - C++
X

Choisissez d'abord la catégorieensuite la rubrique :

logo

Critique de livres - Alp Mestan

Dernière mise à jour : - 3 livres - 3 critiques


couverture du livre 'Python'

Note 5.0

Python

Les Fondamentaux du langage - La Programmation pour les scientifiques

de Matthieu Brucher

Résumé de l'éditeur

L'objectif de ce livre sur Python est de fournir les fondamentaux de ce langage à des scientifiques habitués à d'autres langages comme le Fortran, le C, Matlab... et aussi à des informaticiens qui travaillent dans le milieu scientifique. Des connaissances élémentaires sur la programmation sont nécessaires au lecteur pour tirer le meilleur parti de ce livre.

L'auteur détaille les bases du langage puis présente, avec des exemples, des outils que les scientifiques n'ont pas l'habitude d'utiliser (sauvegarde des données, parallélisme, XML...). Ensuite, l'auteur décrit le module matriciel Numpy (comment manipuler des tableaux, la syntaxe et les fonctions usuelles), un "catalogue" des outils proposés par Scipy (optimisation numérique, statistiques, traitement du signal...) ainsi que des fonctionnalités graphiques indispensables pour les rapports ou les publications. La dernière partie présente les outils pour communiquer avec le C ou le C++.

Critique du livre par la rédaction (Alp Mestan)
Voici un livre unique en son genre. Comme vous pouvez le voir sur la table des matières, Matthieu Brucher introduit le langage Python en premier lieu, ce qui s'avère très efficace. En effet, ce langage est assez simple à aborder et l'auteur ne fait que faciliter les choses grâce à de bonnes explications, qui vont droit au but, ainsi que grâce à de nombreux exemples.

Ensuite, il s'agit de consolider ses connaissances en python à travers des exemples plus intéressants, qui abordent le XML, le réseau, la compression, le multithreading, etc, ce qui amène le lecteur à faire des essais, à comprendre. J'ai tenu à décrire ce début de livre car c'est à mon avis une très bonne approche qui prépare très bien pour la suite.

C'est à ce moment-là que les choses sérieuses commencent. L'auteur à partir de ce moment vise particulièrement les scientifiques (bien qu'il ne ferme pas la compréhension aux autres). Matthieu Brucher dédie une grosse partie du livre à des bibliothèques scientifiques utilisables en Python. En effet, une fois la syntaxe et les quelques subtilités du langages acquises, le lecteur a un niveau suffisant pour s'intéresser à la représentation des matrices, la transformée de Fourier, le traitement de signal et tant d'autres choess, en Python. Il s'agit donc à partir de ce moment là de considérer Python non plus comme un "simple langage de programmation" mais comme un outil scientifique pour le calcul, le traitement, la résolution, par exemple. L'auteur aborde donc un large spectre des possibilités de ces bibliothèques Python jusqu'à la fin du livre, en terminant avec l'intéraction entre Python et C/C++.

Ce qui m'a plu dans ce livre, bien que connaissant déjà la programmation (mais peu le langage Python), est la façon dont est abordé le langage. L'élévation du niveau est progressive, mais entraine une motivation due au fait que la programmation se concrétise : on est ensuite capable de se servir de Python comme de Matlab, ou comme tout autre outil de ce genre. De plus, Python étant un langage de programmation simple mais pourtant offrant tellement de possibilités, on peut écrire des applications réellement puissantes : aller chercher un fichier xml à une adresse donnée, récupérer des informations relatives à un signal, construire puis effectuer des traitements sur le signal, tracer différents graphiques, etc. Le sujet choisi par l'auteur est excellent et la mission est réussie. Il y a toutefois une seule chose qui pourrait déranger : ne rien connaître à la programmation ni à l'algorithmie. En effet, l'auteur ne passe pas des pages et des pages à décrire une notion simple. Les explications sont efficaces et seront comprises par, à mon avis, toute personne concernée par ce livre.

Sommaire

  • Introduction et origines
  • Le langage Python
  • Les modules indispensables de la bibliothèque standard
  • D'autres modules de la bibliothèque standard
  • Numpy : une bibliothèque mathématique pour Python
  • Scipy : la boîte à outils scientifiques
  • Graphiques 2D avec Matplotlib
  • Interface C/C++ avec Python

400 pages, Janvier 2008 Editions Editions ENI, ISBN10 : 2746040883
Commandez sur www.amazon.fr :
25.78 EUR TTC seulement (au lieu de 27.14 EUR TTC : prix éditeur) - Livraison Gratuite !
couverture du livre 'Intelligence Artificielle'

Note 5.0

Intelligence Artificielle

de Stuart Russell, Peter Norvig
Traducteur(s) : Marie-Cécile Baland, David de Loenzien, Patrick Haond
Public visé : Intermédiaire
Introduction : Le livre qu'il vous faut pour dcouvrir ou parfaire ses connaissances en intelligence artificielle.

Résumé de l'éditeur

Ce livre est LA référence en matière d'Intelligence Artificielle. Il en décrit et analyse tous les concepts : la logique, les probabilités et les mathématiques discrètes et du continu, la perception, le raisonnement, l'apprentissage, la prise de décision et l'action. Sa particularité est de présenter l'IA à travers le concept des agents intelligents, c'est-à-dire de systèmes qui décident de ce qu'il convient de faire. Les auteurs expliquent ainsi comment un agent intelligent réussit à percevoir son environnement de manière à déterminer et analyser ce qu'il s'y passe.

Critique du livre par la rédaction (Alp Mestan)
Ce livre est tout simplement excellent, à mes yeux. Au départ, on peut ne rien connaître de l'intelligence artificielle, tout simplement en avoir entendu parler, juste savoir que cela existe. Dès le début, les auteurs nous plongent dans cet univers grâce à un chapitre décrivant l'histoire de l'Intelligence Artificielle (IA). Par la suite, les auteurs vont peu à peu introduire certaines notions telles que celle "d'agent intelligent", introduite dès le début. Cette notion est d'ailleurs la notion centrale du livre, car c'est autour de cette dernière que va s'orienter toute la suite du livre.

Une particularité de ce livre est qu'il est assez théorique. Le lecteur est amené à réfléchir sur des sujets passionnants, à mettre en relation des concepts et à les exploiter lui-même. En effet, parmi les 400 et quelques exercices, certains sont des exercices de réflexion, simplement. D'autres, à l'opposé, sont des exercices de programmation. Il est cependant important de s'intéresser à l'aspect "réflexion" de ce livre car il vous fera comprendre excessivement plus facilement bien des concepts et algorithmes d'IA.

Si ce livre vous intéresse mais que vous hésitez à cause de l'aspect théorique, je ne peux que vous conseiller de le feuilleter si vous le pouvez, ou bien de consulter sa table des matières. Pourquoi ? Car si il aborde vraiment les thèmes qui vous intéressent, la théorie ne sera pas un problème. Bien que la démarche adoptée soit plutôt nettement scientifique, il demeure toutefois accessible grâce à son côté philosophie, car il est bien question de philosophie de l'IA. On y apprend à raisonner sur les agents intelligents dans un contexte donc à la fois scientifique et philosophique. Toutefois, ce livre n'est pas non plus accessible à Mr Tout le monde. Il faut tout de même avoir de bonnes notions d'algorithmie et avoir été ne serait-ce qu'un peu sensibilisé aux problématiques abordées ici. Par exemple : comment fait l'ennemi dirigé par l'ordinateur dans tel jeu pour avoir le meilleur angle de tir et pour décider du meilleur moment pour ce faire ?

En conclusion, ce livre aborde donc tous les aspects qui concernent l'IA. De la prise de décisions au raisonnement, on découvre un nouveau monde passionnant. Il ne faut toutefois pas vous attendre à des exemples en C++, Java ou autres car ce livre est à visée générique et ne cible donc aucun langage. Il s'agit ici de comprendre certaines logiques et de savoir les mettre en oeuvre. C'est donc un excellent livre pour découvrir ce monde. Il devient bien plus facile après sa lecture d'aborder l'implémentation d'intelligences artificielles dans vos programmes.

Sommaire

  • Intelligence artificielle
  • Résolution de problèmes
  • Connaissances et raisonnement
  • Planification
  • Connaissances et raisonnement en environnement incertain
  • Apprentissage
  • Communication, perception et action
  • Conclusions

1216 pages, 2ème édition, Septembre 2006 Editions Pearson Education, ISBN10 : 2744071501, ISBN13 : 978-2744071508
Commandez sur Pearson Education :
EUR TTC
Commandez sur www.amazon.fr :
68.40 EUR TTC seulement (au lieu de 72.00 EUR TTC : prix éditeur) - Livraison Gratuite !
couverture du livre 'Java - La maîtrise'

Note 4.0

Java - La maîtrise

2ème édition - Java 5 et 6

de Jérôme Bougeault
Public visé : Débutant - Intermédiaire
Introduction : Le guide de formation TSoft pour Java

Résumé de l'éditeur

Acquérir rapidement une solide maîtrise du langage Java - Conçu sous forme de modules très pratiques accompagnés d'exercices et de FAQ, ce guide d'autoformation est destiné à tout programmeur débutant en Java et souhaitant acquérir rapidement une solide maîtrise de ce langage de programmation.

Cette seconde édition porte sur les versions 5 et 6 du langage dans sa version standard (Java Standard Edition). Il couvre la syntaxe de base du langage, les techniques de programmation objet, ainsi que les principales bibliothèques de Java S2 : JDBC, AWT et Swing, Java.net, etc.

Cet ouvrage peut également être utilisé comme support pour la préparation aux certifications Sun Certified Java Associate (SCJA), Sun Certified Java Programmer (SCJP) et Sun Certified Java Developer (SCJD).

Critique du livre par la rédaction (Alp Mestan) (Juillet 2008)
A la réception de ce livre, bien qu'ayant lu des résumés à son sujet, je ne savais pas du tout à quoi m'attendre, moi qui cherchais apprendre grâce à un bon livre le langage Java. Et je n'ai pas vraiment été déçu.

Lorsque l'on débute la lecture de ce livre, on aborde en douceur le langage Java en étudiant les différents éléments de base du langage. L'apprentissage se poursuit directement par la programmation orientée objet en présentant les concepts de base de la POO puis l'étude des exceptions en Java. Ensuite, on s'attaque à la bibliothèque standard Java en apprenant à utiliser les classes utilitaires telles que celles relatives aux mathématiques, chaînes de caractères, collections, entrées/sorties. Ensuite, le niveau augmente d'un cran avec l'approche du multithreading en Java, de la programmation graphique avec Abstract Windowing Toolkit (AWT), la gestion des évènements, l'accès aux bases de données, la programmation réseau standard, Swing, etc. Enfin, on termine par des annexes, qui présentent un tas d'outils utiles, tels que JavaDoc, Netbeans ainsi que des petits Howtos comme celui sur l'utilisation de MySQL.

A priori, l'élévation du niveau est continue et progressive, l'accent est nettement mis sur la programmation orientée objet, qui est la base même du langage Java, ce qui est bon signe. Effectivement, on ne se laisse pas dépasser par la progression grâce aux nombreux petits exemples qui démontrent de manière efficace les concepts sous-jacents et la manière d'utiliser les différentes classes. Le livre ne s'attarde toutefois pas éternellement sur chaque chose tel que le ferait (à raison) un livre sur Java pour les débutants absolus en programmation.

Je n'ai que 2 petits reproches à faire à ce livre. Le premier n'en est pas réellement un ; en effet, il s'agit simplement du fait qu'il vaut mieux avoir déjà programmé dans un langage auparavant (même un langage non-orienté objet) pour tirer parti de la densité d'informations présentées. Le deuxième est que le Java est un langage qui fait un usage très intensif des design patterns (il n'y a qu'à voir le livre du Gang of Four sur le sujet qui se base sur Java pour tous les exemples de codes). Toutefois, dans ce livre, il n'est que très peu fait mention des DPs, ce qui est regrettable car cela signifie que le lecteur devra apprendre à part l'utilisation de ces formidables modèles de conception orientée objet.

Toutefois, cela reste un livre qui a sa place dans la bibliothèque d'un développeur qui s'intéresse au langage Java et qui désire passer l'une des certifications mentionnées dans le résumé ou qui veut tout simplement pouvoir réaliser des programmes utilisant la multitude de classes fournies dans la bibliothèque standard tout en manipulant correctement les divers éléments du langage.

Sommaire

  • Préambule
  • Module 1 : Introduction
  • Module 2 : Eléments du langage
  • Module 3 : Concepts objet avec Java
  • Module 4 : Les exceptions
  • Module 5 : Classes utiles en Java
  • Module 6 : Les entrée/sorties
  • Module 7 : Les collections d'objets
  • Module 8 : Java et le multi-thread
  • Module 9 : AWT et le développement d'interfaces graphiques
  • Module 10 : La gestion des événements
  • Module 11 : Accès aux bases de données avec JDBC
  • Module 12 : Les JavaBeans
  • Module 13 : JFC et Swing
  • Module 14 : Programmation Internet et réseau
  • Index
  • Annexe A : Installation du poste stagiaire
  • Annexe B : Description des outils du JDK
  • Annexe C : Documenter ses programmes avec Javadoc
  • Annexe D : Prise en mains de NetBeans
  • Annexe E : Access et MySQL
  • Annexe F : Corrigé des exercices
  • Annexe G : Glossaire

550 pages, 2ème édition, Février 2008 Editions Eyrolles, ISBN10 : 2-212-12250-0, ISBN13 : 978-2-212-12250-3, 19x26 - 1235g
Commandez sur www.amazon.fr :
42.75 EUR TTC seulement (au lieu de 45.00 EUR TTC : prix éditeur) - Livraison Gratuite !

Valid XHTML 1.1!Valid CSS!

Copyright © 2008 Alp Mestan. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++