/ / Langage de programmation Perl: auteur, description, avantages et inconvénients

Langage de programmation Perl: auteur, description, avantages et inconvénients

Il s'agit d'un événement important dans le monde de la programmations'est produit en 1986, quand un gars apparemment ordinaire Larry Wall, après un travail minutieux, a annoncé au monde qu'il avait développé le langage de programmation Perl. Le chemin vers cet événement important s'est avéré difficile et épineux, mais le résultat en valait la peine. Comment, qui et pourquoi a développé un nouveau langage de programmation? Toutes ces questions sont répondues ici.

Préhistoire

L'impulsion de cette découverte a été convaincantecause. Puis il a participé au projet UNIX. Le travail a été difficile, car il était nécessaire de créer un réseau sécurisé avec de nombreuses couches afin de pouvoir combiner le travail de plusieurs ordinateurs travaillant entre eux à des distances considérables. L'ensemble du processus s'est déroulé avec succès, mais les rapports ont dû être très laborieux, non seulement avec un grand nombre de fichiers, mais aussi avec des renvois entre eux.

langage de programmation perl

Wall a décidé d'utiliser un filtre awk pour fonctionner, maisun obstacle inattendu s'est présenté: il était impossible de contrôler l'ouverture ou la fermeture d'un grand nombre de fichiers - ironiquement - sur la base des informations qu'ils contenaient sur l'emplacement de ces fichiers.

D'abord, Larry, pour résoudre l'imprévuproblème, j'ai décidé d'écrire un utilitaire système spécifique. Elle, semble-t-il, était un moyen de sortir de cette situation. Mais avant cela, il avait déjà compilé plusieurs utilitaires pour résoudre ce problème, qui, malheureusement, n'est pas devenu un débouché pour les normes UNIX.

C'est pourquoi un administrateur système talentueux,linguiste de formation, ce qui l'a aidé dans son travail, il a pris sa chance et a créé le langage de programmation Perl afin de pouvoir simultanément traiter des fichiers texte, trouver une solution aux problèmes du système et créer des rapports plus compréhensibles. Et en même temps, c'était une programmation de bas niveau, qui serait disponible en langage C. Par conséquent, l'interpréteur Perl y était écrit.

Nouveau langage de programmation: la raison de

Comme l'a déclaré Larry, elle l'a aidé à créer un nouveaula langue est paresseuse. Mais c'est précisément cette paresse qui nous a permis de résoudre un problème important: comment éviter de compiler les nombreux programmes dans différents langages qui faisaient partie intégrante des outils UNIX. Une telle procédure était trop fastidieuse.

La dignité de la nouvelle langue était appréciée des autres, caril combine harmonieusement les capacités de gestion des fichiers et d'administration du système. Et ce sont exactement deux faits essentiels qui sont nécessaires lors de la programmation d'un système UNIX.

Il est à noter que le langage de programmationPerl a une légère différence par rapport aux autres langages similaires: il est apparu parce qu'il y en avait un besoin, et non pour étonner les utilisateurs ou proposer un autre bel outil qui ne jouera pas un rôle particulier.

table des symboles

Au contraire, lorsque Larry a présenté aux utilisateursavec son invention, il a créé une véritable sensation parmi les administrateurs système, car désormais il n'était plus nécessaire de passer beaucoup de temps à se plonger dans plusieurs langages de programmation, et il devenait possible de résoudre facilement des problèmes en utilisant un seul langage à l'aide d'une table de symboles.

Caractéristiques

Traduit en russe, l'abréviation Perl ressemble à «un langage pratique pour extraire des données et générer des rapports».

Ils ont décidé de faire le symbole de ce type de langagechameau, considérant probablement que, puisque cet animal est un animal noble, robuste, capable de porter un lourd fardeau avec résignation pendant de nombreux jours, le même travail ressemble à une charge sur une nouvelle langue, également sérieuse.

Pourquoi la nouvelle langue a été immédiatement appréciée par de nombreuxutilisateurs, il y a plusieurs raisons. Quiconque utilise UNIX sait que les paramètres ici passent par des fichiers spéciaux - du texte brut, et des modifications sont apportées après l'exécution des commandes. Ils sont écrits dans un langage shell spécial et sont exécutés à partir de la ligne de commande.

Le système UNIX vous permet de créer descommandes, en s'appuyant sur les commandes de l'interpréteur et en les sauvegardant Ils restent dans des fichiers texte et, si nécessaire, sont exécutés comme un ensemble standard de commandes du système d'exploitation - uniquement via la ligne de commande.

Commandes utilisateur les scripts sont nommés autrement.Dans un système UNIX, l'administrateur opérationnel doit écrire un grand nombre de scripts qui, à leur tour, traitent les scripts suivants, c'est-à-dire les fichiers texte, à l'aide de programmes spéciaux:

  • Awk. Le programme permet de comparer avec ces échantillons et sert de générateur de rapport.
  • Sed. Agit comme un éditeur par lots pour les fichiers texte.

