Entretien avec Martin Schreiber

Le créateur de l'environnement de développement MSEide+MSEgui

| Équipe Pascal | Alcatîz | Gilles Vasseur |

Traducteur

Roland Chastain

Après Johann Elsass, et Paul Toth, c'est Martin Schreiber qui a eu la gentillesse de répondre aux questions de Roland Chastain. Vous connaissez MSEide+MSEgui ? Martin Schreiber l'a développé. Seul. Ce n'est donc pas un hasard si l'équipe Pascal l'a contacté.

Commentez

- Titre : Entretien avec Martin Schreiber

- Auteurs : Équipe Pascal, Alcatîz, Gilles Vasseur

- Traducteur : Roland Chastain

- Parution : 3 janvier 2016

- Mise à jour : 18 février 2020

- Public visé :

- Licence : Copyright ® 2016 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Entretien avec Martin Schreiber

- Remerciements

Entretien avec Martin Schreiber

MSEide+MSEgui est un outil de programmation visuelle qui, à l'instar du célèbre Delphi, est en langage Pascal. Licence GNU oblige, le compilateur employé ici est le Free Pascal. Particularité très intéressante, la compilation des programmes se fait aussi bien sous Windows que sous Linux, en gardant le même résultat visuel sous les deux OS.

English version : see here .

Équipe Pascal : Bonjour Martin ! Je suis membre de l'équipe Pascal du site francophone Developpez.com. Si vous ne le connaissez pas, jetez par exemple un œil à cette discussion .

Martin Schreiber : Hélas, bien que j'aie suivi des cours de français pendant plusieurs années à l'école, ma connaissance de cette langue est encore moindre que celle de l'anglais. :-(

Nous préparons une série d'interviews de personnalités importantes du monde du Pascal et nous serions vraiment heureux si vous acceptiez d'y participer.

Bien sûr. :-)

Tout d'abord, nous aimerions connaître votre parcours personnel. Pouvez-vous vous présenter en quelques mots ?

Je suis ingénieur en électronique, hardware et software, et je suis propriétaire d'une société d'ingénierie. Nous développons une large gamme de circuits électroniques, allant de l'acquisition de données photo au sens très large à des systèmes complexes de microordinateurs, du bon marché au high-tech. Notre spécialité est l'alliage de haute technologie et de composants peu coûteux.

Comment êtes-vous arrivé à l'informatique, et au développement logiciel en particulier ?

Mon premier contact avec la programmation se fit avec les calculatrices de poche HP25 et HP41 et leur assembleur pour MC 6809. Avec la disponibilité des microprocesseurs, le développement logiciel a pris une grande place dans mon travail.

Avec quel(s) langage(s) avez-vous débuté ?

Avec l'assembleur, OS9 Basic, l'Omegasoft Pascal de Robert Reimiller (un très bon produit, soit dit en passant) et le C. J'ai donc utilisé le Pascal dès le départ.

Quelle est votre méthode de travail ?

Je fais la plupart des choses moi-même. En définitive, c'est plus rapide…

Quels outils utilisez-vous ?

Pour ARM, j'utilise MSEide, avec la suite d'outils gcc. Pour le développement pour microcontrôleur AVR32, j'utilise MSEide+MSEgui avec Free Pascal aussi bien pour les interfaces utilisateur que pour le développement d'outils et d'applications complexes de bases de données.

Pour le développement pour µC PIC16xxx, j'utilise toujours l'assembleur.

À propos du développement logiciel en général…

Comment pensez-vous que le développement logiciel a évolué durant ces vingt dernières années ? Et plus récemment ?

J'ai des sentiments mitigés à propos de l'évolution du développement logiciel de cette dernière décennie. Je pense qu'une bonne part n'est que du battage médiatique et du marketing. J'ai peur que beaucoup de jeunes développeurs ne connaissent jamais le côté artisanal du développement logiciel, parce que les outils et méthodes modernes en cachent trop les rouages.

Avez-vous personnellement suivi cette tendance ?

Non.

Comment voyez-vous tout cela dans un futur proche et plus éloigné ?

Je l'ignore.

À propos du langage Pascal…

Où le situez-vous dans le monde du développement logiciel ?

Pour moi, sa combinaison avec MSEide+MSEgui ou un autre outil similaire constitue l'environnement de développement le plus productif pour des tâches généralistes.

Pensez-vous que cela ait un sens, aujourd'hui, d'investir dans un langage tel que le Pascal ?

Bien sûr. Je suis actuellement en train de travailler sur un compilateur Pascal avec une infrastructure LLVM(1) pour la déclinaison de FPC utilisée par MSEgui. Plus tard, l'implémentation de MSElang est également prévue.

À propos de vos produits…

Comment en êtes-vous arrivé à développer MSEide et MSEgui ?

J'utilisais un compilateur Pascal bien connu pour développer un outil GUI pour notre usage interne. Après un lourd investissement de notre part, le produit a été abandonné sur Linux…

Après cela et d'autres expériences similaires avec d'autres outils de développement, j'ai réalisé que les éditeurs d'outils commerciaux ne pouvaient fournir aux développeurs de logiciels ce dont ils ont besoin. Ils ont besoin d'outils qui évoluent sur des décennies, alors que les éditeurs commerciaux ont besoin de bons résultats trimestriels et souvent de produits entièrement nouveaux pour atteindre de meilleurs chiffres de vente.

J'ai donc décidé de créer moi-même les outils dont nous avions besoin, en partant de rien, sans aucune charge commerciale, avec comme buts principaux la productivité et la qualité, et en allant vers l'open source. Un objectif important du développement était de doubler notre productivité par rapport aux autres environnements de développement classiques.

Nous avons atteint cet objectif pour nos projets.

Quel est votre public cible ?

Les plus jeunes, les retraités et les professionnels avec des exigences élevées de qualité, qui savent que les solutions les plus en vogue ne sont pas nécessairement les meilleures. Et puis, en première place, moi-même et ma société.

La communauté autour de vos produits est-elle active ?

Elle est réduite, mais active. Voyez plutôt : https://www.mail-archive.com/mseide-msegui-talk@lists.sourceforge.net/ ou https://sourceforge.net/projects/mseide-msegui/lists/mseide-msegui-talk.

Quels sont vos projets pour ces produits, à court et à plus long terme ? Comment envisagez-vous leur avenir ?

Je les utilise dans mon travail quotidien. Tous les bogues reproductibles sont corrigés dans les minutes, les heures ou les jours qui suivent, selon que je suis en train de travailler sur MSEide+MSEgui ou pas.

MSElang nécessitera encore plusieurs années de développement avant d'être mis en production.

Les résultats que j'ai obtenus avec l'infrastructure LLVM sont déjà très convaincants.

Comme je l'ai déjà dit, j'ai créé ces outils principalement pour ma société. J'ignore – et peu me chaut en réalité – s'ils seront adoptés par un plus large public dans le futur.

Finalement…

Auriez-vous un conseil à donner à quelqu'un qui voudrait se lancer dans la création d'un environnement de développement en langage Pascal ?

Soyez persévérant et ne sous-estimez pas les efforts nécessaires pour construire des outils indépendants du langage. :-)

J'ai investi environ 20 000 heures sur MSEide+MSEgui.

Martin

Remerciements

Merci à Claude Leloup pour sa relecture.

(1)« Low Level Virtual Machine » , en français « machine virtuelle de bas niveau ». C'est une conception de compilateur permettant l'optimisation de toutes les phases de la compilation et même de l'exécution d'un programme.