Bonjour,
je salue également le travail des 2 auteurs.
Sur la forme, j'apprécie modérément -c'est un euphémisme- l'usage de l'orthographe inclusive. Je n'aime pas trop non plus les illustrations utilisées comme embellissement. On en déduira certainement ma génération
Sur le fond, je ferais plusieurs remarques :
- La partie technique concernant l'utilisation de Lazarus, de la LCL et du Pascal Objet est efficace. Le but est donc atteint : le contenu répond effectivement au titre de l'ouvrage.
- Les parties "Je suis pressé" sont astucieuses
- La partie relative à l'installation de Lazarus sous d'autres OS que Windows est très bien venue.
- Dans une critique que j'espère pas trop radicale parce que ce travail est au final un bel ouvrage, je pourrais évoquer un manque de distanciation "affectif" avec le sujet dans trop de propos figurant dans ce livre qui viennent à mon sens polluer la maitrise technique et pédagogique du sujet. Je sais que quand on aime, on ne compte pas. Mais dans le cas présent, on évite aussi de "conter". Lazarus est un bon IDE. Le Pascal est un bon langage. Et évidemment, la programmation orientée objet est une bonne approche. Ensuite, il faut différencier la LCL, la VCL, la FMX bâties avec le Pascal Objet auxquelles je n'attache pas du tout les mêmes vertus. On peut également différencier les compilateurs.
A mon sens cette promotion de Lazarus bâtie ici sur des arguments très péremptoires prête le flan à toutes les contestations possibles. Bon cela fait du buzz mais ce document n'en a pas besoin. Il est intrinsèquement utile. - La partie 1.1 ne l'est pas vraiment (utile) selon moi. Il est vrai qu'on la rencontre dans de nombreux livres relatifs à la programmation mais elle n'apporte rien. Un néophyte s'y perdra et se lassera. Un "déjà programmeur" l'ignorera.
Concernant le positionnement de Lazarus, à la place d'assertions comme :
- C’est tout simplement qu’il a su évoluer et intégrer les acquis d’une programmation moderne. (page 16)
- il est extensible grâce à un ensemble important de bibliothèques développées parallèlement par une foule de contributeurs ; (page 17)
- Gardez en tête que la structure complexe et la richesse de Lazarus sont des garanties de sa facilité d’utilisation (page 18)
- ...,
j'aurais bien voulu que certains points soient mis plus en avant et développés, laissant le lecteur juger de l'adaptation de Lazarus à l'emploi qu'il souhaite en faire :
un IDE fonctionnant sous Windows, Linux et macOS évitant la cross-compilation pour le développement Desktop
un IDE open-source avec une communauté (de passionnés) active... mais limité par les moyens
un wrappage direct sur les objets de l'OS permettant une intégration compète et simple des objets graphiques... sauf si on utilise l'interface Qt. Si tel est le cas, je recommanderais au lecteur directement d'apprendre à utiliser Qt et son C++.
beaucoup de composants anciens et souvent limités dans leurs fonctionnalités. Je prends toujours pour exemple le traitement des chaines HTML, de leur création jusqu'à leur impression. Les composants TMS SoftWare permettent de gérer le "mini HTML"
. Mais on sent bien que les codes déjà écrits et les objets déjà élaborés dans Lazarus et notamment sa LCL sont mal adaptés à cette évolution. Ce type de chaines est totalement et nativement géré par Qt avec du vrai HTML.
un code ancien, longtemps compatible Delphi 7 donc sur une base Windows avec ces API, très 'rustiné' ensuite.
un retard d'intégration des nouvelles technologies comme par exemple l'IA. Ce n'est pas propre à Lazarus mais à toutes les solutions Pascal. Delphi s'est débarrassé du problème en intégrant du Python dans son code... Autant programmer en Python avec une bibliothèque graphique Qt (pyQt) par exemple. Évidemment si on compare l'environnement Pascal avec les bibliothèques disponibles en Java, Python et C++, Pascal est loin derrière. Concernant Lazarus, c'est tout à fait acceptable : permettre de l'installer aussi bien sous Windows, Linux (RPM et Deb) et macOS et de compiler nativement proprement dans tous ces OS est une prouesse compte tenu des moyens dont dispose leur équipe de développement. Cela permet d'expliquer ce retard.Mais c'est quand même une réalité.
inadapté au développement pour les mobiles. Disons "expérimental" pour cibler android et totalement incapable de cibler iOS.
J'aurais bien voulu aussi -pour être exhaustif- que soit développé le déploiement des exécutables -même simples- compilés sous Linux et macOS à partir de Lazarus (même si le problème serait à évoquer avec d'autres IDE) fermant ainsi la boucle : j'installe l'IDE, je code, je compile, je déploie. Et les déploiements sont quand même assez délicats à mettre en œuvre notamment sous macOS : déplacer simplement votre projet.app de votre répertoire de compilation vers le répertoire des Applications n'est pas vraiment "fonctionnel" :
Finalement, c'est un document "fonctionnel" qui mérite toutes les éloges même si quelques lignes visant à promouvoir Lazarus sont contestables et peuvent provoquer sinon la critique, la contestation. D'autant que Lazarus n'a pas vraiment d'une telle argumentation pour faire ses preuves et combler ses utilisateurs.
Cordialement. Gilles
Partager