Page 1 sur 1

Interview by Quin and Nsstudios (Traduit)

Publié : ven. 07/févr./2025 11:03
par Marc56
Annonce de Fred sur le forum us
Traduction automatique par Google de l'article Interview by Quin and Enne

Blog de l'équipe PureBasic
réflexions aléatoires sur le développement PureBasic

Entretien avec Quin et Enne

Salut Fred et bonnes fêtes !

Nsstudios (Enne) et moi avons compilé pour vous cette liste de questions sur Pure/SpiderBasic et sur les logiciels Fantaisie en général. J'espère que vous pouvez toutes les poser !

Partie 1 : La vie privée

Quin : Cela fait un certain temps depuis notre dernière interview. Quelle est votre situation personnelle aujourd'hui ? Avez-vous des enfants, où vivez-vous, etc. ?

Bonjour Quin et Enne, merci d'avoir accepté cette interview ! D'un point de vue personnel, ma vie a beaucoup changé depuis la dernière interview qui remonte à presque dix ans. Je suis mariée depuis 10 ans, j'ai deux garçons qui ont maintenant 8 et 5 ans, donc ils sont assez grands pour avoir du temps libre le soir/la nuit 😄. Nous vivons en banlieue parisienne et je travaille quotidiennement dans une grande banque française appelée SG.

Quin : Que pensez-vous de la situation actuelle de PureBasic/SpiderBasic ? Vous venez de sortir la version majeure SB 3.00 et la première version bêta de PB 6.20 est sortie il y a quelques jours. Que pensez-vous de l'évolution des produits de Fantaisie Software au cours des derniers mois/années ?

