Forum général.général apprendre python ou perl ?

Posté par  .
Étiquettes : aucune
0
7
jan.
2006
Bonjour,

j'aimerai apprendre un langage bien libre et qui a vraiment de l'avenir. En fait, étant étudiant, j'aimerai choisir les technos qui me servirons dans l'avenir.

Alors voilà, pensez-vous que dans l'avenir, les pros rechercherons plus des gens calés en python ou en perl.

D'avance merci de votre "guidage".
  • # algorithmique

    Posté par  (site web personnel) . Évalué à 4.

    Apprends plutôt l'algorithmique. Après le langage s'apprend en peu de temps c'est juste une traduction.
    • [^] # Re: algorithmique

      Posté par  . Évalué à 1.

      Comme je connais l'algorithmique et le C/C++, je n'ai plus qu'à choisir au pif alors...

      Ou mieu, j'apprend les 2 au début et j'approfondie mon préféré.
      • [^] # Re: algorithmique

        Posté par  (site web personnel) . Évalué à 3.

        heu ... oui mais non.

        Il ne faut pas oublier que la langue maternel est le pire handicap quand on essaie d'apprendre les 3 premieres langues etrangères clairement differente à la langue maternelle.

        si tu connais le C et le C++ , je te conseille dès lors un langage de type LISP, CAML, PROLOG . et de réécrire ce que tu fais en C et C++ , dans un de ces langages. refaire la meme chose avec divers des assembleurs à pile et sans pile.

        Par contre, ce qui m'inquiete est ton "je connais l'algorithmique" ...
    • [^] # Re: algorithmique

      Posté par  . Évalué à 1.

      [+] L'algorithique est le fondement de tout.

      Ensuite il faut savoir ce que tu veux faire. Aucun de ces deux langages ne te permettra d'écrire un OS (quoique perl un peu plus quand même :) ) et des interfaces vers des éléments externes dont tu peux avoir besoin (bindings GTK, bases de données, ....). Pour donner un avis un peu plus subjectif, perl est utilisé par un public beaucoup plus vaste que python et dispose via CPAN d'un ensemble de fonctionnalités que tout le monde lui envie. Genre au boulot les scripts unix sont soit en shell soit en perl, et rien en python, et un changement de langage ne se décide pas en 5 minutes sur la foi d'un geek aussi éclairé soit-il. En plus si tu connais déjà le C ou le shell, le passsage à perl sera assez simple.
      • [^] # Re: algorithmique

        Posté par  . Évalué à 2.

        Je suis d'accord avec Pierre Tramo : cela dépend du champ d'application que tu envisages. Maintenant, c'est vrai qu'il y a recouvrement entre Perl et Python pour un certain nombre de choses, tout autant réalisables dans l'un que dans l'autre langage. On peut alors choisir sur d'autres critères, par exemple, la maintenabilité. De ce côté-là, Perl a une réputation non usurpée de langage "write-only" : il est certes incroyablement flexible et puissant, mais on pourrait présenter n'importe quel programme Perl à un obfuscation contest...
        • [^] # Re: algorithmique

          Posté par  . Évalué à 2.

          Non, non, non et non !!!
          Cela dépend de l'auteur, et de sa bonne volonté !
          Un collègue ne connaissant absolument pas perl s'est extasié devant la limpidité d'un script que je lui ai fourni il y'a quelques jours...
          C'est très simple d'écrire un script perl propre et lisible. Il faut juste le vouloir !

          Je ne conteste pas que de nombreux scripts ne sont pas lisible, mais ce n'est pas intrinsèque au language ! Combien ai-je vu de codes C, C++, Java, shells, VB, et même des bons vieux Cobols (surtout ?) en tous genres pour lesquels il fallait des heures pour comprendre un algo de 30 ou 40 lignes ?

          Pour rester dans la question d'origine, non seulement on peut être très dégeulasse en python, mais en plus pour un non initié, le python me semble moins lisible encore qu'un perl, à niveau de "dégueulasserie" égal...
          • [^] # Re: algorithmique

            Posté par  . Évalué à 2.

            A chaque fois que j'ai lu/ecrit du perl lisible, ca ressemblait à du C.
            Dès que tu utilses les "idiomes" Perl tu te retrouves avec du code illisible et inmaintenable, au pretexte de concision.
            Honnêtement ,qui peut comprendre une telle ligne du premier coup et sans effort:

            map { $_ =~ /^source cont=\"(.+)\"$/ and $conteneur = $1;} zorg( qq(dump "$_"), {procedure_sortie => \&sortir} );

            Donc s'il faut rajouter des lignes pour que ce soit visible autant utiliser un langage "lisible", on a moins de surprise.

            En résumé, si tu es admin unix et que veux travailler un shell avec des super feature utilse perl et si tu veux te lancer dans le génie logiciel evites le.
  • # Le français d'abord !

    Posté par  . Évalué à 3.

    "j'aimerai choisir les technos qui me servirons"

    Je te conseille d'apprendre d'abord le français.
    Si tu es aussi rigoureux avec la syntaxe d'un langage de programmation qu'avec celle de la langue maternelle, je te promets un avenir plein de wanings et fatal errors :-)
    • [^] # Re: Le français d'abord !

      Posté par  . Évalué à -2.

      Merci de me rappeler ma médiocrité en francais (langue que je n'apprecie pas), ce qui ne fait pas avancer ma question...

      Lorsque je programme, le but est que cela soit bien propre, que ça marche, lorsque je parle, le but est de me faire comprendre. Le français, c'est nul, je ne l'ai pas choisi, c'est compliqué et pas universel :)
  • # Une histoire de syntaxe

    Posté par  (site web personnel) . Évalué à 1.

    Personnellement (et pour ne pas tomber dans le troll), j'entends beaucoup de bien sur python, d'ailleurs de plus en plus de projets gnome l'utilisent, il existe de nombreux bindings. J'ai un peu essayé, mais j'ai vité arrêté : je ne supporte pas sa syntaxe.
    Pour moi qui connaissait PHP et C, Perl s'est imposé (PHP est un vieux fork de Perl), sa syntaxe, si elle peut être utilisée pour écrire un code illisible, peut aussi permettre d'écrire un script aussi lisible que du C.
    Il existe deux faiblesses principales à ma vue à Perl : le modèle objet, qui est un peu vaseux (celui de PHP 5 est bien meilleur, et je crois que Python est le roi de l'objet), et sa gestion des threads (marche, mais faut pas en demande trop. Je ne connais pas Python sur cet aspect)
    • [^] # Re: Une histoire de syntaxe

      Posté par  (site web personnel) . Évalué à 1.

      python, c'est l'inverse de perl sur les points que tu ennonce
      - un code super lisible
      - python est bien le roi de l'objet (encore que il me semble qu'il manque des trucs dans l'heritage et cie par rapport au c++)
      - les threads en python ? .. simplissime

      Baptiste
    • [^] # Re: Une histoire de syntaxe

      Posté par  . Évalué à 2.

      Dans ce cas je te conseille Ruby, tu auras le meilleur des 2 mondes,

      Une syntaxe à la perl epurée de tous ces défauts et redondances et un modèle objet et une gestion qui n'ont rien à envier à Python
  • # re

    Posté par  (site web personnel) . Évalué à 2.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.