Forum Programmation.python Quel langage de script ?

Posté par  .
Étiquettes : aucune
0
27
août
2004
Bon, cette question aurait peut-être mérité un journal mais bon... Il y aura peut-être quelques personnes pour me répondre ici :)

Ca fait quelques années que je programme de temps en temps avec des langages plus ou moins classiques : C++, Java, Ocaml. Avant, quand j'avais besoin d'un petit outil, je le codais en C++ (Oui je sais... [soupir]), ce m'arrangeait bien vu que mon ordi était pas une bête de course. Seulement voilà, le C++ pour faire du parsing ou du wrapping, on s'en lasse très vite, et j'aimerais bien apprendre quelquechose de plus adapté.

J'ai essayé Perl et j'ai fuit très très vite (dieu que c'est... euh... illisible ?).
J'ai essayé Tcl/Tk et euh bon... passons.

Je commence à découvrir Python, qui ma foi est bien sympathique, surtout avec PyQT et QtDesigner (rhaaa enfin des GUI avec mes scripts...).

Reste Ruby... Et de loin, ben Ruby me parle plus que Python. Mais si sa structure objet a l'air bien sympa pour un programmeur objet, je me demande aussi si elle n'est pas un obstacle au développement super rapide de petits outils.

En moins bavard, ma question se résume à ça : Python ou Ruby ? Pourquoi ? Pour quels types de programmes ?

(nan g pas le temps d'apprendre les deux :))

Merci aux trolls de rester dans leur caverne, je préférerais des arguments de personnes ayant essayé les deux. Pour les trolleurs, question subsidiaire : OCaml c'est quand même vachement mieux qu'Haskell non ?
  • # Perf ?

    Posté par  . Évalué à 2.

    J'allais oublier : est-ce que quelqu'un a une idée réelle des différences de performance entre python et ruby ?
    • [^] # Re: Perf ?

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

      oui python rame mais ruby encore plus (beaucoup plus).

      Le plus performant, c'est perl. Lors de la sortie de perl 6, logiquement la VM sous perl doit être utilisé aussi pour python. Le gars de ruby veut toujours faire son truc dans son coin.

      "La première sécurité est la liberté"

  • # Python ou Ruby

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

    Bon, je préviens tout de suite, je connais assez mal Ruby (mais plutôt bien Python).

    Ils sont tous les deux orienté objet. Python a une syntaxe assez stricte (mais ça le rend, à mes yeux, plus clair). Ruby t'offrira au moins une partie de la concision de Perl.

    Depuis que j'ai découvert Python, je ne jure presque que par lui, mais ça changera peut-être quand je me mettrai sérieusement à Ruby :)

    En ce qui concerne les petits outils, j'utilise un script shell ou python, suivant la tâche.

    Maintenant, ne compte pas sur moi pour te dire « Choisis Python » ou « Choisis Ruby ». À mon avis, ce n'est pas le langage qui compte ici, mais les bibliothèques disponibles.
    • [^] # Re: Python ou Ruby

      Posté par  . Évalué à 2.

      Après un coup d'oeil rapide, python semble posséder un peu plus de bibliothèque (normal, il est plus ancien), mais ruby semble rattraper le retard rapidement. Par exemple il y a déjà des bindings Qt, Gtk2, ...

      Donc ça ne me semble pas un critère suffisant pour choisir.
      • [^] # Re: Python ou Ruby

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

        « Pas suffisant », ça dépend de l'importance que tu accordes aux autres critères :)
        Au hasard :
        - lisibilité du code écrit par d'autres,
        - intérêt à connaître le langage pour plus tard,
        - les petites préférences personnelles en matière de notations ($var ? self.truc ?),
        - [à compléter]

        En fait, en terme de fonctionnalités de langage, il me semble que Python et Ruby se ressemblent très fort.

        À mon avis, si tu ne choisis que "pour toi", tu peux prendre n'importe lequel s'il dispose des bibliothèques que tu désires utiliser, tu ne feras pas un mauvais choix. Ce sont deux langages sympa.

        Si tu as d'autres impératifs en tête (connaître un langage de script pour un boulot plus tard, envie de participer à un projet écrit en [Python|Ruby], ...), base-toi sur ceux-ci.

        NB: Il faudrait aussi des réponses de la part d'utilisateurs de Ruby :)
  • # Euh...

    Posté par  . Évalué à 5.

    Hello,

    je ne connais bien ny Python, ni Ruby, mais pratiquant un peu de Perl, je peux te dire qu'il est parfaitement possible de faire quelque choses de TRES lisible en Perl.
    J'ai moi-même mis des années avant de sauter le pas, rebuté par l'illisibilité de la plupart des scripts trouvés, mais j'ai fini par céder, et quand tu fais un minimum d'efforts, et en commentant un peu, tu fais des choses tout à fait acceptables ! C'est une question de volonté, pas forcément de language !

    Après, Python et Ruby sont sans doute de très bons choix aussi, suivant ce dont tu as besoin. Je ne veux pas tro^V^V^Vdébattre là-dessus, je n'ai pas les compétences nécessaires !

    Mes 2c d'¤...
    • [^] # Re: Euh...

      Posté par  . Évalué à 2.

      Oui, chuis bien d'accord, j'ai quand même fait un peu de perl (on peut pas y réchapper de toutes façons). Je peux faire des scripts propres. Je peux aussi en faire des dégueux, et c'est ce qui me chagrine...
      • [^] # Re: Euh...

        Posté par  . Évalué à 1.

        Moi c'est ce que j'aime bien dans perl ;-) Je préfère laisser la rigueur du côté de mon cerveau. Si j'écris un script que je juge illisible, je sais que je n'avais pas les idées assez claires et que je ne maîtrisais pas assez les outils disponibles. Mais la plupart du temps, mes scripts sont lisibles (en tout cas pour moi).

        Maintenant, pour répondre à la question initiale, dans mon propre choix du language de script que je voulais étudié, j'y avais inclus
        - nombres d'extensions disponibles ;
        - documentation accessible ;
        - performance.
        A l'époque, j'avais choisi perl, je ne suis jamais revenu sur cette décision, ni ne l'ai regretté. Mais bon, je ne sais pas ce que donnerais mon choix actuellement.
  • # Commentaire supprimé

    Posté par  . Évalué à 2.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Les générateurs de parser ?

      Posté par  . Évalué à 2.

      >flex et bison (ou encore antlr) ca génère du C...
      >Ce sont des logiciels sous exploités.

      Je te crois sur parole, mais au taf on me laissera plus faire des outils de script en C/C++. Non pas par manque de lisibilité ou par manque de perf (loin de là), mais parce que personne ne fait comme ça. Et puis qu'en est-il du temps de développement ?
  • # Python ou Ruby

    Posté par  . Évalué à 2.

    C'est avant tout une affaire de gout, puisque les deux ont a peu pres le meme but. Donc pas facile de les comparer sans tomber dans la guerre de religions ! Ca peut aussi dependre des bibliotheques que tu peux trouver.

    En ce qui me concerne j'ai essaye les deux mais je prefere le Ruby, car sa syntaxe est plus propre, plus homogene et amene donc moins a faire des erreurs. De plus il y a des aspects de programmation fonctionnelle que je trouve tres agreables. La facon qu'a Python d'implementer l'approche objet ne me plait pas trop.

    Ensuite Python a son fameux "c'est l'indentation qui definit les blocs" plutot que des accolades ou des if...end. Il y en a qui aiment.

Suivre le flux des commentaires

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