Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Annonce de Perl 7

 -  Juillet 2020 - 

C’est officiel, Sawyer X a annoncé Perl 7. C’est une révolution pour Perl, clairement. Cependant, Perl 7 ne sera pas une révolution en termes de fonctionnalités mais une étape de modernisation pour activer un grand nombre de fonctionnalités par défaut, qui étaient jusque‑là activables à la demande, ainsi que changer de paradigme de développement, puisqu’on va faire avancer le langage plutôt que de systématiquement privilégier la rétrocompatibilité.

Perl 7Diapo explicative de Sawyer X

Sommaire

YAPC

Il y a quelques jours s’est tenue la plus grande conférence annuelle autour du langage Perl. Pendant trois jours se sont succédé :

Toutes les vidéos sont disponibles sur la page YouTube officielle de la conférence Perl & Raku, hébergée par la Fondation Perl. :)

Annonce de Perl 7

Lors de la keynote d’introduction, Sawyer X, l’actuel mainteneur en chef de Perl, a surpris tout le monde en annonçant que la prochaine version de Perl 5 serait Perl 7.
SurprisedMonkey surprise, par @Doug88888 — licence CC BY‐NC‐SA 2.0.

Dans la foulée, brian d foy a annoncé la sortie de son livre qui explique comment se préparer à Perl 7.

Pourquoi Perl 7 ?

Tout simplement parce que Perl 6 est devenu un autre langage et a été renommé Raku.
why7

« Feature guards »

Toutes ces années, l’interpréteur (et le langage) ont bien continué d’évoluer avec des versions majeures, et ce, de façon très régulière… Mais sur les numéros mineurs… (nous en sommes à la version Perl 5.32.0). Voici les dépêches LinuxFr.org traitant des sorties de Perl :

Perl évolue, mais ne casse jamais rien, car, jusque‑là, Perl a fait preuve d’une rétrocompatibilité presque maladive (et tant mieux !). Techniquement, les changements incompatibles sont « cachés » derrière des « feature guard ». Sawyer X a déclaré que « les feature guards sont très intéressants, ils gardent la syntaxe. L’idée est qu’elle ne changera jamais à moins que vous ne le demandiez, ce qui est une très bonne idée car cela offre une bonne protection contre une syntaxe et une sémantique non désirées.

Pour donner un exemple, le comportement du mot clé fc peut être modifié en activant use feature 'fc' dans notre programme (doc).

Plusieurs features guards peuvent être utilisés au sein d’un même programme selon les portions (portée lexicale) et l’on peut également supprimer des fonctionnalités avec no feature …. On peut également activer un ensemble de features guards tout d’un coup avec un use version.

Par exemple, use v5.32 active le « pack de fonctionnalités Perl 5.32 » et empêchera également, si besoin, l’exécution sur un interpréteur plus ancien :

$ perl -e "use v5.32;"
Perl v5.32.0 required--this is only v5.26.1, stopped at -e line 1.

Perl 5.000 est sorti en 1994 mais, dans la pratique, on peut dire que la rétrocompatibilité s’étend plutôt sans problème jusqu’à 5.10.* (5.10.0 en 2007) ou 5.8.* (5.8.0 en 2002), parfois même un peu plus (5.6.*…). Tous les détails sur les dates de sorties dans l’historique des sorties de Perl.
retro
Si l’on n’essaye pas délibérément d’utiliser des fonctionnalités modernes (activables donc), on peut très facilement écrire du code qui tournera partout, pour longtemps, et même sur Perl 5.8.9 ou 5.10.1.

D’autres « défauts » ne sont pas des fonctionnalités, mais des recommandations comme use strict et use warnings qui permettent de protéger le programmeur de lui‑même et sont mises en avant comme bonnes pratiques par la communauté Perl depuis très longtemps.

Les développeurs de Perl ont donc décidé de se débarrasser de ce « fardeau » et d’activer un bon nombre de ces « défauts » qui sont quasi‑incontestables.
evolve
Le comportement des « défauts » va changer, mais les Perl porters ne sont pas fous et il sera toujours possible de retrouver le comportement d’avant avec un mode de compatibilité Perl 5…

Tous les détails techniques de la proposition Perl 7 sont disponibles sur cette page de wiki.

La version 7.0.0 est prévue au plus vite (si possible a la place de la 5.34.0).

En plus de la modernisation du langage, Perl 7 sert également de :

  • pont vers Perl 8, qui est peut être la véritable révolution (qui verra sûrement de nombreuses nouveautés, ainsi que de nombreuses dépréciations et du nettoyage de code) ;
  • communication pour faire parler du langage en donnant une image positive.

Après l’annonce

L’annonce a été très bien accueillie et laisse place maintenant aux discussions d’implémentation et à quelques inquiétudes ou quelques réfractaires. Le GitHub Perl 5, le canal IRC #p5p ainsi que la liste de diffusion (en particulier le fil de discussion « Announcing Perl 7 ») se sont transformés en forum :
p5pFils de discussion sur la liste de diffusion.

Parmi les remarques, il ressort que certains souhaitent à tout prix utiliser un marqueur de version majeure comme use v7 (sans pour autant s’en servir de « feature guard » à proprement parler), et cette demande a d’ailleurs par la suite été acceptée. Il y aura donc une sorte de « protocole » permettant de définir pour quelle génération de l’interpréteur est écrit le code. Le but étant de faciliter le plus possible une migration douce du CPAN.

L’idée étant « on peut casser, mais pas trop à la fois » et qu’il n’est pas souhaité de « forker » le CPAN. Toutes ces précautions se comprennent tout à fait, car la rétrocompatibilité était un des plus gros points forts de Perl… Mais ce n’est pas le seul !

Il y a également de nombreuses demandes de fonctionnalités (trycatch, les types, le comportement des « sigils », de nouveaux opérateurs…). Mais, là, c’est plutôt hors sujet. Bref la communauté est en pleine ébullition !

Et Perl 5 dans tout ça ?

Il est prévu une période de support étendu de minimum cinq à dix ans pour Perl 5.32. Perl dispose d’une infrastructure d’outils (installateurs très intelligents qui pourraient modifier du code à la volée) et d’une culture du test qui va devoir tourner à plein régime pour migrer, tester et corriger les modules CPAN (presque 200 000 modules) !

En attendant, à très bientôt Perl 7, je l’espère !

Commentaires : voir le flux Atom ouvrir dans le navigateur

par contra-sh, Lawless, Ysabeau, Davy Defaud, theojouedubanjo, ZeroHeure, Bruno Ethvignot, Alcyone, palm123

DLFP - Dépêches

LinuxFr.org

Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)


Les enchères en temps réel, un danger pour la vie privée mais aussi pour la sécurité européenne

 -  7 avril - 

Les enchères en temps réel, ou Real-Time Bidding (RTB), sont une technologie publicitaire omniprésente sur les sites web et applications mobiles (...)


XZ et liblzma: Faille de sécurité volontairement introduite depuis au moins deux mois

 -  31 mars - 

Andres Freund, un développeur Postgres, s’est rendu compte dans les derniers jours que xz et liblzma ont été corrompus par l’un des mainteneurs du (...)