Question

Je suis arrivé il y a quelques années en Perl et toujours trouvé un moyen amusant et langage expressif pour travailler avec.

Je trouve que la programmation en Perl me rend tout à fait productive grâce à sa faible surcharge et l'encours des solutions toutes faites aux problèmes communs sur CPAN.

Si vous êtes nouveau à Perl, ce que tu as dedans?

Était-ce utile?

La solution

Avec Perl (et la puissance expressive derrière TMTOWTDI), la programmation devient une tâche de création. Je peux écrire if($expr) { $statement; } si je prévois d'avoir beaucoup de déclarations d'autre, ou je peux écrire $statement if $expr; si cela fait plus de sens (par exemple, je suis aime l'écriture:

sub doSomething {
    my($toObject, $argument) = @_;

    die "No object specified" unless defined($toObject);
    die "Object invalid: $toObject" unless $toObject->ISA('Example');

    # Do stuff
}

mais bien sûr, ce n'est pas toujours le plus facile, et la plus expressive de le faire; si je viens avec une meilleure façon pour la tâche à accomplir!). Les gens se plaignent parce que Perl vous permet d'écrire du code horribles à la recherche; J'adore Perl, car il me permet d'écrire du code qui semble assez me (et oui, je peux voir l'inconvénient d'avoir une douzaine de programmeurs écrivent dans leurs propres styles, je tiens à l'idée que bons écrivains peuvent être assez expressif et compréhensible, peu importe à quel point le sujet).

Avec d'autres langages de programmation, je finis par avoir à penser mon chemin à travers les couches d'abstraction (comment ce Map me donner Collections dont Iterators je peux utiliser pour ... et ainsi de suite). Avec Perl, je suis généralement un niveau d'abstraction au-dessus de Perl de base. Par exemple, DBI me donnera les résultats de la base de données scalaires Perl ordinaires, tous les jours, les listes et hash, donc tout ce que je sais sur ces simples, des structures de données de base renvoye a chaque tâche que je mets DBI à (Complicated structures de données? C'est ce que PostgreSQL est pour !).

Je n'ai utilise Perl à temps plein pendant environ un an, mais ce sont les grandes victoires pour moi, et la raison pour laquelle je suis allé à temps plein sur Perl après un an souffrant aux mains de Java 1.4 de modèle Collections (ne demandez pas). D'autres langages de programmation me font sentir que je suis en train ensemble un puzzle, comme vous alignez tous les modules et paquets juste ; Perl se sent comme une boîte pleine de Legos, avec quelques briques « spéciales » (comme DBI, CGI.pm et Test::*) pour faire bonne mesure. Il y a des tonnes de différentes façons de résoudre un problème, et Perl vous permet d'essayer l'un d'eux que vous aimez, de quelque façon que vous le souhaitez.

Autres conseils

Je codais PHP pour gagner leur vie, puis entendu parler de leur changement de :: à \ comme séparateur d'espace de nom. Je ne suis vraiment pas une blague ou d'être rancunier, mais c'est vraiment ce qui a rouler la balle.

Ne pas être élitiste, mais je me suis soudain rendu compte que les gens que je devais collaborer avec qui savait PHP comprenait très peu dans les concepts de programmation d'une manière qui me frustrait comment ils pourraient être si aveugle, les gens dans les chambres de l'IRC pour elle étaient plus une source d'aide pour mes questions, et je généralement passé plus de temps à répondre à des questions et d'attendre que quelqu'un de se présenter qui pourrait répondre à la mienne. En général, je fini par résoudre moi-même. La plupart du temps, je pris conscience était les gens re-résoudre les mêmes problèmes et encore de façon de plus en plus mauvais.

J'ai découvert des comportements problématiques en PHP qui défiait la logique et le raisonnement (comme la famille array_merge_recursive), et les fonctions découvert qui étaient en situation irrégulière comment les utiliser, et quand je l'ai signalé un bug dans les fonctions, mon bug a été marqué comme « Bogus »et je devais être psychique.

J'avais un ami qui proclamait constamment la bonté de Perl, donc je lui ai donné un coup de feu au fond et maintenant je suis accroché comme un toxicomane.

De plus, mon expérience dans d'autres d'ordre supérieur Les langages typés dynamiquement (JavaScript et Ruby, oui, JavaScript est un langage plus puissant que PHP en termes de fonctionnalités linguistiques) m'a laissé une bonne connaissance de plusieurs façons de résoudre facilement les types de problèmes, mais étant limitée de telle façon que je n'avais aucun moyen d'utiliser ces fonctionnalités puissantes. Perl satisfait à ce besoin.

Pourquoi Perl et Ruby pas? Je l'ai joué avec Ruby un peu, mais mon expérience m'a appris le soutien et la documentation sont rares, la langue est lente et immature. Nice, il peut être, mais il est encore en diminution de la capacité contre Perl de ce que je l'ai vu. il partage phps défaut majeur qu'il a une énorme base d'utilisateurs composé de novices total toutes les choses qui font de la mauvaise façon, et je voulais vraiment ne pas avoir à traiter que tant.

Il est pas agréable d'être élitiste, mais une fois que vous avez essayé d'expliquer la même chose à 30 personnes (et pris une heure pour obtenir un concept simple dans la tête à chaque fois), il atteint un point de frustration. (Je ne peux pas faire face à la « Il y a quelqu'un sur Internet qui a tort » situation, si je ne peux pas VOIR , il ne se produit pas)

J'ai commencé à faire Perl au cours de ma troisième année en science informatique comme une partie bien sûr « Les langages de script ». J'ai un ami étudier la biotechnologie et je l'ai aidé avec quelques scripts d'exploration de données pour le traitement des bases de données de protéines (analyse syntaxique des fichiers texte, regexps, contrôles d'intégrité simples). Il était très naturel en Perl.

Alors j'ai obtenu mon premier emploi à temps partiel et a dû l'utiliser professionnellement. Je suis responsable de l'élaboration ensemble de scripts de traitement par lots qui a traité une partie de la logique métier dans l'entreprise. Et ce fut la tâche où Perl a révélé tout son potentiel. Vous avez besoin d'obtenir des données de DB? - pas de problème, il suffit d'aller à CPAN. Besoin d'automatiser wiki - pas de problème, allez à CPAN. La quantité de modules déjà créés est écrasante et vous pouvez être sûr que vous trouverez toujours ce dont vous avez besoin CPAN.

Pour résumer. Pour moi, Perl est un couteau suisse des langages de script. Tout peut être fait pour elle et il a grand nombre de modules supplémentaires, même pour des tâches très exotiques. Et en passant, ai-je mentionné regExps?

Je suis toujours pas longtemps dans la communauté Perl et ce qui m'a d'abord amené dans était l'humour et la sagesse de Larry Wall. Il est vrai que Perl l'a bizarreries, mais la langue vient d'une compréhension des choses qui est très proche de la mienne, donc je suis beaucoup moins à l'aise avec Python et dans une moindre mesure Ruby.

Je ne fais pas plus GUI application Web avec wxPerl et il fonctionne très bien. Je suis très intéressé dans les langues aussi moins connus comme facteur, boo, rebol et ainsi de suite, mais dans l'ensemble est Perl mon choix. et c'est parce qu'un mélange de syntaxe puissant (peut être très fonctionnel si vous le souhaitez), la communauté, CPAN bien sûr, et, comme je l'ai dit, en raison du sentiment agréable d'être au bon endroit.

Perl est sa communauté, qui est la raison de l'utiliser aussi bien sur le plan social et pratique. (Voir CPAN et PerlMonks, qui a inspiré probablement SO).

Il y a beaucoup de liberté lors du codage en Perl; vous pouvez écrire quelques hacks illisibles méchants-fou, mais il ne faut pas longtemps une fois que vous avez obtenu une idée de la langue (et appris à utiliser :-) perltidy) avant de réaliser que le code perl bien écrit peut regarder carrément joli.

Il est intéressant; J'ai fini en tant que programmeur Perl à temps plein après l'apprentissage pour mon travail sysadmin type au collège; et maintenant il est mon point fort. Je vais rester avec Perl pendant un certain temps parce que jusqu'à présent la langue a été polyvalent à grandir avec moi. J'écris beaucoup de systèmes logiciels en Perl, et a décidé de prendre la programmation web pour le plaisir, et Catalyst y attendait pour moi. Est-ce que je veux essayer un nouveau paradigme linguistique? Perl soutiendra probablement. En revanche, quand je le codage en PHP pour un temps, je me suis senti tout de suite que je pressais contre un plafond de verre.

Je travaille comme un outil de dépannage technologique pour une grande organisation dans le sud OH. Je devais apprendre Perl à garder certains systèmes de manipulation de texte de réseau automatisé et en cours d'exécution et a finalement obtenu un peu excité à ce sujet. J'ai finalement pensé à moi-même en tant que développeur et écrit des programmes qui analysait des données de base de données et ont fait la vie de certaines personnes un peu plus facile. Mais après avoir lu quelques-uns des messages sur ce site et écouter le podcast stackoverflow et même de commencer à lire le livre Code complet de quelqu'un est suggéré la liste de lecture que je n'ai plus des illusions que j'étais un développeur de Perl ou toute autre langue que la matière . Cependant, je pourrais peut-être être un jour.

Je l'avais utilisé awk un peu de temps pour la manière de scripts shell, retour dans les jours. Dans un projet ancien dont nous avions besoin pour mettre en œuvre la connexion de protocole TELNET, donc je peux écrire une version rapide en Perl 4. Il a vraiment bien, et je commençais à vraiment la langue.

Plus tard, je l'ai écrit une grande pleine application web commerciale en Perl 5, avec son propre cadre et base de données. Je faisais attention à ne pas utiliser de nombreuses fonctions les plus ésotériques de Perl, de sorte que le code ressemblait plus à C que Perl. Il a très bien fonctionné, la performance était bonne et le code a été facilement étendu.

Récemment, je travaille en Java, mais je trouve souvent moi-même manque frappe lâche du Perl, et sa capacité à résumer les choses bien mieux que Java. Mes fonctions préférées étaient en mesure de mettre datastructures Perl (tableaux et hashes) et le code directement dans les fichiers de configuration et les exécuter, et la possibilité de lier le code à la syntaxe comme les tableaux. Les deux mènent à un code vraiment lisse.

Paul.

syntaxe simple, des fonctions de script puissants pour win32 et systèmes unix, et regex totalement puissant!

Je pickup Perl sur mon premier emploi où je devais écrire beaucoup de script d'automatisation pour les ingénieurs électriques et les journaux de données des mines les mettre en forme à Excel et parfois traiter avec le serveur sql aussi. Avec Perl je pouvais habituellement obtenir quelque chose de travail assez rapidement, donc tout est bon dans le pays de fabrication. : P

Je commencé à utiliser Perl comme une amélioration de notre processus de construction pour le développement embarqué. Nous avions besoin de développer des sorties diverses en fonction de notre charge utile compilé croix et Perl était un ajustement parfait.

Nos améliorations incluses à virgule flottante à la conversion hexadécimal, S record post-traitement, et les modifications de contrôle.

Non pas que ce genre de travail ne peut pas être fait avec beaucoup d'autres outils, mais je recommanderais certainement Perl pour les travaux liés à la construction.

Ce qui m'a amené à Perl était quand j'ai vu DBI et a réalisé que je pourrais écrire les programmes ESQL / C j'écrivais à l'époque dans un cinquième temps.

Ce qui m'a gardé en utilisant Perl est que les deux autres langues susceptibles de détrôner ce sont tous deux fortement typés. C'est

print "10" + 5;

est une erreur de type plutôt que 15.

Je suis pas prendre place. Je devais travailler sur un projet en Perl il y a quelques années, et je suis venu à ne pas aimer vraiment la langue. Il a une syntaxe parfois maladroite et beaucoup de fous gotchas que j'ai trouvé difficile de travailler avec. Honnêtement, je pense que Ruby a remplacé Perl à bien des égards: il est bon à peu près les mêmes choses, mais a des caractéristiques beaucoup plus agréable et est plus facile à utiliser

.

Perl a encore CPAN, mais qui ne peut pas correspondre même Ruby (Ruby, bien que a beaucoup de bibliothèques utiles, aussi).

Je considérais l'apprentissage de Perl l'année dernière.

Ce sont les seules technologies que je activement décidé de ne pas apprendre. Ce n'est rien directement contre la langue elle-même, il me semblait que je viendrais au parti 10 ans trop tard. Il est très utile pour les tâches de script shell qui il a été conçu pour, mais pour moi personnellement, je préfère les langues avec une plus forte cohérence.

6 Perl semble que c'est en pause indéfinie et même quand il arrive que je ne crois pas que cela fera la langue profondément plus convaincante.

En outre, Larry Wall me fait peur.

Pour ma situation Perl n'a pas été le bon choix et c'est pourquoi.

Perl est pas aussi mauvais que je pensais. Je l'habitude de l'utiliser dans un des scripts clients couple il y a environ un an, et même grandi à l'aimer un peu. Là encore, je ne l'ai jamais manqué depuis toujours.

La raison? Il est surtout une langue d'écriture seule. Aller au-dessus d'une solution 100 ligne m'a fait Méfiez-vous de mon propre code, ce qui est certainement pas un bon résultat. Avec d'autres langues que la barre est beaucoup plus élevé (peut-être 1000 ou 10000 lignes).

Je ne vois aucune raison d'aller pour Perl dans de nouveaux projets, pour les nouveaux utilisateurs, en -soon- 2009.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top