Free Pascal 3.2
La nouvelle version majeure du compilateur Pascal est enfin disponible !
Le 2020-06-21 22:35:38, par gvasseur58, Responsable Lazarus & Pascal
Nous l'avions annoncée dès septembre 2019, nous l'attendions donc depuis longtemps : la version majeure 3.2 du compilateur Free Pascal est enfin disponible au téléchargement !
Pour celles et ceux qui ne le connaîtraient pas, Free Pascal est un compilateur Pascal 32, 64 et 16 bits à vocation professionnelle. Développé en open source depuis plus de vingt-sept ans par une large communauté de développeurs bénévoles très actifs, il est réputé pour sa grande stabilité, sa vitesse de compilation et un code produit très performant. Il peut cibler de nombreuses architectures de processeur : Intel x86 (y compris 8086), AMD64 / x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS et la machine virtuelle Java. Les systèmes d'exploitation pris en charge incluent Linux, FreeBSD, Haiku, Mac OS X/iOS/iPhoneSimulator/Darwin, DOS (16 et 32 ​​bits), Windows 32, Windows 64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android , AIX et AROS. De plus, la prise en charge de l'architecture Motorola 68k est disponible dans les versions de développement.
En plus des habituelles corrections de bogues et de la prise en charge de nouvelles cibles (AArch64, Linux/ppc64le, Android/x86_64 et même Windows 16 bits), Free Pascal 3.2 apporte entre autres les améliorations générales suivantes :
Comme le développement de la branche 3.0 du compilateur s'est étendu sur cinq ans (!), cette nouvelle version est fortement recommandée pour les développements futurs. Il est fort probable que les EDI fondés sur ce compilateur (Lazarus, Code Typhon), vont rapidement proposer son intégration.
Pour la liste complète des modifications, c'est ici (en anglais).
Pour les changements affectant les programmes anciens, c'est ici (en anglais).
Pour le téléchargement du compilateur, c'est là que ça se passe.
Source : Équipe Free Pascal
Et vous ?
Allez-vous utiliser cette version majeure de Free Pascal ?
Que pensez-vous des améliorations apportées ?
Pour celles et ceux qui ne le connaîtraient pas, Free Pascal est un compilateur Pascal 32, 64 et 16 bits à vocation professionnelle. Développé en open source depuis plus de vingt-sept ans par une large communauté de développeurs bénévoles très actifs, il est réputé pour sa grande stabilité, sa vitesse de compilation et un code produit très performant. Il peut cibler de nombreuses architectures de processeur : Intel x86 (y compris 8086), AMD64 / x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS et la machine virtuelle Java. Les systèmes d'exploitation pris en charge incluent Linux, FreeBSD, Haiku, Mac OS X/iOS/iPhoneSimulator/Darwin, DOS (16 et 32 ​​bits), Windows 32, Windows 64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android , AIX et AROS. De plus, la prise en charge de l'architecture Motorola 68k est disponible dans les versions de développement.
En plus des habituelles corrections de bogues et de la prise en charge de nouvelles cibles (AArch64, Linux/ppc64le, Android/x86_64 et même Windows 16 bits), Free Pascal 3.2 apporte entre autres les améliorations générales suivantes :
- prise en compte des espaces de nommage par défaut ;
- nombreuses améliorations concernant les tableaux dynamiques (insertion, suppression, concaténation, opérateur d'addition, constantes, initialisation des variables dès leur déclaration, constructeurs) ;
- extension des directives $Push et $Pop pour $MinEnumSize, $PackSet et $PackRecords ;
- section class threadvar dans les déclarations de classes et d'enregistrements ;
- amélioration et extension des types génériques, y compris pour les routines hors des classes ;
- nouveaux opérateurs pour la gestion des types enregistrements (Initialize, Copy, AddRef, Finalize) ;
- extension RTTI et assistances de types pour les interfaces d'objets ;
- nouvelles unités : rtl-generics (génériques), rtti (à titre expérimental !), ProcessUnicode (version Unicode de TProcess) ;
- la classe TRegistry supporte totalement Unicode ;
- le paquet CHM a été réécrit pour éliminer des bogues et améliorer ses performances.
Comme le développement de la branche 3.0 du compilateur s'est étendu sur cinq ans (!), cette nouvelle version est fortement recommandée pour les développements futurs. Il est fort probable que les EDI fondés sur ce compilateur (Lazarus, Code Typhon), vont rapidement proposer son intégration.
Pour la liste complète des modifications, c'est ici (en anglais).
Pour les changements affectant les programmes anciens, c'est ici (en anglais).
Pour le téléchargement du compilateur, c'est là que ça se passe.
Source : Équipe Free Pascal
Et vous ?
-
JipétéExpert éminent séniorOui !
Car il se trouve que depuis la semaine dernière je suis en mode "mise en place d'un nouveau système" avec tout qui change, dont entre autres le passage à 64 bits (je croise les doigts).
Bon, je vais attendre quelques jours, histoire de laisser les principaux bugs être découverts et corrigés,
Pas la moindre idée dans la mesure où, en général, je ne vois pas FP, étant à 100 % dans Lazarus (et ça sera l'occasion de tester la dernière : est-ce qu'on peut enfin supprimer ou à tout le moins cacher des onglets de composants ?)le 22/06/2020 à 17:46 -
BeanzMasterExpert confirméOui et je l'utilise déja avec Lazarus 2.0.8
Les types generic enfin mieux supportés, ainsi qu'un meilleur support pour les tableaux dynamiques, est un vrai plus
La prise en charge de la directive vectorcall sous windows, en assembleur, va encore améliorer les performances des code en asm utilisant les instructions SIMD SSE/AVX
Il n'y a pas photo comparé à la précédente version 3.0.4 le code des applications à été sérieusement optimisé. J"ai pu mesurer des différences des temps d'execution plus rapide allant jusqu"a +30% suivant les options de compilation.
A noter qu'une version de Lazarus 2.0.10 basée sur cette release de FPC 3.2 sortira entre le 4 et 11 juillet prochain. L'actuelle version 2.0.8 avec FPC 3.2 est expérimentale et à là a titre de test
Bonne nouvelle JP enfin !
Alors oui dans Lazarus 2.0.8 tu peux cacher un onglets de composants
A+
Jérômele 24/06/2020 à 8:40 -
der§enMembre éprouvéJipété qui migre, hourra, on va sabrer le champagne
Le voila en route, vers une version 2 des travaux d'Hercules Pascalien...le 30/06/2020 à 16:04 -
JipétéExpert éminent séniorVous excitez pas les copains,
Oh que oui...
Lecture édifiante...
Et tant que je suis face à ce mur infranchissable, le reste n'avancera pas (pas la peine de tout installer s'il faut reformatter pour installer autre chose…)le 30/06/2020 à 18:22 -
JipétéExpert éminent séniorSalut,
Bonne nouvelle, il semblerait que le problème soit réglé avec la 7.0 rc1 que je viens de tester à l'instant, et sans avoir eu besoin de me taper un rapport de bug et tout le tintouin, ouf !
Plus qu'à attendre la définitive (et, au passage, mine de rien c'est top de chez top ce nouveau format appimage, j'ai déjà testé Inkscape 1.0 et donc maintenant LO 7.0-rc1, depuis un dd SSD ça envoie du lourd de chez lourd, un bonheur !)
Bientôt l'install du fourbi FPC/Laz…, le 07/08/2020 à 11:25