de la fondation SourceForge
Ça y est ! Le communiqué officiel est tombé.
Free Pascal est élu projet du mois d'Avril par les membres de la communauté SourceForge.
À cette occasion, SourceForge a interviewé le fondateur du projet, Florian Klaempfl :
SourceForge : Parlez-nous du projet Free Pascal…
Florian Klaempfl : Free Pascal est un compilateur open-source supportant plusieurs sous-ensembles du langage Pascal, dont le moderne Object Pascal (pour plus de détails, voyez sur le site de Free Pascal). Il est lui-même écrit en Object Pascal, ce qui permet aux utilisateurs désireux de perfectionner leur compilateur de le faire sans apprendre d'autre langage.
SF : Qu'est-ce qui est à l'origine de ce projet ?
FK : Au début des années '90, j'écrivais des programmes de jeu d'échecs en Turbo Pascal. TP était un compilateur 16 bits et je ne profitais donc pas des possibilités offertes par le i386, qui devenait très populaire à cette époque. Après avoir essayé plusieurs alternatives, aucune d'entre elles ne m'ayant satisfait, j'ai décidé d'écrire mon propre compilateur. C'était en 1992. La couche de code actuelle a démarré en 1993. Comme Linux à ses débuts, en quelque sorte ?
SF : La version originale a-t-elle été achevée ?
FK : Oui dans l'optique d'avoir un compilateur 32 bits, mais non dans l'optique de l'utiliser pour mes programmes d'échecs. Je n'ai finalement jamais converti mes programmes d'échecs sur Free Pascal.
SF : À qui votre projet peut-il le plus profiter ?
FK : Je pense que plusieurs groupes de personnes peuvent en bénéficier :
- les gens qui veulent n'avoir à apprendre qu'un seul langage pour réaliser à peu près tout ce que que l'on peut imaginer : FPC peut être utilisé pour réaliser des applications de gestion de grosses bases de données, mais il peut également être utilisé pour de l'embarqué. Il peut être utilisé pour écrire des applications numériques mais aussi du code pour mobiles ;
- les gens qui disposent de grandes quantités de code Pascal ;
- les gens intéressés par un langage de programmation qui offre un bon compromis entre une productivité élevée et les avantages du code natif.
Évidemment, les plus grands bénéficiaires sont ceux qui peuvent se revendiquer des trois groupes réunis.
SF : Que nécessite ce langage de programmation particulier ?
FK : L'Object Pascal moderne supporte la plupart des fonctionnalités d'un langage orienté objet. En plus de sa haute compréhensibilité, c'est un langage très puissant. De plus, le concept du Pascal moderne permet des délais d'exécution très rapides. Alors que certains disent que cela n'est pas important avec les machines d'aujourd'hui, je continue de penser que cela fait la différence : FPC recompile ses propres sources (i386 : +/- 330000 lignes) en 4,2 secondes sur un i7-4770. Pas besoin de tasse de café pour patienter le temps de la compilation d'un projet.
SF : Comment tirer le meilleur parti de Free Pascal ?
FK : En l'utilisant en combinaison avec Lazarus, un RAD construit sur FPC.
SF : Qu'a fait votre équipe pour bâtir et développer sa communauté ?
FK : Je pense que le plus important pour bâtir et développer une communauté est la stabilité dans plusieurs aspects :
- nous essayons de ne jamais briser le code de quelqu'un. La rétrocompatibilité est une chose importante ;
- nous effectuons des tests automatisés de régression très poussés, pour éviter la réintroduction de bugs. Chaque nuit, des tests de régression sont exécutés sur plus de 100 configurations différentes, et les résultats sont collectés dans une base de données centrale. Les développeurs reçoivent un rapport journalier des tests, avec les éventuelles régressions qui apparaîtraient. De plus, FPC s'efforce d'offrir un "home" à tous ceux qui sont intéressés par le développpement d'un compilateur Pascal open-source. Ainsi, les lignes de direction du développement sont principalement dessinées par les contributeurs, si deux conditions sont remplies : FPC doit être un compilateur Pascal(*) et le code d'autrui ne peut être brisé(**). Un exemple récent : la résurrection du support du m68k. Cela n'a guère de sens de faire cela pour attirer des tas de nouveaux utilisateurs, mais si quelqu'un le fait, il en est totalement libre.
(*) On pourrait en discuter, un compilateur de langage "wirthien" serait aussi correct.
(**) Bien entendu, il n'y a parfois pas moyen de l'éviter.
SF : Avez-vous constaté si des releases plus fréquentes aidaient à étoffer votre communauté d'utilisateurs ?
FK : FPC a un cycle de releases très lent : ces dernières années, environ une release par an. Il y a de multiples raisons à cela :
- FPC a presque 21 ans et a donc une maturité certaine ;
- construire FPC sur la version de développement n'est pas compliqué et ne prend, comme déjà dit auparavant, que quelques minutes ;
- grâce à sa maturité et à son modèle de développement éprouvé au fil des années, la version de développement est normalement aussi très stable ;
- normalement, nous préparons les binaires et ceux-ci ne sont pas seulement compilés, empaquetés et uploadés mais aussi testés. Vu le nombre de plateformes supportées, cela prend un temps considérable et chaque cycle de release monopolise du temps que l'on pourrait utiliser à autre chose.
SF : Quel a été le premier événement crucial dans la vie de votre projet ?
FK : Pour moi, ce fut quand le compilateur a été capable de compiler ses propres sources, en 1995, après près de deux ans de travail.
SF : Quel sera le prochain moment-clé pour Free Pascal (et/ou vous pouvez nous parler plus en détail du concept "write once, compile anywhere", cela semble intéressant) ?
FK : La prochaine étape majeure pour FPC sera la version 3.0 : au-delà des nouvelles fonctionnalités du langage, de la correction des bugs et des améliorations, la version 3.0 poussera plus loin le concept "compile anywhere". Ce devrait être la première version de FPC capable de produire du code JVM aussi bien que du code i8086, et le portage pour AVR sera peut-être également à un stade utilisable.
SF : Combien de temps pensez-vous que cela prendra ?
FK : Nous prévoyons de sortir la 3.0 en 2015.
SF : Disposez-vous de ressources suffisantes pour mener cela à bien ?
FK : Normalement oui, la seule question sera ce que contiendra la 3.0.
SF : Si vous pouviez recommencer, que referiez-vous différemment pour Free Pascal ?
FK : En fait, pas grand chose.
SF : Autre chose que nous devrions savoir ?
FK : Je pense que l'aspect le plus intéressant est que FPC ne repose sur aucune société : il est développé par une communauté de personnes qui soit en ont besoin, soit ont le plaisir de travailler dessus comme hobby.
L'intégralité de l'interview en anglais : http://sourceforge.net/blog/april-20...h-free-pascal/
Et vous ?
Qu'en pensez-vous ?
Aviez-vous voté pour le projet sur SourceForge ?
Qu'attendriez-vous personnellement de la prochaine version majeure de Free Pascal ?