IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Nouveau livre : J'apprends à programmer en Pascal Objet avec l'environnement de développement Lazarus


Sujet :

Lazarus Pascal

  1. #1
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 858
    Points
    20 858
    Billets dans le blog
    84
    Par défaut Nouveau livre : J'apprends à programmer en Pascal Objet avec l'environnement de développement Lazarus
    Livre : J'apprends à programmer en Pascal Objet
    avec l'environnement de développement Lazarus et le compilateur Free Pascal

    Jean-Luc Gofflot (alias Alcatîz) et Gilles Vasseur (alias gvasseur58) ont le plaisir de vous annoncer la naissance, après plusieurs années de gestation, de leur ouvrage intitulé J'apprends à programmer en Pascal Objet . C'est à notre connaissance le premier livre en français entièrement consacré à l'apprentissage du langage Pascal au moyen de l'EDI Lazarus. Il est destiné aux grands débutants en programmation et à tous ceux qui souhaitent renforcer leurs connaissances dans ce domaine.



    Entièrement gratuit, l'ensemble comprend plus de 900 pages et 250 illustrations. Il est accompagné de quizz et de nombreuses applications complètes fournies avec leur code source. En s'appuyant en permanence sur l'algorithmique et l'apprentissage par la pratique, les auteurs présentent aussi bien la programmation dite procédurale que la programmation orientée objet sur laquelle est fondé le langage moderne Free Pascal.

    Un premier module introduit en huit chapitres les éléments de base à connaître impérativement. Il impose une lecture linéaire pour une découverte très progressive du monde de la programmation. Le second module, en dehors de quelques restrictions signalées, peut se lire librement, selon un parcours personnalisé. Il comprend vingt-deux chapitres qui exposent et mettent en œuvre les notions clés nécessaires au développement d’applications performantes.

    Vous trouverez ci-après les liens permettant l'accès aux différents éléments du projet :



    Le travail présenté est destiné à évoluer et à se développer, éventuellement sous la forme d'un troisième module un peu plus pointu. Il a déjà bénéficié d'une relecture attentive et éclairée d'Yves Lemaire (alias tourlourou). Nous comptons lui adjoindre d'ici quelque temps une série d'illustrations humoristiques ainsi que de nouveaux chapitres.

    N'hésitez pas à nous faire part de vos remarques, suggestions, demandes particulières et éventuels encouragements !

    Et vous ?
    Qu'en pensez-vous ?
    Connaissez-vous déjà l'environnement de développement Lazarus ?
    Avez-vous des suggestions pour étoffer ce livre d'un troisième module ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 477
    Points : 4 676
    Points
    4 676
    Par défaut
    Bonjour,

    Je dois être très nul (ce n'est hélas pas un scoop) mais je ne trouve pas comment accéder à l'ouvrage.

    J'ai seulement accès à la table des matières.

    Le maniaque que je suis remarque que le style de chapitrage n'est pas constant :
    • Avec ou sans article,
    • Verbes conjugués ou à l'infinitif
    • Relation au lecteur impersonnelle (ex. Programmer sans code), collectif (ex. Consolidons nos acquis), substitutif (Je me pose des questions)...
    • Quelques formes distanciées (ex. En guise de conclusion)

    C'est souvent le résultat des contributions multiples mais cela donne une image qui ne représente pas la rigueur et qualité du travail fourni. Et, même sans avoir pu le lire, je sais le niveau et l'implication des rédacteurs.

    Je me suis permis de montrer ce qu'un style fixé (mais n'importe quel autre choix est légitime) pourrait donner. Ici les règles sont : pas d'article en tête de titre, pas de verbes conjugués, pas de personnalisation, essayer de mettre le mot principal en premier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Chapitre 1. Langage Pascal
    1.1. Notions fondamentales
    1.2. Langage Pascal
    1.3. Free Pascal et Lazarus
     
    Chapitre 2. Installer Lazarus
    2.1. Informations générales
    2.2. Installer Lazarus sous Windows
    2.3. Installer Lazarus sous Linux
    2.4. Installer Lazarus sous MacOS
    2.5. Installer Lazarus sous un autre système
     
    Chapitre 3. Premiers pas avec Lazarus
    3.1. Interface de Lazarus
    3.2. Application de bienvenue
    3.3. Programmer sans code
    3.4. Consolider les acquis
     
    Chapitre 4. Programmer avec Free Pascal
    4.1. Coder un gestionnaire d’événement
    4.2. Créer une application graphique
    4.3. Consolider les acquis
     
    Chapitre 5. Projet Lazarus
    5.1. Structure d’une application graphique
    5.2. Application console
    5.3. Règles de base de programmation Pascal
    5.4. Consolider les acquis
     
    Chapitre 6. Tableaux et itérations simples
    6.1. Épices & programme
    6.2. Application de gestion d'épices
    6.3. Traiter les chaînes de caractères
    6.4. Tableaux
    6.5. Tester l’application
    6.6. Consolider les acquis
     
    Chapitre 7. Ensembles, itérations et sélections
    7.1. Expression arithmétique
    7.2. Diviser le travail en routines
    7.3. Exemple
    7.4. Conclusion partielle
    7.5. Consolider les acquis
     
    Chapitre 8. Contrôles visuels principaux
    8.1. Composants standards
    8.2. Composants supplémentaires
    8.3. Propriétés communes
    8.4. Gérer les événements
    J'espère qu'une version papier sera possible, parce que 900 pages derrière un écran....

    Si mes propos paraissent inappropriés, faites moi la grâce de les oublier.

    Salutations

  3. #3
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Quel travail fabuleux ! Je n'ai parcouru que les premières pages, mais on admire de suite la qualité et la complétude de l'ouvrage, à la vue du sommaire.
    Immense bravo aux auteurs !

    @Guesset, il faut cliquer sur l'image du premier lien, et on accède au document PDF en question.

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 968
    Points : 59 743
    Points
    59 743
    Billets dans le blog
    2
    Par défaut
    Bonjour Guesset,

    Citation Envoyé par Guesset Voir le message
    je ne trouve pas comment accéder à l'ouvrage.
    Nous avons essayé de rendre plus claire la chose : est-ce mieux ?

    Citation Envoyé par Guesset Voir le message
    Le maniaque que je suis remarque que le style de chapitrage n'est pas constant :
    • Avec ou sans article,
    • Verbes conjugués ou à l'infinitif
    • Relation au lecteur impersonnelle (ex. Programmer sans code), collectif (ex. Consolidons nos acquis), substitutif (Je me pose des questions)...
    • Quelques formes distanciées (ex. En guise de conclusion)

    C'est souvent le résultat des contributions multiples mais cela donne une image qui ne représente pas la rigueur et qualité du travail fourni. Et, même sans avoir pu le lire, je sais le niveau et l'implication des rédacteurs.
    [...]
    Très honnêtement, je ne m'attendais pas recevoir cette remarque sur ce point précis. Je l'attendais plutôt à propos du style des chapitres (celui de Gilles est beaucoup plus sérieux que le mien :), des illustrations, des captures d'écran... Sur ce dernier point, d'ailleurs, ce fut un parti pris : Lazarus étant destiné à plusieurs plate-formes, nous avons opté pour la diversité des captures d'écran (Windows et Linux se taillant la part du lion).

    Citation Envoyé par Guesset Voir le message
    J'espère qu'une version papier sera possible, parce que 900 pages derrière un écran....
    La dématérialisation des supports est une tendance inexorable... Qui sait, si nous trouvons une solution pour proposer une version imprimée à un prix modique pour le lecteur nous pourrions peut-être un jour envisager la chose.
    L'avantage de ce format est que l'ouvrage peut être complété ou corrigé à l'infini sans nécessité de le rééditer.

    Citation Envoyé par Guesset Voir le message
    Si mes propos paraissent inappropriés, faites moi la grâce de les oublier.
    Nous sommes ouverts à toutes les remarques, et celles-ci sont constructives.

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 858
    Points : 58 401
    Points
    58 401
    Billets dans le blog
    43
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Nous avons essayé de rendre plus claire la chose : est-ce mieux ?
    C'est beaucoup mieux, j'avoue que je m'étais posé des questions à la première visite où je n'avais pas non plus pensé à cliquer sur l'image


    Félicitations à vous deux et aux relecteurs pour cet opus. Je suis très jaloux de la perf'

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    2 010
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2 010
    Points : 6 299
    Points
    6 299
    Par défaut Nouveau livre : J'apprends à programmer en Pascal Objet avec l'environnement de développement Lazarus
    Bravo...Travail très impressionnant!

    Mais je crains que les lecteurs cible ne soient surtout des développeurs à l'age avancé... Il serait peut-être judicieux que Embarcadero profite de ce genre de support pour développer une stratégie auprès des écoles d'informatique... Sinon, cette oeuvre, au même titre que ses lecteurs, finiront exposés dans un musée d'archéologie

    Petit question par curiosité: Pourquoi avoir utiliser Lazarus plutôt qu'un Delphi en version gratuite?

    Pour privilégier l'aspect freeware?


    PS: Il serait intéressant de connaître le pourcentage de développeur Pascal qui utilisent Delphi, Lazarus ou CodeTyphoon. Perso, à différent moment de la vie pour des projets particuliers, j'ai utilisé les 3 EDI (par exemple Lazarus pour des applications sur WinCE, aujourd'hui Delphi pour des app Android, etc...)

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 885
    Points : 11 401
    Points
    11 401
    Billets dans le blog
    6
    Par défaut
    La pédagogie progressive et la clarté du livre le rendent en tout cas accessible à des débutants et grands débutants de tous âges !

  8. #8
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 912
    Points : 2 604
    Points
    2 604
    Par défaut
    superbe environnement que j'ai un peu utilisé... par contre je trouve que la possibilité d'être sous un environnement x et de compiler pour un environnement y est très peu documenté, compliqué

    exemple

    etre sous linux et compilé pour android ou windows

  9. #9
    Rédacteur

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 858
    Points
    20 858
    Billets dans le blog
    84
    Par défaut Mise au point
    Bonjour à toutes et à tous !

    Merci pour l'accueil de ce livre qui nous aura bien occupés et qui, nous l'espérons vivement, remplira son rôle d'introduction à la programmation pour les grands débutants. Nos objectifs sont au bout du compte de plaire et d'instruire !

    Pour que les choses soient claires, je tiens cependant à (ré)affirmer ce qui suit :

    * Jean-Luc, Yves et moi-même n'avons aucun lien direct ou indirect avec Embarcadero. J'ai quitté ma fonction de responsable Delphi sur développez.com il y a de cela plus de deux ans à la suite de divergences profondes avec la politique de cette entreprise. Notre choix de Free Pascal (avec l'appui de l'EDI Lazarus) est fondé sur les qualités de ce produit gratuit, open source, multiplateforme, stable, moderne et jouissant d'une communauté internationale aussi active qu'étendue.

    * Le marronnier sur Pascal = un "langage pour ehpad" ne nous intéresserait qu'au zinc d'un café, bien éméchés, entre deux considérations sur la situation politique en Ouzbékistan, et encore ! Autrement dit, autant aller voir ailleurs si le sujet ne convient pas. A titre personnel, je répugne à aller parasiter certains forums quand le sujet me déplaît. Au minimim, j'aurais la décence de lire ce que les auteurs ont écrit pour voir s'ils savent garder une distance raisonnable avec leur sujet. L'enthousiasme n'est pas forcément bon conseiller, je le concède volontiers ! Il se trouve justement que nous avons abordé le thème de l'actualité du Pascal Objet (et non celui de Wirth !) pour qui voudrait aller plus loin : comme ce langage est très proche du pseudo langage algorithmique, nous le préconisons avant de se confronter à d'autres langages recommandés pour un avenir professionnel mieux garanti, mais qui nous paraissent plus difficiles d'accès. Je laisse chercher la page en question (elle se situe dans le module 1), avec une fraise Tagada virtuelle en récompense pour la première référence exacte. N'ayant aucune qualification en matière de voyance, nous ne sommes pas en mesure de prévoir l'avenir d'un quelconque langage, en particulier du Pascal Objet. Comme les langages tout aussi anciens, le langage Pascal a fortement évolué, sinon il aurait disparu et ne serait entre autres pas à la base de logiciels de référence comme FLStudio (musique), ProNote (gestion vie scolaire la plus diffusée en France), de la sécurité de plateformes pétrolières ou d'une (bonne) partie du système bancaire luxembourgeois... Quand l'actualité d'un langage informatique est abordée, il ne s'agit pas de se borner à notre petit hexagone, car le discours anti-Pascal ferait sourire, par exemple, en Allemagne, aux Pays-Bas, en Turquie, au Brésil, en Russie ou dans les pays du Maghreb... Cela dit, la pédagogie, et non la mode ou le qu'en dira-t-on, doit primer tant que les structures et les algorithmes de base conserveront leur pertinence. Nous savons tous par expérience que s'adapter aux évolutions est une constante du métier de programmeur et que notre travail finira toujours au mieux sur une étagère poussiéreuse, n'est-ce pas ?

    A présent, comme l'ont commencé certains par messages privés, nous attendons de réels propos sur l'ouvrage lui-même ! Rendues publiques, les critiques construtives ne nous effraient ou choquent aucunement, car elles sont normales pour un travail en co-construction. Je le répète : comme les classiques, mais bien ancrés dans le présent, nous voulons "plaire et instruire" !

    Bonne lecture et au plaisir de vous lire !

    Gilles

  10. #10
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 477
    Points : 4 676
    Points
    4 676
    Par défaut
    Bonjour,

    J'ai vu que l'image utilisée était d'une qualité modérée.

    J'ai donc reconstitué une image un peu plus exploitable à partir de plusieurs autres (certaines avec des macarons).

    Nom : Turbo Pascal DOS 7.0.png
