Entretien avec Bruno Fierens▲
Bruno Fierens a créé en 1985 la société TMS Software dont il est l'actuel directeur général. Cette société est spécialisée dans le développement de logiciels et plus particulièrement dans le développement de :
- composants VCL, FMX, LCL, FNC, ASP.NET, .NET et IntraWeb ;
- projets Windows, Web, Android, iOS et Windows Phone ;
- projets particuliers (consultant).
TMS Software dispose d'une équipe de développeurs. Son bureau principal est en en Belgique, mais il possède aussi des bureaux en Uruguay et au Brésil.
Bonjour Bruno. Je suis membre de l'équipe Pascal du club francophone des développeurs et IT pro : Developpez.com. Tout d'abord, nous serions intéressés par votre parcours. Pouvez-vous vous présenter en quelques mots à nos lecteurs ?
Je m'appelle Bruno Fierens et je suis le fondateur et le directeur général de la société à responsabilité limitée tmssoftware. J'ai étudié l'ingénierie électronique et durant ma carrière en tant qu'ingénieur en matériel numérique, j'ai été amené à faire du développement de logiciels.
Avec quels langages avez-vous commencé ?
Mes premiers essais de programmation ont été faits en BASIC sur un ordinateur de jeu connecté à une télévision. On m'a ensuite présenté Turbo Pascal en 1987 à l'Université.
Quels outils utilisez-vous aujourd'hui ?
À présent, nous utilisons la plupart du temps Delphi 10.1 Berlin et Visual Studio 2015. Des outils comme Finalbuilder, FixInsight, DUnit, NUnit et SVN sont essentiels à tous les produits que nous réalisons.
À propos du développement de logiciels en général, comment voyez-vos son évolution à travers les deux dernières décennies et plus récemment ?
Non seulement le développement de logiciels s'est complexifié de manière accélérée, mais il a aussi revêtu de multiples facettes. En termes de technologies, nous travaillons aujourd'hui à des applications pour les ordinateurs de bureau, les appareils mobiles et Internet. En termes de systèmes d'exploitation, nous travaillons avec Windows, Mac OS X, Android, iOS, Linux et de plus petits systèmes embarqués comme Raspbian. Le nombre de frameworks pour couvrir cette multitude de plates-formes a explosé ces dernières années. À certains égards, il y a aujourd'hui beaucoup plus d'infrastructures, elles-mêmes bien plus accessibles, qui devraient faciliter le développement de logiciels robustes, mais d'un autre côté, la vitesse à laquelle les choses évoluent rend de plus en plus difficiles un maintien à niveau pour toutes les nouvelles technologies et des choix judicieux pour un développement sur le long terme.
Personnellement, avez-vous suivi l'évolution que vous décrivez ?
Oui, j'essaye de rester à jour avec les technologies et les tendances les plus récentes du développement de logiciels. Ce n'est pas facile, mais j'essaye.
D'après vous, comment tout cela va-t-il évoluer, dans un futur proche et à plus long terme ?
J'ose espérer qu'en matière de systèmes d'exploitation et de frameworks, nous allons assister dans les années qui vont venir à une forme de stabilisation, de même d'ailleurs que pour le développement cross-platform. Avec l'évolution rapide des principaux systèmes d'exploitation pour le bureau et les mobiles, essayer de faire du développement cross-platform a été et reste comme poursuivre une cible en mouvement. Espérons qu'un ralentissement de l'allure de développement de ces systèmes d'exploitation et de ces frameworks permettra aux développeurs de logiciels de se concentrer davantage sur les solutions pour leurs clients plutôt que d'essayer d'être sans cesse à la pointe des technologies. À l'observation du rythme auquel adviennent les nouvelles caractéristiques de Windows, des navigateurs, de Mac OS X, d'iOS ou d'Android, je pense vraiment que ce ralentissement est déjà amorcé.
Le grand défi et la zone d'application d'où je soupçonne que viendront de nombreuses innovations sont l'Intelligence Artificielle et les communications sur une grande échelle entre capteurs et machines, ainsi que de machine à machine. Personnellement, j'appelle ce défi à venir l'Internet sécurisé des objets intelligents (secure internet of intelligent Things - sioiT). Le terme courant est IoT (Internet of Things ou Internet des Objets), mais ce dont nous avons réellement besoin, c'est de sioiT, quelques-uns de ces objets intelligents étant par exemple une voiture auto-conduite, un agriculteur numérique ou un robot pour l'entretien de la maison.
À propos du langage Pascal, comment le situez-vous dans le monde du développement de logiciels ? Pensez-vous que l'investissement de nos jours dans un langage comme Pascal ait un sens ?
Pascal est un langage de niche agréable et productif. D'un point de vue éducatif, il reste un langage structuré et suffisamment strict qui vaut la peine d'être étudié afin d'acquérir les concepts fondamentaux de la programmation. À part cela, son utilité dépend largement des solutions qu'il offre, c'est-à-dire de bons compilateurs et EDI, dans le domaine des technologies où travaille le développeur. Par exemple, Pascal est un postulant sérieux pour le développement d'applications de bureau Windows classiques parce que Delphi offre un bon EDI alors que pour les logiciels embarqués et le Web, le choix de Pascal est moins évident.
Passons à présent aux produits que vous développez. Qu'est-ce qui vous a conduit à développer vos principales bibliothèques de composants ?
Si l'on remonte aux années quatre-vingt-dix, je voulais surtout réutiliser mon propre travail et écrire des composants était une voie idéale à cette fin. Je me suis rendu compte que les autres pouvaient eux aussi bénéficier de cette réutilisation, et c'est ainsi que tout a commencé.
Quel est votre public cible ? Et est-ce que la communauté autour de vos produits est active ?
Nous visons les développeurs de logiciels. Je pense que cette communauté est plutôt bien vivante.
Quelles sont vos perspectives pour ces produits à court et à long terme ?
Nous continuerons de proposer des solutions partout où nous verrons des possibilités de laisser les développeurs se concentrer davantage sur leur domaine de problèmes que sur la technologie sous-jacente ; cela en offrant des composants pour encapsuler tout le savoir et les difficultés de cette technologie.
Comment envisagez-vous leur avenir ?
Il est stimulant de tout le temps adapter des produits existants à de nouvelles technologies et de créer de nouveaux produits pour ces nouvelles technologies, mais je pense que ce défi est inhérent à tout développement logiciel et que c'est lui qui rend ce développement si excitant pour l'esprit.
Récemment, nous avons effectué un travail important dans deux directions. La première est notre couche d'abstraction FNC (Framework Neutral Components). En développant des composants avec elle, il est à présent possible de créer des contrôles visuels à partir d'une base de code unique, de manière transparente et directe pour Windows, iOS, Android, Linux, Mac OS ou Raspian, en mobilisant la VCL, FMX ou la LCL. Pour les développeurs Pascal, cela ouvre la voie à un apprentissage unique et permet la pleine liberté dans le choix de l'EDI ou du framework à utiliser pour créer des applications pour tous les systèmes d'exploitation les plus importants.
La seconde direction est notre service myCloudData. Dans un monde connecté, les développeurs entendent offrir des applications à des utilisateurs qui veulent travailler sur leurs données depuis des applications Windows classiques, Internet, l'Internet des Objets ou des applications mobiles. Le Cloud offre une excellente manière d'accéder à ces données et myCloudData est un service qui offre un accès à de telles données. En utilisant ce service, vous obtenez une base de données en quelques minutes et pouvez y accéder depuis vos applications avec des composants prêts à l'emploi que nous fournissons à cet effet.
Avez-vous quelque chose de particulier à dire à ceux qui voudraient s'investir dans la création ou l'utilisation d'outils de développement écrits en Pascal ?
L'essentiel est d'être passionné par ce que vous faites !
Remerciements▲
Nous remercions milkoseck pour sa relecture orthographique.