Pourquoi avoir choisi RAD Studio et Delphi comme outils de développement plus qu’un autre ?

C’est une question qui m’a été posée il y a quelques jours et d’une certaine façon, par les temps qui courent, le choix de Delphi pourrait paraître bizarre. En réalité c’est un choix pragmatique : la possibilité de faire du développement de « vrais » logiciels compilés nativement pour Windows, macOS, Linux, iOS et Android à partir d’une seule base de code.

Petit retour en arrière. 30 ans en arrière en fait.

Je me suis mis au Pascal avec le Turbo Pascal 4 de Borland en 1990 à l’IUT d’Aix en Provence. Comme beaucoup de développeurs Pascal, mon premier contact l’a été durant mes études. Forcément j’y ai pris goût après des années à faire du Basic 1.0&128 et de l’assembleur 6809E sur TO9 puis du 68030 et du GFA Basic sur Atari 520 ST.

Une fois les études terminées j’ai travaillé sur AS/400 avec Synon/2e, du RPG et CL comme langages de base. Bye bye le Pascal dans un cadre professionnel.

J’ai quand même continué pour le fun et ai développé de nombreux petits jeux et utilitaires sous MS-Dos publiés comme freeware sur des serveurs minitel en 3617. Leurs sources sont et seront d’ailleurs publiés sur GitHub au fil des mois qui viennent. Ils peuvent encore tourner sous FPC en mode console. A l’époque j’ai également écrit des articles sur le Turbo Pascal puis Delphi pour plusieurs magazines informatiques (Pascalissime, Point DBF et Informatique&Développement).

Sans trop que je sache pourquoi j’ai flashé sur ce langage simple à apprendre, à comprendre, donnant du code source lisible et des programmes exécutables sans complications ni runtime.

Côté boulot c’est en 1994 que s’est posé la question d’interfacer des convoyeurs de vêtements avec le système informatique sur AS/400. Les différentes solutions possibles m’ont obligé à me mettre au C pour tenter un premier programme sous Windows 3.1 et franchement ça ne m’a pas donné envie de poursuivre.

Heureusement Delphi sortit quelques mois plus tard. Il m’a libéré d’un poids. J’ai sauté sur l’occasion pour faire ce fameux développement en Pascal. Un coup d’import de DLL d’IBM pour se connecter à l’AS/400, un accès au port série pour communiquer avec l’automate de production, une base de données locale en Paradox et c’était réglé.

A titre personnel je me le suis également acheté pour faire des développements sous Windows et des générateurs de sites Internet dès 1997 pour un annuaire et une boutique en ligne de matériel informatique (plusieurs milliers de références, des pages web mises à jour quotidiennement après récupération du fichier Excel provenant du grossiste TechData).

J’ai suivi les évolutions de Delphi au fil des années pour finalement arriver à la XE2 et sa première version de FireMonkey pour créer des applications iOS en utilisant Free Pascal depuis Xcode sur Mac.

Je suis passé de la version Professional à l’Enterprise lorsque je suis entré dans le programme MVP d’Embarcadero en 1997 ce qui me permet d’avoir accès à toutes les fonctionnalités et pouvoir en parler lors de démonstrations, présentations ou formations.

Même si j’en ai appris tout un tas d’autres, le Pascal reste l’un de mes langages préférés. Ceux qui en font vous le diront : il est simple d’accès et permet de tout faire.

De nos jours les projets informatiques suivent les modes et les langages associés. Le hic c’est qu’ils n’ont pas de pérennité.

A part WinDev (qui est un cas spécial) et Delphi il ne doit pas exister beaucoup d’environnements de développement, de frameworks et de langages ayant passé les 25 ans qui sachent toujours compiler et exécuter des programmes créés dans leurs premières versions avec pas ou peu d’adaptation des sources. Il suffit même parfois de remonter 5, 10 ou 15 ans en arrière pour avoir des problèmes ou une impossibilité de compiler des codes sources.

Même PHP, pourtant très répandu, a eu ses heures de gloire sur le oueb. Il a subi des ruptures de compatibilité importantes (généralement liées à des erreurs de jeunesse lors de sa conception ou pour des raisons de sécurité).

La base mise en place par Borland dans les années 1990 et désormais gérée par Embarcadero a les reins solides. Elle tient la route et la durée.

Des programmes compilés sous Windows 3.1, 95, 98 ou XP tournent toujours.

Manque de bol pour nous (développeurs), Delphi n’est pas à la mode en entreprise ni dans l’éducation en France. On préfère créer des développeurs web par milliers chaque année, mais le jour viendra où les « vrais » développeurs ne seront plus remplaçables lors de leurs départs en retraite…