Programmes comme filtres un par unlire les lignes des fichiers d'entrée. Ils exécutent ensuite des actions spécifiques aux chaînes déterminées par les commandes du programme. Dans le même temps, une chaîne de symboles est allouée selon certains modèles, remplacement selon les règles établies, de nouveaux fichiers sont générés.

expressions régulières perl

De grandes opportunités

Le nouveau langage de programmation Perl a ouvert des possibilités très riches dans les cas où vous avez besoin de traiter du texte, des expressions persistantes. Perl propose de grandes options pour les modules auxiliaires.

Au fil du temps, cette langue unique a élargi safrontières, et est maintenant largement utilisé dans le développement Web et les jeux lorsque la programmation réseau ou le développement d'interface utilisateur graphique est nécessaire.

La langue a pris et est tombée amoureuse de sa légèretéutilisation, il est désormais reconnu comme le langage de programmation le plus dynamique. Il prend en charge une variété de paradigmes, qui incluent des styles - fonctionnels, procéduraux et autres, il contrôle la mémoire, il prend en charge le traitement de texte.

Il n'est pas étonnant que l'une des devises de L. Wall soit que les choses simples peuvent rester simples, mais que les choses complexes doivent être faites.

Il est facile de maîtriser le langage en comprenant les expressions d'affectation, les blocs de code, les structures de contrôle et les fonctions.

programmation perl

Similitudes avec d'autres langues

Larry a beaucoup emprunté à d'autres langages de programmation. Par example:

  • Shells de commande UNIX. Les variables sont marquées par des caractères de premier plan, ellesexprimer clairement le type d'une variable et aider ces variables à être interpolées dans des chaînes. Les fonctions intégrées fournissent une instrumentation, et ceci est utilisé pour la programmation shell.
  • Tableaux de Lisp.
  • Utiliser les expressions régulières Perl de awk, en lui empruntant en même temps des motifs associatifs.
  • De sed.

Mais le nouveau langage a fait face à ses propres tâches beaucoup plus rapidement, et ils ont donc commencé à l'utiliser non seulement pour résoudre des problèmes d'administration système.

Wall a appris de G.Le package de Spencer, qui a aidé à maîtriser les expressions régulières Perl, en le modifiant pour son idée. Bon nombre des fonctionnalités développées ne sont pas que le mérite de Larry. Les collègues et amis étaient tout aussi enthousiastes à l'idée d'intégrer leurs innovations dans le programme unique en cours d'élaboration. Et lorsque la langue est apparue sur Internet, toute une communauté de personnes partageant les mêmes idées s'est formée, qui ont également contribué à l'améliorer. Depuis lors, selon les statistiques, plus de 10 000 programmeurs ont été impliqués dans les travaux.

Cependant, le langage est encore en cours d'amélioration grâce au développement de packages qui sont utilisés avec succès dans la mise en œuvre de nouvelles utilisations du langage pour développer des technologies liées à l'information.

tableaux perl

Étapes de développement

Les étapes petites mais significatives du chemin peuvent être mises en évidence dans le tableau.

Versions de sortie

Temps de création

perl 1. Ne contenait pas beaucoup de fonctionnalités. C'était le moyen le plus simple de rechercher des fichiers à l'aide de modèles. Mais il y avait des descripteurs de fichiers, des formats et des variables scalaires.

1988 année. Janvier.

perl 2. Il n'existe pas encore de moteur d'expressions régulières amélioré.

1988 année. Juin.

perl 3. Les développeurs ont rendu possible le traitement de flux de données binaires.

1989 année. Octobre.

perl 4. Apparu en grande partie grâce au livre qui a vu le jour, "Programmation Perl ", mais mieux connu sous le nom de"Livre de chameau". Correction d'une nouvelle langue documentée. Cette période a connu une série de versions, pour finalement s'installer sur la version 4.036. C'était déjà 1993. Puis le travail a commencé sur la prochaine version - V -.

1991 année. Mars.

perl 5.Il existe une prise en charge des types de données complexes, un modèle objet qui inclut des références, des packages et des fermetures en tant que valeur. Une liste de diffusion est en cours de création afin que le travail puisse être coordonné entre différentes plates-formes. En fait, c'était le principal forum de développement, de portage et de maintenance. Les modules sont maintenant une partie importante de la version, car ils ont pu étendre la langue, mais sans impliquer la modification de l'interpréteur. Cela a pu le stabiliser, mais a élargi ses capacités linguistiques.

1994 année. Octobre.

Le langage de programmation unique de Perl: avantages et inconvénients

Perl 5 est activement développé et maintenant,se réapprovisionner avec toutes les nouvelles versions. Mais tous les développements ont plusieurs facteurs en commun: un typage automatique des données est effectué, un contrôle automatique de la mémoire est effectué.

Grâce à l'interpréteur, non seulement les types sont connus, mais aussi les demandes de mémoire de chaque objet programme, et il n'est pas difficile pour lui d'allouer de la mémoire, de la libérer lors du comptage des références.

