Ce premier article est le début d'une (longue ?) suite d'autres, d'ailleurs le second (présentation de la syntaxe) est presque fini.
J'espère que cet article convaincra les frileux de plonger dans l'univers Perl entre deux plongeons dans la piscine ;) Le but de cette dépèche n'est pas de relancer l'éternelle guerre Perl <=> Python, mais d'aider les débutants en programmation à se lancer à pieds joints dans la programmation Perl, que je trouve être un excellent langage et une super passerelle pour passer au C plus tard.
Cependant, lançons un petit troll, résultat d'un googlefight Perl contre Python : perl : 13 200 000 résultats et python : 5 420 000 résultats
Aller plus loin
- Nova Mag, l'e-zine (13 clics)
- L'article (7 clics)
- Un autre article sur lea-linux (5 clics)
# Re: Début d'une série d'articles sur Perl
Posté par a_jr . Évalué à 10.
L'obscurite du C vs l'illisibilite du Perl ?
Ca va troller, cherie :)
Serieusement, c'est n'importe quoi, ce genre d'argument, non justifie en plus. Tout langage digne de ce nom, C et Perl compris, sont tres clairs et tres lisibles a condition de programmer proprement.
Par ailleurs, le choix du langage devrait se faire en besoin du programme a coder, pas en fonction de criteres a deux balles comme une soi-disante obscurite.
Le bonjour chez vous,
Yves
[^] # Re: Début d'une série d'articles sur Perl
Posté par reno . Évalué à 7.
Je te rappelle que là, il s'agit de debuter la programmation, alors pour ce qui est de programmer proprement..
La question interressante est plutot, quel language reste a peu pres lisible meme quand on programme mal?
Et la réponse est: pas trop le C et surtout pas le Perl !!
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 4.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par David FORT . Évalué à 2.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par a_jr . Évalué à 2.
C'est pas aussi simple, tu sais...
$machin->{truc}
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par a_jr . Évalué à 3.
'my $h={"a"=>"b"}; print "$$h{a} ${$h}{a} $h->{a}\n";
Et apres on dit que le C, c'est obscur :)
Mouahahahahaha
Le bonjour chez vous,
Yves
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Damien (site web personnel) . Évalué à 4.
tu confonds concision et clarté j'ai bien peur...
[^] # Re: Début d'une série d'articles sur Perl
Posté par Stéphane V. . Évalué à 1.
Tout à fait. En plus je pense qu'il ne faut pas oublier l'historique des langages qui peuvent profiter des précédents langages pour ne pas commettre les mêmes "erreurs".
Je vais peut-être en faire rire certains mais je préfère vraiment faire un script shell en PHP (que je trouve bien plus logique que Perl) plutot que de devoir relire un bouquin pour re-comprendre Perl.
Pour moi, la seule chose de bien de Perl est l'utilisation dans le langage des expressions régulières. A part ça ...
[^] # Re: Début d'une série d'articles sur Perl
Posté par Alexandre Beraud . Évalué à 1.
Perl sait faire un compromis entre heritage du C traditionnel et concepts modernes puissants, et franchement pour moi c'est le langage le plus agreable a utiliser.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Là Yop . Évalué à 3.
[^] # Re: Début d'une série d'articles sur Perl
Posté par MagicNinja . Évalué à 3.
maybe ? a = x : b = x;
ce qui est legerement different de ce que veut nous montrer alenvers.
voila... et je ne suis partisan d'aucun des langages suscites :P
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par a_jr . Évalué à 2.
Perl devient vite illisible quand on le code avec les pieds.
Il se trouve que Perl dispose de fonctionnalites assez puissantes. Pour le Perl, en l'occurence, les expressions rationnelles permettent de faire de grandes choses. Et etant donne leur syntaxe pleine de symboles non alphanumeriques, elles rendent le Perl vite pas tres lisible si on les utilise n'importe ou et n'importe comment. Voila ce qui fait la reputation de langage pas tres lisible.
Maintenant, je le repete: quand on programme proprement, le code est lisible, peu importe le langage.
Le bonjour chez vous,
Yves
[^] # Re: Début d'une série d'articles sur Perl
Posté par atlexx . Évalué à 0.
autrement dit ... perl, au premier abord, ça fait pas envie ... sauf aux geeks!
[^] # Re: Début d'une série d'articles sur Perl
Posté par Alexandre Beraud . Évalué à 1.
[^] # Re: Début d'une série d'articles sur Perl
Posté par A-Wai . Évalué à 3.
(maybe ? a : b) = x;
moi non plus, j'y croyais pas, mais finalement...
voila... et je ne suis partisan d'aucun des langages suscites :P
Perl ro><or !!! ;)
[^] # Re: Début d'une série d'articles sur Perl
Posté par MagicNinja . Évalué à 2.
>(maybe ? a : b) = x;
Effectivement. Pour ceux qui veulent tester:
/* cut -- essai.c -- cut */
#include <stdio.h>
int main(void) {
int a = 1, b=2;
int x = 0;
int maybe = 1;
printf("x=%d\na=%d\nb=%d\n", x, a, b);
(maybe ? a : b) = x;
printf("x=%d\na=%d\nb=%d\n", x, a, b);
return 0;
}
/* end cut */
> Perl ro><or !!! ;)
on avait dit pas de partisans ! (objc rox :-P)
[^] # Re: Début d'une série d'articles sur Perl
Posté par Cedric Cellier . Évalué à 2.
warning: ANSI C forbids use of conditional expressions as lvalues
Il aurait fallut faire :
*(maybe ? &a : &b) = c;
:)
[^] # Re: Début d'une série d'articles sur Perl
Posté par MagicNinja . Évalué à 1.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Cedric Cellier . Évalué à 2.
fait plutot du -pedantic pour tester ce genre de trucs...
[^] # Re: Début d'une série d'articles sur Perl
Posté par William Steve Applegate (site web personnel) . Évalué à 3.
Envoyé depuis mon PDP 11/70
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Cedric Cellier . Évalué à -1.
Non, non, non, ...
[^] # Re: Début d'une série d'articles sur Perl
Posté par Cedric Cellier . Évalué à 1.
Non, non, non, ...
[^] # Re: Début d'une série d'articles sur Perl
Posté par Là Yop . Évalué à 2.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Cedric Cellier . Évalué à 2.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Cedric Cellier . Évalué à 1.
# Perl pour débuter la programmation?
Posté par reno . Évalué à 3.
Personnellement j'aurais tendance a preferer Ruby, mais c'est apres avoir utiliser le shell et le Perl, pour un débutant je conseillerais Python sans hésitation.
Pour ce qui est de la recherche a Google, a deux balle, franchement aucun interet..
[^] # Re: Perl pour débuter la programmation?
Posté par xsnipe . Évalué à 1.
- Lisibilité accrue en l'abscence de ; {}, indentation obligatoire
- Clareté de la syntaxe (pas de $, @, ...)
- Possibilité d'apprendre l'OO facilement car bien intégrée au langage.
etc...
PS: Attention, j'aime bien le Perl, il est très bon en expressions régulières et traitements de fichiers, mais le Python est bcp plus adpaté...
[^] # Re: Perl pour débuter la programmation?
Posté par Là Yop . Évalué à 2.
Quelqu'un qui debute en java fera facilement cette erreur:
void creeTable(int [] t)
{
t = new int[5];
}
avec un background d'assembleur ou de C (malloc), on comprend pourquoi ce code ne marche pas.
-----------------------------
Clavier qwerty :(
[^] # Re: Perl pour débuter la programmation?
Posté par atlexx . Évalué à 1.
il vaut mieux, d'apres moi, commencer par les concepts (l'algo/structuration) puis par des langages qui implémentent ces concepts (donc forcément haut niveau) , puis , pour ceux que ça interesse, redescendre , jusqu'a l'assembleur si besoin...
partir de l'assembleur vers les autres langages, c'est se former au pissage de code (apprendre a faire du bon code optimisé).
apprendre a programmer, c'est plus apprendre a passer de la vrai vie au programme (et non pas apprendre a passer du materiel informatique au programme) ...
j'ai appris l'assembleur (68k) tres tot, ça me sert effectivment a comprendre des choses, mais beaucoup de gens sont aussi performants que moi sans avoir ces bases...
Pour tout dire, je connais des collegues qui sont tres performant dans leur codage (parce qu'ils sont surtout performant dans la conception) et sont parfaitement incapables de monter un PC, installer un OS, comprendre la différence entre un port serie et parallelle etc...
[^] # Re: Perl pour débuter la programmation?
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
J'ai commencé à faire du ruby hier (sans tutorial, juste en jetant un coup d'oeuil a des sources) et je trouve ca très clean.
Et sinon, je vois pas en quoi l'absence de {} augmente la lisibilité...
[^] # Re: Perl pour débuter la programmation?
Posté par reno . Évalué à 1.
Et bien, ca force a indenter correctement: c'est penible a ecrire, mais plus agreable a relire et comme ca, on est sur que tous le monde indente de la meme maniere.
Sinon entre ruby et python, je trouve que les deux se valent pour un programmeur experimenté: je prefere la syntaxe de Ruby mais Python est plus utilisé (plus de librairie).
Pour un debutant, je pense qu'imposer l'indentation des sources, plus l'absence des $, @ font pencher la balance pour Python..
[^] # Re: Perl pour débuter la programmation?
Posté par Alexandre Beraud . Évalué à 1.
Concernant le Python, l'absence de {} est un calvaire pour moi. Imbrique deux ou trois boucles et au bout essaie de revenir a la premiere, tu ne sais pas de combien tu dois desindenter. Avec les {} la plupart des editeurs te permettent de retrouver rapidement le { associe a un }. En langage machine, les {} se traduisent obligatoirement par des instructions conditionnelles et des sauts. Le fait que le Python ne les traduise pas a l'ecran me semble contre-nature.
# Re: Début d'une série d'articles sur Perl
Posté par Lafrite . Évalué à 1.
!TROLL BEGIN!
ça me paraît normal, la lisibilité du Python fait qu'on ne doit pas recommencer ses programmes 6 mois après faute de pouvoir reprendre ses source PERL ;-)
!TROLL END!
# Re: Début d'une série d'articles sur Perl
Posté par Brice Carpentier . Évalué à 3.
par contre, il me semble que le mieux pour débuter la programmation, c de commencer par effectuer des taches d'automatisation en script shell, puis de s'apercevoir que l'on peut faire des choses plus puissante et de se tourner vers un "vrai" langage de programmation.
A cet effet, python me semble adapté, car syntaxiquement très clair (contrairement à certain je pense quand même que les {} lui manque au niveau lisibilité).
L'utilisation d'un langage naturellement plus obscur (python, perl (?)) nécessite à mon humble avis des notions préalables d'algorithmique pour se contraindre à écrire de manière lisible.
Just my 0.02
[^] # Re: Début d'une série d'articles sur Perl
Posté par xsnipe . Évalué à 1.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Damien (site web personnel) . Évalué à 3.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Alexandre Beraud . Évalué à 1.
[^] # Re: Début d'une série d'articles sur Perl
Posté par David FORT . Évalué à 2.
[^] # Re: Début d'une série d'articles sur Perl
Posté par Alexandre Beraud . Évalué à 1.
# Re: Début d'une série d'articles sur Perl
Posté par Anonyme . Évalué à 5.
Je signale mon " Introduction à la programmation en Perl "
compilation des 7 articles que j'avais fait paraître dans LinuxMag.
http://www.lhullier.org/articles/perl.html(...)
Bonne continuation.
# Re: Début d'une série d'articles sur Perl
Posté par ckyl . Évalué à 6.
[^] # Re: Début d'une série d'articles sur Perl
Posté par xavier66 . Évalué à 0.
Malheureusement, l'anglais est rebutant pour beaucoup de personnes, et autant commencer du bon pied.
Pour les trolls Perl/Python ou Perl/C je m'y attendais, mais no comment ...
# Protégez moi de mes amis, je m'occupe des mes ennemis
Posté par properller . Évalué à 2.
Si vous voulez lire des articles sur Perl en Français je vous conseille LinuxMag dont la série d'article initiée par Sylvain Lhuillier et continuée par d'autres membres des mongeurs de Perl. LinuxMag nous laisse gracieusement les mettre ces articles (http://articles.mongueurs.net/magazines/(...) ) en ligne un mois après publication.
Enfin les mongueurs de Perl organise YAPC::EU 2003 (http://yapc.mongueurs.net(...) ) la version européenne et donc anglophone de YAPC (http://www.yapc.org(...) ). Le prix est modique: 99 euros.
Je peux déjà dire que des gourous interviendrons tels que Mark Jason Dominus (http://conferences.oreillynet.com/cs/os2003/view/e_spkr/10(...) ) (aussi (http://perl.plover.com/(...) )) ou Leopold Tötsch, l'implémenteur du VM de Parrot susmentionné, et coauteur du livre sur perl6 (http://www.oreilly.com/catalog/perl6es/(...) ) à paraître L'annonce de la liste des "talks" sera prochainement publiée sur LinuxFr.
Pour d'autres sources d'information sur Perl: perl.com (http://www.perl.com(...) ), userperl (http://useperl.org(...) ), perlmonks (http://perlmonks.org(...) ), O'Reilly (http://perl.oreilly.com(...) ), books.perl.org (http://books.perl.org(...) ).
reformatté qd j'ai découvert que lfr ne supporte pas les ancres:
perl -pe 's|(.*?)|$2 ($1 )|g'
[^] # Re: Protégez moi de mes amis, je m'occupe des mes ennemis
Posté par properller . Évalué à 1.
perl -pe 's|<a href="(.*?)">(.*?)</a>|$2 ($1 )|g'
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.