On l’a vu pour le COBOL dans certains pays lors de la pandémie au COVID-19 : la pénurie de développeurs n’est pas dans le web mais dans les « vieux » langages qui sont et seront toujours très présents dans les entreprises, les administrations et le milieu industriel.

En France Delphi est très utilisé dans le milieu industriel, dans la finance, dans l’édition de logiciels (comptabilité, transport, santé) et bien entendu dans les outils internes à de nombreuses entreprises. Ca inclut des entreprises du CAC40 et des entreprises travaillant sur des projets sensibles dont on n’a pas le droit de parler en public…

Les gens qui ont choisi Python pour l’apprentissage de l’informatique dans l’Education Nationale et demandent à des organismes de formation d’atteindre les 30000 (oui, trente milles) nouveaux développeurs web par an sont dingues !
Ils ne seront plus en poste depuis longtemps quand la France devra payer leurs « choix d’avenir ».

Le problème du oueb, c’est que même si le JavaScript est partout, il dépend de logiciels qui ne sont pas développés en JavaScript. Pour fonctionner Python nécessite un compilateur ou un interpréteur.

Qui parmi les nouveaux informaticiens sera capable dans les 10 à 30 ans qui viennent de faire du développement logiciel sur de nouveaux systèmes d’exploitation, de nouveaux matériels, de nouveaux langages (sous réserve que le dérèglement climatique nous en laisse l’occasion) ?
Qui même créera les nouveaux frameworks qui seront utilisés par des milliers ou millions d’autres développeurs ?
Sommes-nous condamnés à avoir des développeurs utilisateurs plutôt que des créateurs ?

Le choix du langage Pascal qui est disponible sur de nombreux logiciels de développement ou en tant que langage de script sur des outils de reporting me semble plus pertinent que Python, .Net ou C#. Je ne suis pas objectif mais je reste lucide. Je sais que cette opinion est partagée par de nombreux « anciens » mais nous n’avons pas la parole sur les décisionnels.

Des pays comme la Turquie, l’Angleterre, l’Afrique du sud, le Maroc, le Brésil et plein d’autres ont le Pascal au programme de leurs cursus scolaires et dans l’enseignement supérieur. Embarcadero fournit des licences Academic de Delphi aux établissements d’enseignement qui le demandent. En France et BENELUX ça peut se faire directement auprès de Barnsten.

Les grosses sociétés de service en France ont toutes des développeurs Delphi (en petite quantité). Elles squattent le marché de la prestation en proposant de la maintenance applicative et parfois des migrations vers des outils « à la mode » pour « sécuriser » leurs clients qui au final perdent la main sur leurs outils de développement et augmentent des dépendances à des technologies à l’avenir lui-même dépendant des aléas des modes.

Je m’écarte du sujet, mais vous aurez sans doute compris que je suis attaché à Delphi et au Pascal en général.

Le défaut de visibilité, qui est abordé par les participants de chaque conférence ou rencontre, dépend aussi des développeurs et des entreprises utilisatrices. C’est un problème très français.

A force de ne pas revendiquer ses choix de logiciels de développement, ils ne sont plus visibles dans la profession et par conséquent sont vus comme des choix à éviter. Ca entraine une baisse d’intérêt dans les développeurs, d’autres entreprises qui pourtant pourraient en bénéficier et par conséquent aussi dans les écoles. L’avantage c’est que les développeurs peuvent théoriquement se « vendre » plus cher que leurs confrères concepteurs de sites et applications web.

En clair je compte sur vous pour jouer les évangélistes des technologies liées au Pascal, que ce soit sur Delphi ou d’autres. Il faut rappeler autour de vous que Le Pascal est l’un des meilleurs langages pour l’apprentissage et le développement de toutes sortes de logiciels allant du système d’exploitation au pilotage de robots sur mars en passant par des jeux vidéo, des logiciels de gestion de bases de données ou de flottes de véhicules de transport en commun.

Et pour ma part Delphi reste le meilleur environnement de travail en Pascal, même s’il ne tourne que sous Windows pour développer vers d’autres plateformes et que comme dans beaucoup de logiciels complexes il peut y avoir des bogues et des correctifs à chaque nouvelle version.

A l’époque où le choix de Delphi s’est fait pour moi, je n’ai pas vraiment eu le choix : c’était du C à la main, Visual Basic ou Delphi qui utilisait un langage que je connaissais et était édité par une entreprise en laquelle j’avais toute confiance.