Affichages : 1105
Taille : 1,03 Mo

    Par ailleurs, j'ai commencé à relire le document et apporter directement des annotations dans le PDF. Je ne crois pas que j'aurais eu la patience de rédiger par le menu le moindre processus comme les auteurs l'ont fait. J'en suis au tiers et me proposais de l'envoyer pour savoir si je devais persister quand je me suis aperçu que l'import était limité à 2 Mo. Le site propose-t-il une solution simple sachant que je ne souhaite pas utiliser un centre de dépôt de fichiers ?

    Salutations

  11. #11
    Membre expert
    Profil pro
    programmeur du dimanche
    Inscrit en
    Novembre 2003
    Messages
    885
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : programmeur du dimanche
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 885
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour,

    ça fait quelques années que j'ai envie de me remettre à apprécier un langage compilé, et sur ce forum je n'ai lu que du bien du pascal objet (alors même que je n'écris pas d'un EPAD )
    Je remercie beaucoup les auteurs d'avoir écrit ce livre.

    Deux questions :
    • serait-il possible de publier une version epub pour en faciliter la lecture sur liseuse ?
    • il semble, bien que ce ne soit pas l'objet, qu'on puisse déployer sur android dans des conditions correctes via LAMW: Lazarus Android Module Wizard : est-ce viable ? (je me doute que ce ne sera pas aussi beau que flutter, mais je demande juste quelque chose de fonctionnel et économe en ressources)


    Merci.

  12. #12
    Membre confirmé

    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Points : 482
    Points
    482
    Par défaut
    Bonjour,

    Merci aux auteurs pour ce livre. Je suis assez bien placé pour savoir ce que représente un tel travail d'écriture, un ouvrage de ce type ne se réalise pas comme un roman pour ados. Et en plus, il est gratuit alors :

    A cheval donné, on ne regarde pas les dents.

    Il se peut que j'aie des suggestions à faire, je les ferai en MP aux auteurs, pour enrichir (!) la prochaine édition, comme on dit.

    En ce qui concerne la tranche d'âge des utilisateurs du langage Pascal, il se trouve que la popularisation et la promotion de Turbo Pascal et plus tard de Delphi par Philippe Kahn ne sont pas étrangères à son adoption par les "jeunes" de cette époque. Il présentait (Pascal, pas Kahn !) l'avantage d'être compilé, de ne pas nécessiter de bibliothèque extérieure, d'être finalement proche du "C" avec la sécurité de la déclaration de type des variables qui manque toujours au C. Avec l'orientation moderne et des EDI conviviaux, il reste un langage moderne, et permet la réalisation d'applications multi-plateformes complexes et sophistiquées, comme on le voit tout au long de ce forum.
    A ceux qui considèrent que ces atouts sont dépassés, je suggère de s'adresser aux sites d'IA pour générer du code, le résultat ne sera peut-être pas tout à fait conforme à leurs espérances, mais je ne doute pas que ce soit rigolo.

    bb84000

  13. #13
    Invité
    Invité(e)
    Par défaut
    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" :
    Nom : lzapp.png
