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 Houbaa . Évalué à 2.
[^] # Re: Perf ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
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 Amand Tihon (site web personnel) . Évalué à 2.
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 Houbaa . Évalué à 2.
Donc ça ne me semble pas un critère suffisant pour choisir.
[^] # Re: Python ou Ruby
Posté par Amand Tihon (site web personnel) . Évalué à 2.
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 Christophe Chailloleau-Leclerc . Évalué à 5.
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 Houbaa . Évalué à 2.
[^] # Re: Euh...
Posté par saorge . Évalué à 1.
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 Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Les générateurs de parser ?
Posté par Houbaa . Évalué à 2.
>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 ?
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
# Python ou Ruby
Posté par Erwan . Évalué à 2.
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.