Il est à noter que la programmation Perldistingue l'interprète des autres. La preuve en est la traduction du programme en un bytecode intermédiaire, et alors seulement il commence à être exécuté. En comparaison: le traditionnel fonctionne un peu différemment - l'opérateur saisi est interprété et exécuté instantanément, ce qui est semé d'erreurs de syntaxe pendant le flux de travail. Perl vous permet de détecter ce genre d'erreurs déjà lors de la traduction en by-code.

langage de programmation à usage général

Afin de transférer un type de données à un autre, un processus automatique est nécessaire, mais si les traductions de tout type de données ne sont pas possibles, cela peut conduire à une erreur fatale.

Le mérite de la version 5004 est qu'il y apackage UNIVERSAL, qui a donné au langage l'objet principal, et à partir de lui toutes les classes en sont issues - sur une base automatique. Vous pouvez maintenant demander la version des modules. C'est devenu une réalité de prendre en charge la demande de version des modules. En plus de cela, perl a commencé à prendre en charge de nombreux systèmes d'exploitation, y compris Microsoft Windows.

Version 5.005, sorti en 1998, a considérablement amélioré la qualité du processeur d'expressions régulières, amélioré de nouveaux hooks dans le backend, qui a été résolu à l'aide de certains modules et une prise en charge étendue des systèmes d'exploitation.

Dernières mises à jour

La deux millième année a donné au monde un nouveau, 5.6, version linguistique de Pearl. Il avait déjà l'air beaucoup plus solide que le premier, avait des systèmes 64 bits, était capable de prendre en charge des fichiers de plus de deux Go, comprenait une représentation sous forme de chaîne, en tenant compte de la norme Unicode et du mot-clé - notre. Pendant cette période, le schéma de dénomination des versions change pour se rapprocher des autres projets open source.

Un fait intéressant est cette décision: si une version est en développement, elle se verra attribuer un numéro avec des chiffres impairs, et la version stable recevra une numérotation paire.

Wall s'est ensuite adressé à ses disciples avecdemander des suggestions pour créer une version plus avancée. Son appel a été entendu et le résultat a été de 361 documents, ce qui a aidé à développer la version VI. Les utilisateurs ont reçu un document qui ressemblait très probablement à un résumé, et cette version existait, mais uniquement sous la forme d'une description de la langue. Un certain nombre de documents sont devenus la spécification de cette version. Une tentative de lancement de l'interpréteur de version VI en 2006 a été interrompue. Mais depuis 2009, sous le nom de Rakudo Perl, cette version perdure et est périodiquement mise à jour.

Un changement significatif dans le processus de développement de Perl 5 est venu avec l'introduction de Perl 5.11. La communauté des développeurs est passée à un cycle de publication mensuel, avec une date de sortie prévue trois mois à l'avance.

langue de perle

Une nouvelle version

La version 5.8 est apparue en 2002.Il est célèbre pour le fait qu'à partir de ce moment, il a été mis à jour chaque année jusqu'en 2008, a considérablement amélioré la prise en charge d'Unicode, ajouté de nombreuses fonctionnalités, notamment la prise en charge du multithreading, l'implémentation originale d'E / S et augmenté la précision du numérique. Et, encore une fois, de nouveaux modules sont apparus.

Au 20e anniversaire de la création du langage de programmation généralUne fois de plus, la nouvelle version numérotée "5.10.0" n'a pas déçu les utilisateurs. Il existe de nouveaux opérateurs, ainsi que des correspondances "intelligentes", des expressions régulières mises à jour.

Qu'ont apporté les dernières années de travail?

Chaque année, de nouvelles améliorations ont aidérendant le langage inventé par Wall d'autant plus facile, plus simple et plus accessible. 2010 a été marquée par le fait que la syntaxe du langage perl a reçu le support du package NAME VERSION, la surcharge des opérateurs d'expressions régulières, les années suivantes, les modules ont été mis à jour et le support des opérateurs a été étendu.

L'objectif a été atteint - indiquer pendant le travail quela version à émuler signifie permettre à perl d'être mis à jour sans perdre la capacité de fonctionnement des scripts utilisés, qui risquent d'être incompatibles avec la nouvelle version présentée. Il y a plus de fonctions, une sécurité accrue.

Fin mai, plus récemment, un autreversion, comme toujours, plus avancée et plus pratique à utiliser. Aujourd'hui, n'importe qui peut le tester et s'assurer sur sa propre expérience que beaucoup de travail a été fait pour créer ce langage de programmation.

Dans ce langage Perl, les tableaux ne sont pas limités.En utilisant le langage, vous pouvez résoudre des tâches non conventionnelles, pour la mise en œuvre desquelles plusieurs seraient autrement impliquées, effectuer des tâches d'administration, traiter des fichiers texte de haute qualité et peu de temps sera consacré à tous les problèmes. En développant de nouveaux programmes, en utilisant la table des symboles, en utilisant les opérateurs nécessaires, le résultat sera correct et rapide.

Cet article a une fois de plus prouvé que pourpour les passionnés dans leur domaine, rien n'est impossible. Parfois, même les plus petits problèmes mènent à des découvertes utiles qui peuvent nous rendre la vie un peu plus facile.