Si le choix devait se faire de nos jours, je referais probablement le même pour le langage mais aussi pour la base : un seul code source, une compilation possible sur de nombreuses plateformes selon les versions ou licences de Delphi et les éventuels frameworks provenant d’autres éditeurs.

Même si Delphi est propriétaire, ce n’est pas le cas de son langage (contrairement à l’autre que je cite plus haut). Ce qu’on code est lisible sans passer par Delphi et peut généralement s’adapter ou servir avec d’autres environnement en Pascal (hors librairies fournies avec Delphi bien entendu). On peut étendre l’IDE grâce à des extensions que l’on peut développer sous Delphi. Et de nos jours on peut compiler pour Windows, macOS, iOS, Android, Linux et même du web (grâce au transpiler Pas2JS) et au gros travail d’intégration effectué par TMS Software.

Faire une application mobile dans un seul langage et la voir fonctionner sur iOS et Android sans avoir à doubler les équipes de développement, c’est quand même le pied, non ?

Tout ça pour dire que si vous tombez sur cette page par hasard et n’avez jamais tenté le Pascal ou Delphi il est temps de vous y mettre avec cette formation gratuite en ligne (aussi dispo sur YouTube) et la Community Edition de Delphi ou l’une de ses licences commerciales selon votre statut et vos objectifs de développement.

Si vous êtes dans l’enseignement contactez Barnsten ou Embarcadero pour savoir dans quelle mesure il est possible de vous obtenir des licences Academic et vous assister ensuite dans l’utilisation et l’enseignement de Delphi et du Pascal.

Si vous voulez des explications, une démo ou une présentation vous pouvez contacter Barnsten qui vous organisera ça sans problème.

Et si vous êtes déjà Delphinaute, criez-le sur les toits et partagez vos raisons !
(si vous avez quitté Delphi j’aimerais aussi en connaître les raisons, donc n’hésitez pas à me le dire)

Sur ce, merci d’être arrivé jusque-là. Ce n’était pas gagné en format web. ;-) 
 


A lire aussi

Webinaire du 3 novembre 2020 : Delphi et les tests unitaires (04/11/2020)
Webinaire du 24 novembre 2020 : diffuser nos logiciels et gérer leurs mises à jour (26/10/2020)
paclient retourne un code d'erreur 1 lors de l'utilisation de PAServer (08/09/2020)
Quoi faire une fois Delphi 10.4.1 Sydney installé ? (07/09/2020)
Installer la version 10.4.1 Sydney de RAD Studio, Delphi ou C++Builder (03/09/2020)
Pourquoi avoir choisi RAD Studio et Delphi comme outils de développement plus qu’un autre ? (30/07/2020)
Webinaire du 5 novembre 2019 : déploiement et débogage à distance (23/05/2020)
Webinaire du 22 février 2019 : créer des composants visuels sans faire de composant (23/05/2020)
Webinaire du 10 décembre 2018 : découvrez les nouveautés de Delphi 10.3 Rio (23/05/2020)
Delphi 10.4 Sydney arrive bientôt. Etes-vous prêts ? (21/05/2020)
Webinaire du 28 janvier 2020 : Utiliser des dessins vectoriels à la place d’images de différentes résolutions (29/02/2020)
Les patchs à installer sur la version Rio 10.3.3 de Delphi, C++ Builder et RAD Studio (27/02/2020)
Fêtons ensemble les 25 ans de Delphi ! #Delphi25th (11/02/2020)
Téléchargez Delphi 10.3 Rio gratuitement ! (03/02/2020)
Utiliser la VCL et FireMonkey dans des unités utilisées par des projets Windows ou multiplateforme (26/10/2019)
Les patchs à installer sur la version Rio 10.3.2 de Delphi, C++ Builder et RAD Studio (30/09/2019)
Les combinaisons de touches et raccourcis clavier utiles dans l'EDI de Delphi (29/05/2019)
Le nouvel IDE de Delphi se dévoile peu à peu pour la version 10.3 Rio (10/11/2018)
Les patchs à installer sur la version Tokyo 10.2.3 de Delphi, C++ Builder et RAD Studio (17/09/2018)
Faire attention aux fichiers ouverts lorsqu'on modifie un projet copié d'ailleurs (04/02/2018)
Utiliser les directives de compilations pour ne pas perdre ses données de production en développant ! (21/07/2017)
Contourner l'erreur "ld: warning: unknown dwarf DW_FORM_strp (offset=0xFFFFFF99) is too big in XXX.a(raw.o)" (28/06/2017)
Comment installer Delphi pour que tout fonctionne correctement ? (20/11/2015)

Membre du programme MVP.
Membre du programme MVP