Retourner aux forums || Retourner au forum Programmation.python
Programmation.python : Quel langage de script ?
Posté par stephane martin () le 27 août 2004Ca 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 ?
Every time you write invalid markup, God kills a kitten
Perf ?
J'allais oublier : est-ce que quelqu'un a une idée réelle des différences de performance entre python et ruby ?
Every time you write invalid markup, God kills a kitten
-
[^]Re: Perf ?
Posté par Nicolas Boulay () le 27/08/2004 à 08:50. (lien). É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.
Python ou Ruby
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 stephane martin () le 27/08/2004 à 01:34. (lien). É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.--
Every time you write invalid markup, God kills a kitten-
[^]Re: Python ou Ruby
Posté par Amand Tihon (page perso, ) le 27/08/2004 à 01:57. (lien). É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...
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 stephane martin () le 27/08/2004 à 12:00. (lien). É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...
--
Every time you write invalid markup, God kills a kitten-
[^]Re: Euh...
Posté par saorge () le 27/08/2004 à 15:10. (lien). É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.
-
Les générateurs de parser ?
>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é.
flex et bison (ou encore antlr) ca génère du C...
Ce sont des logiciels sous exploités.
>J'ai essayé Perl et j'ai fuit très très vite (dieu que c'est... euh...
>illisible ?).
Illisible pour l'oeil non averti. Les trucs implicites ont tendance à pertuber le programmeur C.
Sinon ça devient très lisible avec un peu d'habitude ce qui est encore amplifié par le fait qu'un code perl est compact.
Le OO est pourri, je l'admets.
-
[^]Re: Les générateurs de parser ?
Posté par stephane martin () le 27/08/2004 à 12:02. (lien). É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 ?--
Every time you write invalid markup, God kills a kitten-
[^]Re: Les générateurs de parser ?
-
Python ou Ruby
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.
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.python



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.