Posté par anaseto .
En réponse au journal Bientôt Noël pour Perl6.
Évalué à 6.
Dernière modification le 04 décembre 2015 à 18:53.
C'est un peu ce qui m'a fait passer de perl à python : la lisibilité
C'est curieux, parce qu'en ce qui me concerne, c'est le contraire. Bien qu'en Perl il est possible d'écrire du code vraiment affreux, et il y a sans doute beaucoup de ce type de code dans la nature (en partie parce qu'il est très facile d'écrire du Perl tout en ne sachant pas programmer, et en partie du fait de one-liners et code golf), la plupart du code que j'ai lu (principalement des modules sur CPAN), me semble particulièrement lisible et vite compréhensible.
Le fait de voir d'un coup d'œil qu'une variable est un tableau, une table de hachage, etc. aide facilement à se repérer. Le fait que la comparaison numérique utilise des opérateurs différents que la comparaison des chaînes, etc. aide aussi, dans la plupart des cas simples, à déduire plus vite de quoi il est question. Savoir si on additionne deux nombres ou concatène deux listes est instantané aussi, par exemple. Et c'est un des principes du langage : les choses courantes qui sont différentes, doivent apparaître visuellement différentes. Alors, bien sûr, c'est un peu le contraire du principe de généralisation qui voudrait que l'on utilise les mêmes opérateurs et les mêmes idées pour des choses totalement différentes dès qu'ils présentent certaines ressemblances mathématiques (comme dans haskell), ce qui est utile parfois, mais souvent on se fiche du parallèle mathématique, et avoir un retour visuel instantané plus concret aide à la compréhension en pratique.
En gros, Perl force syntaxiquement à une certaine redondance dans l'information concernant les types de données utilisés qui rend le code plus lisible (à mon avis).
Les expressions régulières sont aussi plus lisibles que dans la plupart des autres langages (avec coloration syntaxique de l'éditeur possible) du fait qu'elles sont intégrées dans le langage, et peuvent être écrites avec des espaces et des commentaires. Et avec use strict; (utilisé presque partout) il faut déclarer les variables avec my (lexicales à un bloc, pas comme en python qui est assez surprenant à ce sujet), ce qui permet de voir instantanément où est la première occurrence d'une variable, et de savoir qu'elle n'est pas globale, par exemple.
[^] # Re: Ca sert à quoi Perl6 ?
Posté par anaseto . En réponse au journal Bientôt Noël pour Perl6. Évalué à 6. Dernière modification le 04 décembre 2015 à 18:53.
C'est curieux, parce qu'en ce qui me concerne, c'est le contraire. Bien qu'en Perl il est possible d'écrire du code vraiment affreux, et il y a sans doute beaucoup de ce type de code dans la nature (en partie parce qu'il est très facile d'écrire du Perl tout en ne sachant pas programmer, et en partie du fait de one-liners et code golf), la plupart du code que j'ai lu (principalement des modules sur CPAN), me semble particulièrement lisible et vite compréhensible.
Le fait de voir d'un coup d'œil qu'une variable est un tableau, une table de hachage, etc. aide facilement à se repérer. Le fait que la comparaison numérique utilise des opérateurs différents que la comparaison des chaînes, etc. aide aussi, dans la plupart des cas simples, à déduire plus vite de quoi il est question. Savoir si on additionne deux nombres ou concatène deux listes est instantané aussi, par exemple. Et c'est un des principes du langage : les choses courantes qui sont différentes, doivent apparaître visuellement différentes. Alors, bien sûr, c'est un peu le contraire du principe de généralisation qui voudrait que l'on utilise les mêmes opérateurs et les mêmes idées pour des choses totalement différentes dès qu'ils présentent certaines ressemblances mathématiques (comme dans haskell), ce qui est utile parfois, mais souvent on se fiche du parallèle mathématique, et avoir un retour visuel instantané plus concret aide à la compréhension en pratique.
En gros, Perl force syntaxiquement à une certaine redondance dans l'information concernant les types de données utilisés qui rend le code plus lisible (à mon avis).
Les expressions régulières sont aussi plus lisibles que dans la plupart des autres langages (avec coloration syntaxique de l'éditeur possible) du fait qu'elles sont intégrées dans le langage, et peuvent être écrites avec des espaces et des commentaires. Et avec
use strict;(utilisé presque partout) il faut déclarer les variables avecmy(lexicales à un bloc, pas comme en python qui est assez surprenant à ce sujet), ce qui permet de voir instantanément où est la première occurrence d'une variable, et de savoir qu'elle n'est pas globale, par exemple.