Je suis assez fier de la situation actuelle, avec deux produits robustes qui ont trouvé leur public. Gardez à l'esprit que même si je suis le principal responsable de ces produits, je reçois l'aide de nombreuses autres personnes pour améliorer les produits finaux (traduction de la documentation, amélioration de l'IDE, aide au moteur 3D, voire écriture de nouvelles bibliothèques). Pour PureBasic, qui est le plus complexe des deux en raison de la nature native du code machine du compilateur, j'ai l'impression que c'est maintenant un produit mature qui couvre de nombreux domaines et permet d'écrire très rapidement des programmes et des jeux multiplateformes d'aspect natif. Le temps passé ces dernières années à résoudre les nombreux problèmes restants porte ses fruits et les nouveaux rapports de bugs sont moins fréquents qu'auparavant. En ce qui concerne SpiderBasic, c'est un peu différent car c'est toujours une sorte de nouveau produit pour moi, même s'il a maintenant 10 ans ! Il faut plus de temps pour que les choses soient bien faites, mais la dernière version 3.00 est un grand pas en avant avec une vue Web intégrée, une sortie de débogage dans l'IDE et une nouvelle interface utilisateur mobile. De plus en plus de personnes créent des applications avec cette technologie, ce qui est un bon signe pour l'avenir.

Quin : Combien de temps consacrez-vous généralement à SpiderBasic par rapport à PureBasic ? En général, l'un est-il prioritaire sur l'autre ?

J'essaie de ne pas le faire, mais PureBasic a récemment attiré plus d'attention en raison de certains changements importants (nouveau CRT, corrections de bugs pour les anciens, nouveau back-end C, mise à jour d'OGRE3D). Je m'attends à ce que cela change à partir de cette année pour que le temps soit mieux réparti entre ces deux éléments.

Quin : Comment décidez-vous exactement sur quoi travailler ? Est-ce ce qui vous semble le plus gérable ou quelque chose qui vous intéresse actuellement ?

Dernièrement, j'ai surtout fait les choses essentielles sur PureBasic pour le maintenir à jour et le faire fonctionner sur les nouveaux systèmes d'exploitation. Il n'y a pas eu beaucoup de nouvelles fonctionnalités ces dernières années et j'espère que cela changera car je préfère en effet écrire du nouveau code qui améliore le compilateur/jeu de commandes plutôt que de réparer des choses qui fonctionnaient auparavant.

Enne : Comment t'es venue l'idée de créer PureBasic ? Que ferais-tu différemment si tu devais créer PB aujourd'hui ? As-tu des regrets ?

PureBasic trouve ses racines dans l'époque (ancienne) d'Amiga et est le successeur spirituel de BlitzBasic . À cette époque, il y avait des cartes accélératrices qui étaient sorties sur Amiga en utilisant des puces PowerPC (l'Amiga utilisait des puces 680×0) et BlitzBasic ne les supportait pas. J'ai donc écrit une sorte de fork à partir de zéro pour supporter PowerPC. Cela a commencé comme ça, puis quand l'Amiga est finalement mort, je suis passé sur PC et j'ai porté PureBasic pour x86. Si je devais démarrer PureBasic aujourd'hui, ce serait un produit différent car j'ai beaucoup plus d'expérience maintenant. Mais j'ai eu cette expérience en construisant PB, donc il est difficile d'avoir des regrets. Je pense que le seul regret que j'ai est d'avoir passé autant de temps sur des back-end/API ASM aujourd'hui morts (PowerPC pour macOS, x86 pour macOS, Carbon pour macOS). J'aurais dû passer à un back-end C beaucoup plus tôt.

Enne : Utilisez-vous PureBasic ou SpiderBasic pour vos projets en dehors du développement PB/SB ? Pouvez-vous nous dire à quoi vous les utilisez si c'est le cas ?

J'utilise PB pour créer des outils de gestion du processus de création de PB et SB. À part ça, je ne les utilise plus pour d'autres projets. J'aimerais trouver le temps d'utiliser SB pour créer un bon jeu pour enfants pour Android/iOS, mais pour l'instant, c'est hors de portée.

Enne : Qu'est-ce que vous trouvez le plus gratifiant dans le maintien de PureBasic et SpiderBasic ?

Le plus gratifiant est de voir cette communauté saine autour de ces produits, avec de bons résultats d'aide. J'aime aussi suivre les projets réalisés avec ces produits.

Quin : Comment équilibrez-vous votre vie personnelle avec le maintien et le développement de PB et SB ?

Je garde un peu de temps pour la famille le week-end et pendant les vacances, ce n'est pas difficile. Les soirées sont consacrées au développement (et je peux veiller tard) !

Quin : Bien que SB ne soit certainement pas un produit mort, on a observé que ses forums ne sont pas aussi actifs ou vivants que ceux de PB, malgré son âge. Pensez-vous que cela va changer un jour ? Pour ma part, j'adore SB, je pense qu'il n'a tout simplement pas eu son heure de gloire.

Il est difficile de se faire une place dans le développement d'applications mobiles car il existe de nombreux outils gratuits qui ont le vent en poupe. Mais je pense que ça s'améliore et que si SB fonctionne comme il se doit (ce qui n'est pas toujours le cas, à vrai dire), il devrait trouver son public. C'est un bon package tout-en-un qui peut fournir des applications mobiles complexes de manière BASIC, sans aucune configuration supplémentaire à effectuer. Le temps nous le dira !

Partie 2 : Programmation informatique / Affaires en général / Travail en équipe PB

Quin : Existe-t-il un processus d’approbation pour les modifications en attente (par exemple, si vous apportez une modification, doit-elle être approuvée par quelqu’un d’autre dans l’équipe ?)

Non, j'approuve mon propre travail 😄. Et si quelqu'un d'autre contribue aux bibliothèques internes (par exemple Timo (Fr34k) pour les bibliothèques internes ou Pf Shadoko pour le moteur OGRE 3D) il peut pousser directement et je modifierai les choses plus tard si nécessaire.

Enne : Quelle est la rentabilité de PureBasic, compte tenu de son modèle de paiement unique ? Que pensez-vous du passage de PB à un autre modèle de paiement ?

C'est rentable car le coût de livraison d'un logiciel est faible, mais cela ne rapporte pas beaucoup d'argent, c'est pourquoi j'ai un travail quotidien. En France, de nouvelles taxes arrivent pour les petites entreprises cette année, donc je prévois de passer bientôt au même modèle de paiement que SpiderBasic (1 an de mise à jour gratuite incluse, puis si vous avez besoin de la version la plus récente, vous devez vous abonner pour une année supplémentaire à un prix réduit).

Enne : J'ai récemment vu que la protection contre le détournement de DLL était sponsorisée par un membre du forum. Est-ce que tout le monde peut parrainer des fonctionnalités ? Comment s'y prendre et quelles sont les exigences ? Accepteriez-vous des ajouts de syntaxe par le biais du parrainage ?

Oui, tout le monde peut me contacter par MP sur le forum ou par email pour discuter des fonctionnalités sponsorisées. Je n'accepte pas tout, il faut que ce soit quelque chose d'utile pour toute la communauté. Une fois que nous sommes d'accord sur un prix, je donne un délai raisonnable pour la mise en œuvre et cela fera place à la prochaine version majeure. Les prix sont généralement bas pour un développement spécifique, entre 100 et 500 €.

Quin : Il y a certaines choses (comme des chaînes plus rapides) qui seraient géniales à implémenter mais qui ne sont pas très amusantes à travailler. À quel moment vous mettez-vous au travail et décidez-vous de faire quelque chose même si ce n'est pas agréable à coder ?

Je ne fais une refonte majeure que si c'est vraiment nécessaire. Des chaînes plus rapides pourraient être intéressantes (principalement avec une longueur mise en cache), mais pour les applications critiques en termes de vitesse, vous pouvez travailler avec des générateurs de chaînes ou directement avec des pointeurs. En fait, une refonte de chaîne semble très intéressante à réaliser, mais cela prend trop de temps pour le moment.

Enne : Dans quelle mesure diriez-vous que le code source du compilateur est gérable, compte tenu de la durée d'existence de PureBasic ?

Je dirais que c'est à peine gérable et très brouillon. L'ensemble du projet est pénible à travailler, mais je suppose que ce n'est pas si inhabituel pour un projet qui a grandi pendant plus de 30 ans. Je ne ferai pas l' erreur de Netscape (à lire absolument d'ailleurs) de laisser tomber tout ce code fonctionnel pour repartir de zéro et espérer le meilleur.

Enne : Quels sont les plus grands défis du travail sur PureBasic et SpiderBasic en petite équipe ?

Le plus grand défi consiste à suivre les changements constants dans le monde de l'informatique. Rien n'est définitif, il faut toujours suivre le rythme. Par exemple, Windows est désormais sur ARM64 avec Copilot+ PC et nous devions le prendre en charge rapidement. Trouver le temps de livrer régulièrement les produits avec de nouvelles fonctionnalités n'est pas non plus une tâche facile.

Partie 3 : Historique et revue de PureBasic / SpiderBasic

Enne : Si je comprends bien, vous avez exprimé explicitement votre opposition à l'ajout de la POO à PB, alors que l'IDE lui-même propose une POO simulée via des tables virtuelles. Pourquoi êtes-vous contre l'ajout du support de la POO au langage ?

La programmation orientée objet (OOP) est un concept de programmation avancé qui n'est pas en phase avec BASIC et l'objectif de PureBasic qui est de permettre aux personnes ayant peu de connaissances en programmation d'apprendre et de créer quelque chose. Les petits programmes OOP me conviennent, mais mon expérience montre qu'ils deviennent rapidement difficiles à maintenir et à comprendre, et les effets secondaires peuvent très vite devenir un cauchemar.

Quin : Pour faire suite à la question de la programmation orientée objet, est-ce qu'il sera un jour possible de nous permettre de déclarer des procédures sur des structures, éliminant ainsi le besoin d'une table virtuelle et d'une section de données, en laissant simplement le compilateur le faire pour vous, y compris la gestion du pointeur *This ?

Ce n'est pas de la véritable programmation orientée objet et cela pourrait être faisable. L'héritage, le remplacement, le polymorphisme et les portées ne seront pas disponibles, ce qui réduirait considérablement les effets secondaires possibles.

Enne : Les mises à jour de PB incluent souvent des améliorations des outils et des bibliothèques, mais la syntaxe semble stagner. Pourquoi ? Y a-t-il des raisons spécifiques pour lesquelles les ajouts ou les mises à jour de syntaxe sont rares ?


Oui, car cela prend beaucoup de temps car il faut modifier le code émetteur des backends (x86, x64, C). Si un jour il ne reste que le backend C, je suppose que les ajouts de syntaxe seraient plus simples à faire.

Quin : Y a-t-il une chance que SpiderBasic/PureBasic soit un jour compilé en WebAssembly ?

Non, je ne pense pas.

Enne : Que suggéreriez-vous à quelqu'un qui souhaite créer son propre compilateur, mais qui trouve la tâche ardue ?

Commencez simplement et ne regardez pas en avant. PB ne s'est pas fait en un jour, il s'agit d'années de construction de blocs. Vous pouvez également commencer par lire des livres sur la façon de créer votre propre compilateur, car il existe de nombreux frameworks disponibles pour faciliter cette tâche. PB est un compilateur entièrement personnalisé qui présente certains avantages (rapide) mais aussi certains inconvénients (passage unique).

Quin : Quelles sont les étapes les plus importantes dans le développement de PureBasic et SpiderBasic dont vous êtes particulièrement fier ?

Pour PB :
  • Première version publiée sur Amiga 680×0
  • Première véritable version multiplateforme (Windows et Linux)
  • Véritable IDE multiplateforme (Win32, GTK, Cocoa, QT)
Pour SB :
  • Création de la première application Android et iOS
  • Vue Web et débogueur intégrés
  • Interface utilisateur mobile
Partie 4 : Questions sur l'avenir de PureBasic / SpiderBasic

Enne : Que pensez-vous de l'avenir de PureBasic et de sa pérennité ? Dans quelle direction souhaiteriez-vous qu'il aille ? Avez-vous des projets ou des projets sur lesquels vous travaillez actuellement et que vous pouvez partager avec nous ?[/b]

Comme je ne compte pas sur les revenus de PureBasic, je peux dire que cela va continuer pendant des années et des années. En fait, je n'ai pas l'intention d'arrêter, car PureBasic n'a jamais été en aussi bonne forme qu'aujourd'hui et je peux l'améliorer progressivement, étape par étape. J'aime aussi beaucoup travailler dessus et c'est définitivement une grande partie de ma vie et de mon identité. Les plans actuels sont de finalement examiner tous les bugs IDE du forum anglais et de commencer à les corriger. Je veux aussi examiner les bugs restants dans les sous-forums Windows pour voir ce qui peut être fait. Concernant les nouvelles fonctionnalités, j'aimerais ajouter une bibliothèque HID/USB à PB.

Enne : Comment envisagez-vous l'évolution à long terme de SpiderBasic ? Y a-t-il des fonctionnalités ou des objectifs spécifiques que vous espérez atteindre ?

Les étapes suivantes consistent à autoriser la création d’applications Android sur Linux/macOS, puis à ajouter davantage de commandes pour créer une application d’apparence native avec toutes les fonctionnalités standard que vous pouvez attendre.

Quin : Selon vous, quel est le plus grand défi pour que PureBasic et SpiderBasic restent pertinents pour les futurs développeurs ?

Il faut suivre les tendances et continuer à proposer quelque chose de puissant et de suffisamment simple à utiliser pour que l'investissement en vaille la peine. Par exemple, il serait formidable d'obtenir de meilleurs résultats pour la génération de code PureBasic à partir des robots IA, car cela deviendra rapidement un incontournable pour tous les langages. Ceux qui ne seront pas bons en IA seront probablement rapidement obsolètes.

Enne : Comment comptez-vous gérer la maintenance de PureBasic et SpiderBasic au cours de la prochaine décennie ? Pensez-vous à la succession ou à l'élargissement de l'équipe ?

Je pense que, à moins que les ventes ne commencent à exploser, rien ne changera vraiment de ce côté, car je ne peux pas me permettre de payer quelqu'un d'autre. Une façon d'agrandir l'équipe serait de passer entièrement à l'Opensource, mais il sera alors difficile de monétiser les projets et même si ce n'est pas suffisant pour un salaire complet, cela aide quand même !

Merci à vous deux et à bientôt !

Cette entrée a été publiée dans Non classé et taguée Fred , Interview , PureBasic , SpiderBasic le7 février 2025 par Fred