Affichages : 1055
Taille : 78,1 Ko

    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
    Dernière modification par escartefigue ; 06/04/2023 à 12h37. Motif: barbarisme "au final" ==> "finalement" : "le final" (masculin donc) c'est la dernière partie d'une œuvre musicale ;-)

  14. #14
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 477
    Points : 4 676
    Points
    4 676
    Par défaut Annotations Tome I
    Bonjour,

    Notes de lecture au fil de la lecture, pertinentes ou pas :
    • Page xx : Le titre de haut de page devrait être plus séparé du texte et vraisemblablement centré.
    • Page xx - Illustrations : En français, il y a un espace avant un ":" (à modifier dans le champ Illustration).
    • Page xx : Dans les titres, le retrait, la fonte de caractères (Texte et numérotation) ne sont pas stables. Un simple nettoyage de suppression des modifications de format locales pourrait sans doute y remédier.
    • Page xx : Tantôt les propriétés sont en gras italique tantôt en italique : des format caractère (carPropriete, carComposant, carCode...) seraient certainement utile pour qu'au long de l'ouvrage on retrouve la même convention.
    • Page xx : Plutôt que des images de touches, eut être qu'une fonte clavier serait plus intégrable à un texte.
    • Page 16 - note 14 : Assembleur dans les premiers langages ? Il y a .. au lieu de ...
    • Page 25 : Anamorphose de l'image. Elle devrait être plus large (le logo est carré)
    • Page 35 - note 29 : La taille de la fonte a augmenté localement
    • Page 37 - Illustration 26 : Anamorphose inutile (lisibilité faible). Proposition : couper à droite et rétablir un ratio de point carré.
    • Page 59 : L'icône de fermeture a une croix très peu visible sur son fond rouge.
    • Page 63 : Les listes commencent tantôt par des majuscules tantôt par des minuscules (ce n'est pas propre à cette seule page).
    • Page 68 : (et note 124 ) En mathématiques, l'égalité n'est ni une affectation ni une comparaison, mais une relation. A = B signifie simplement que c'est le cas non qu'on se pose la question.
    • Page 74 : (§ bas de page sur le ";") Une note pourrait peut être préciser que dans les langages C et C like le ";" n'est pas un séparateur d'instruction mais le caractère obligatoire de fin d'instruction.
    • Page 91 : (§ bas de page sur le "if ... then ... else") Peut-être qu'il serait utile de montrer l'écriture sans bloc begin...end pour une seule instruction comme dans le if LY then ... pour évoquer la disparition du ";"
    • Page 94 : (§ haut de page sur les autres éléments que le code) Et accessoirement sa documentation technique (tout ne peut être dans les commentaires ;-)
    • Page 95 : "Un opérateur est*une routine appliquant une opération arithmétique..." Pas seulement arithmétique, par exemple k := 127 xor 13;
    • Page 98 : L'encart de conversion est erroné. Avec cette notation, x = y car, en réaménageant seulement l'ordre : y calories = x * (4.1855 joules) <=> = x calories. Tout vient de la multiplication implicite des unités de mesure. Je propose : x_joules = 4.1855 * y_calories et y_calories = 0.23892 * x_joules.
    • Page 98 - note 72 : "...défiance généralisée..."Je crois qu'ils travaillent plutôt en Calories (aka kcalories). Ca en fait moins, donc moins grossir...
    • Page 103 : (milieu de page ...implémentation ...) il me semble que cela a déjà été évoqué.
    • Page 106 : "JOULESENCALORIES" ne me paraît pas très explicite, je propose JOULESPARCALORIE. Le nom respecte alors l'équation aux dimensions car JOULESPARCALORIE * calories évoque (Joules/calorie))*calories donc des Joules.
    • Page 109 : (§ haut de page) "...qui devra ressembler à ceci...". Je propose "qui ressemble à ceci :" car ce n'est pas une nécessité mais un exemple.
    • Page 113 : Code de la fiche. Il pourrait être utile d'utiliser une police à espace fixe car c'est un type de fichier sensible à l'indentation laquelle se voit très mal en chasse variable.
    • Page 122 : L'ordinogramme utilise un 'C' pour les calories ce qui est un peu malencontreux car C majuscule évoque (hors le Coulomb ) la grande calorie (1 Calorie = 1000 calories).
    • Page 123 : "l’élément de base est le bloc d’instructions" Ne serait-ce pas plutôt l'instruction qui peut ou pas appartenir à un bloc ?
    • Page 136 : "RAZEpices" Pourquoi ? Pour gagner de la place ? Avec le nombre d'épices FNombreEpices les positions inutilisées sont sans importance. Un RaZ_up pourrait éventuellement vider les positions non utilisées après l'enregistrement de n valeurs.
    • Page 145 : (code Pascal) La fonction Exit(LI) est introduite plus tard ? C'est pourtant un bon exemple de la simplification qu'il apporte.
    • Page 149 : (code Pascal) La forme abrégée (Result ;= (FNombreEpices <> MAXIEPICES) and (AValeur <> '') and (NumeroEpice(AValeur) = 0); if Result then...) est introduite plus tard ?
    • Page 164 : (4e §) "caractère « 4 » " Peut être que '4' serait plus adapté.
    • Page 168 : (code Pascal) " FErreur := True;" On suppose que FErreur est prépositionné à False ? Une fonction booléenne semblerait plus sûre. "FCar := '.';" Surprenant, FErreur reste à False alors que '.' n'est pas un caractère de l'ensemble.
    • Page 173 : (code Pascal) LisCar peut être remonté au bloc supérieur puisque commun aux deux alternatives. De plus la nécessité de blocs pour if FCar = '*' ... disparaît.
    • Page 175 : "<liste de cas>...cas uniques" Uniques ? Comme 3..12: ;-) ? Par ailleurs, le recouvrement partiel de ranges est accepté même si non recommandé.
    • Page 177 : (définition de la récursivité) "un algorithme s'appelle lui-même" Je propose "une partie d'un algorithme s'appelle elle-même" car généralement un algorithme récursif ne se réduit pas à une fonction récursive (initialisation, activation sont des phases classique et non récursives).
    • Page 183 : (avant dernier §) ... espaces superflus au lieu de superflues.
    • Page 189 : Présentation des composants standards différentes des présentations suivantes.Il n'y a pas d'ombrage pour les nom de composants ce qui me semble plus lisible que les suivants. L'onglet "Standard" n'est pas entouré d'un cadre jaune comme les suivants.
    • Page 190 : Définition des composants conteneurs. Est-ce utile de signaler que certains ne sont pas des conteneurs déclarés mais peuvent le devenir car fenêtrés ?
    • Page 190 : Liste de bas de page. Je propose "TImage : une image rémanente..." et "TPaintBox : une surface à dessiner et peindre non rémanente;"
    • Page 192 : "Propriétés communes" Dans la définition de "Name" je retirerais "précisément" qui est redondant avec unique.
    • Page 195 : (3e §) "Contrairement au module 1 que nous vous avons invité(e)" S'accorde avec module donc pas de (e). "...de limiter au maximum." Comme on pourrait aussi écrire "au minimum" je propose de retirer."au maximum"
    • Page 197 : (fin de page) Il peut être intéressant d'introduire le risque des valeurs magiques dans un code.
    • Page 198 : (fin de page) "...voire en ignorant toute norme." Ce qui est aussi une norme ;-)
    • Page 199 : Les liens de téléchargement changent de format.
    • Page 200 : (haut de page) "...BorderSpacing à 5" Il peut être intéressant de prendre une valeur qui soit en relation avec la grille de conception. Par exemple 4 pour une grille de 8. Cela facilite une répartition homogène sur toute l'interface.
    • Page 200 : (§ 2) "Taux minimum" devrait devenir "Taux minimal" car minimum est normalement un substantif.
    • Page 202 : (code Pascal) Peut-être introduire StringOfChar pour la répétition d'un caractère. Par ailleurs ce code pose un problème d'arrondis absents. Mais il est vrai que choisir où faire les arrondis n'est pas nécessairement simple et sort peut être du sujet.
    • Page 205 - note 119 : " constante typée ... avantageusement remplacée par les variables initialisées" Y compris leur usage où en C on écrirait static pour déclarer une variable qui conserve sa valeur d'un appel à l'autre mais peut être modifié au sein de la routine (en fait une variable globale à visibilité locale )?
    • Page 211 - Illustration 90 : Augmenter le contraste (voire la taille) serait bien.
    • Page 216 : (milieu de page) "La notion de variable initialisée ... chapitre128." Pourquoi ne pas créer un lien au lieu d'une note (qui utilise peut être un lien pour indiquer le n° de page) ? "La notion de variable initialisée ... chapitre page 222."
    • Page 221 : Echange par adition soustraction. Prévenir d'un risque d'overflow d'où la solution : A := A xor B; B := A xor B; A := A xor B; C'est joli mais pas nécessairement très compréhensible. Xor est associatif et commutatif. Ao et Bo les valeurs originelles de A et B. Alors A := Ao xor Bo; B := (Ao xor Bo) xor Bo = Ao xor Bo xor Bo = Ao xor 0 = Ao; A := (Ao xor Bo) xor Ao = Ao xor Ao xor Bo = 0 xor Bo = Bo;
    • Page 223 : (haut de page) Avertissement sur l'initialisation des variables. Peut-être inciter à regarder les messages du compilateur sur les variables non initialisées ?
    • Page 223 : (Tableau) Déclaration dans la section interface. Restriction : sauf les variables cachées par exemple au sein d'une section private d'un objet.
    • Page 249 : "Qu’est-ce qu’un type ordinal ?" La définition est exacte en mathématiques mais elle ne s'applique pas si facilement à l'informatique. Par exemples, les réels sont dénombrables en informatiques car ils sont codés sur un nombre limité de bits. Ainsi un double codé sur 64 bits ne pourra avoir plus de 2^64 valeurs différentes (moins en réalité ne serait-ce que pour le NaN et le fait que certaines valeurs peuvent se présenter sous plusieurs forme - mais une seule normalisée). Même les formats de nombres à taille variable ont une limitation même si celle-ci est tellement haute que les considérer comme non dénombrables n'est qu'une erreur de principe.
    • Page 270 : (§4.3) Je propose de remplacer "...que ce dernier commence..." par "...qu'il commence...".
    • Page 271 : (haut de page) les directives hésitent entre gras et pas gras.
    • Page 274 : Dans la liste des assertion correctes, il y en a une de tronquée : "Ord(False) = 0 (Ord renvoie le rang de so ;" Je présume que c'est "son argument".
    • Page 292 : Très jolie application. Cependant il y a une variante qui utilise le fait que les opérateurs booléens sont aussi des opérateurs binaires (ce qui serait très adapté à ce type d'exercice). Plus loin ?
    • Page 295 : (milieu de page) "évaluation complète" On peut aussi citer l'accès conditionné à un élément de tableau : if (i >= imin) and (i <= imax) and (Tab[i] = 100) ... Forme qui marchera en évaluation courte mais se plantera allègrement en évaluation complète.
    • Page 297 : (fin de page) "coprocesseur arithmétique" Sur la plupart des processeurs, le coprocesseur n'est plus identifié comme une entité à part d'autant que d'autres solutions existent souvent comme le jeu d'instructions SSE sur Intel/AMD que ne se prive pas de mettre à contribution FP.
    • Page 298 : (haut de page) Le type extended a également le défaut d'utiliser 80 bits ce qui ne facilite pas les alignements mémoire. Vivement les 128 bit ! Et les 64 Go de mémoire pour faire un "Hello world !"
    • Page 299 : "...utilisez le type Int64..." Peut-être faudrait il inciter à utiliser des alias de type qui précisent le format utilisé. Un real, un integer, qui varient de taille selon le système ne sont pas des garants de portabilité.
    • Page 301 : (haut de page) "Un nombre entier peut toujours être affecté à une variable de type nombre flottant." Mais il peut y avoir des pertes de précision.

    Je me suis arrêté à la page 320. Un certain nombre de remarques tomberont sans doute avec les chapitres suivants. Les premières annotations portent plus sur la forme que sur le fond ce qui semble normal.

    Il faut voir cette démarche comme une marque de respect malgré son caractère potentiellement irritant (mais non, mais non ). C'est parce que c'est un bon produit qu'on peut s'intéresser à le peaufiner.

    Salutations

  15. #15
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 969
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 969
    Points : 15 434
    Points
    15 434
    Par défaut
    Bonjour,

    pas eu le temps de le lire, par contre j'ai tout bien lu l'énumération de Guesset : fouhhh, quel boulot

    Trois bémols cependant :

    Citation Envoyé par Guesset Voir le message
    • Page xx - Illustrations : En français, il y a un espace avant un ":" (à modifier dans le champ Illustration).
    • Page 183 : (avant dernier §) ... espaces superflus au lieu de superflues.

    • Page 297 : (fin de page) "coprocesseur arithmétique" Dur la plupart des processeurs, […].

    • Page 299 : Peut être faudrait il inciter à […]
    Pages xx et 183 : en typographie française, le vide marquant la séparation entre deux mots, lettres ou symbole(s) est du genre féminin ! Hé ouais, on insère une espace,

    Page 297 : Dur la plupart […]

    Page 299 (mais c'est valable pratiquement partout) : tu as l'air fâché avec le trait d'union ! C'est pourtant lui qui fait la différence là : "Peut-être qu'il peut (pourra, pouvait) être sûr de sa remarque", cf. ma signature.

    Sinon, très bien d'avoir relevé tout ça (ça m'évite de le faire, )

  16. #16
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 477
    Points : 4 676
    Points
    4 676
    Par défaut
    Bonjour Jipété,

    Citation Envoyé par Jipété Voir le message
    pas eu le temps de le lire, par contre j'ai tout bien lu l'énumération de Guesset : fouhhh, quel boulot
    Trois bémols cependant :
    Pages xx et 183 : en typographie française, le vide marquant la séparation entre deux mots, lettres ou symbole(s) est du genre féminin ! Hé ouais, on insère une espace,
    Consultation internet (espace aujourd'hui masculin avec une possible exception):
    "Quand Dit-on une espace ?
    On peut utiliser le mot espace au féminin ou au masculin quand il est employé au sens de « blanc entre deux mots » et qu'il n'est pas suivi d'un adjectif : Il faut mettre une espace devant le deux-points. Ajoutez un espace entre ces deux mots."
    En résumé, le masculin n'est jamais une erreur même là où le féminin est toléré les jours (nuits ?) de pleine lune .

    Citation Envoyé par Jipété Voir le message
    .Page 297 : Dur la plupart […]
    Le D est trop près du S, je vais faire un procès au fabricant du clavier (déjà que ma femme trouve qu'il fait trop de bruit).

    Citation Envoyé par Jipété Voir le message
    .Page 299 (mais c'est valable pratiquement partout) : tu as l'air fâché avec le trait d'union ! C'est pourtant lui qui fait la différence là : "Peut-être qu'il peut (pourra, pouvait) être sûr de sa remarque", cf. ma signature.
    Dont acte. Comme toi avec les majuscules en début de phrase semble-t-il .

    Ceci étant, hormis les fautes de français (beaucoup de non phrases par exemple), il te reste 600 pages pour exercer ton sens critique, sans compter ce que j'ai sans doute raté dans les 300 premières .

    Salut

  17. #17
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 477
    Points : 4 676
    Points
    4 676
    Par défaut Livre et l'ivresse (oui n'importe quoi)
    Bonjour,

    Ce bouquin n'est pas neutre dans la pérennité du Pascal.

    J'ai toujours été surpris du manque de supports pour les produits open-source. Manque de livres et manque de formations notamment.

    Pour les plus réputés, il existe des forums et des FAQ voire même un peu de support (éventuellement payant) mais c'est nettement insuffisant car, si internet excelle dans la vue pointilliste (recettes en tout genre), il propose peu d'éléments de synthèse indispensables pour appréhender la complexité de beaucoup de produits. Est-ce qu'une collection de grains de sables forme un bac à sable, une plage ou le Sahara ?

    Et cela ne se limite pas au domaine informatique. Je pense à GIMP (il y a quand même quelques ouvrages), FreeCad, KiCad, LibreOffice, etc.

    Donc même si ce bouquin, à lui seul, ne changera pas l'avenir de Pascal, il peut y contribuer.

    En outre de vrais RAD qui permettent de générer un code natif efficace tout en travaillant à un haut niveau d'abstraction sans interdire un code raz de machine (assembleur embarqué), il y en a très peu. Je ne vois que Delphi (des sous, des sous...), Visual Studio (pas vraiment gratuit) et QT (avec un flou de licence redoutable). Il y a donc une place pour Lazarus (et Code Typhon dont l'environnement est plus complet même s'il sent un peu le souffre).

    L'autre grand manque de Lazarus est la documentation qui, trop souvent, renvoie vers l'implémentation. Mais il faut bien commencer par un bout.

    Salutations

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Guesset Voir le message
    QT (avec un flou de licence redoutable)
    Bonjour,

    pas exactement "floue".

    Il n'y a un flou que si vous ne souscrivez pas à une licence commerciale ou à la solution moins onéreuse qu'est la licence Qt for Small Business..

    Seule la solution Qt for open Source development est difficile d'approche, en tout cas pour moi, peut-être parce que je ne maitrise pas complètement les tenants et aboutissants des licences supportées : "LGPL version 3, GPL version 2 and GPL version 3".

    Cordialement. Gilles
    Dernière modification par Invité ; 07/04/2023 à 21h31.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 3
    Points : 11
    Points
    11
    Par défaut
    Pas encore pensionnaire d'EHPAD, même si j'ai tapoté mes premières lignes de code pascal à la fac en ... 1989-90.

    Auteur d'un ouvrage technique (commercial celui-ci mais sur un sujet qui n'a rien à voir) je sais la masse de travail que représente celui-là, surtout sans l'appui technique d'un éditeur qui fait passer ses mercenaires de la relecture sur les moindres lignes.

    Bref, juste un très grand BRAVO !

  20. #20
    Membre averti
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 318
    Points : 308
    Points
    308
    Par défaut
    Bonjour
    Jusqu'à présent, je m'inspirais du livre de Matthieu GIROUX "LAZARUS FREE PASCAL nouvelle édition".
    Ce PDF complète bien le livre.

Discussions similaires

  1. Réponses: 27
    Dernier message: 21/03/2023, 13h10
  2. Réponses: 11
    Dernier message: 02/09/2006, 02h38
  3. [D2006] - C# ou Pascal Objet - Quelle différence
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 15
    Dernier message: 10/03/2006, 02h07
  4. [LG]Pascal Objet toutes platformes
    Par smyley dans le forum Langage
    Réponses: 8
    Dernier message: 20/09/2004, 21h13
  5. Les possibilité que C++ offre par rapport à Pascal Objet
    Par Riko dans le forum Langages de programmation
    Réponses: 13
    Dernier message: 01/02/2003, 22h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo