Perleurs, pythoniens, jetez un oeil à Ruby, ce langage est une petite merveille.
Aller plus loin
- L'article (O'Reilly) (28 clics)
- Un bouquin complet en ligne (11 clics)
- Autre article (Dr. Dobbs) (4 clics)
- Encore un article (DeveloperWorks) (6 clics)
- La homepage du langage (6 clics)
# Ruby Rulez !
Posté par analogue o/ (site web personnel) . Évalué à 1.
Par contre dommage que http://www.rubyfr.org/(...) ne donne plus signe de vie =(
Fans de Perl, Python et SmallTalk, essayez-le =)
[^] # Re: Ruby Rulez !
Posté par Nicolas . Évalué à 9.
Pour les fans d'objet, je signale aussi Eiffel ( closed-source : http://www.eiffel.com/(...) , open-source : http://www.loria.fr/projets/SmallEiffel/(...) ) qui est tres bon et utilise dans la haute finance et d'autres activites importantes.
--
Law of the Jungle:
He who hesitates is lunch.
[^] # Re: Ruby Rulez !
Posté par Anonyme . Évalué à 3.
Il est de nouveau up, un simple problème lors de l'upgrade d'Apache :/
Par contre, comme je n'ai plus le temps de m'en occuper, si cela intéresse quelqu'un ...
[^] # Re: Ruby Rulez !
Posté par Guillaume Laurent (site web personnel) . Évalué à 6.
http://www.rubygarden.org/(...)
# Mangez-en
Posté par G. R. (site web personnel) . Évalué à 10.
Voilà, j'espère vous avoir donné un peu envi de regarder vers ce langage.
Sachez aussi qu'il existe une implémentation spécifique de Ruby pour les pages web dynamique (à la PHP), irb.
[^] # Re: Mangez-en
Posté par Anonyme . Évalué à 0.
Ce dont tu parles est surement ERuby :)
# bon language
Posté par Pierre Tramal (site web personnel) . Évalué à 10.
[^] # Re: bon language
Posté par Guillaume Laurent (site web personnel) . Évalué à 6.
Par ailleurs tu ne trouvera pas Perl sur n'importe quel Unix, loin de là, et encore moins Python.
[^] # Re: bon language
Posté par gc (site web personnel) . Évalué à 2.
# Juste pour dire quelque chose contre Ruby :-)
Posté par reno . Évalué à 10.
* AUCUNE possibilité de déclarer des variables! (comme en Python, d'ailleurs)
En Perl, la déclaration des variables est optionelle (et non nécéssaire par défaut), mais elle existe: c'est très utile pour les gros programme, moins pour les petits scripts.
si ecrivez le code suivant en Ruby:
maVariable = 1
if ( <une condition> )
then
maVariablee = 2 <-- faute de frappe
end
<utiliser maVariable>
Il n'y aura aucune erreur.. Bon courage pour retrouver pourquoi le script ne marche pas dans certains cas.
Ruby et Python sont "plus strict" que Perl pour la lecture de variable inconnu, cela limite le probleme..
Mais franchement c'est un peu dommage: Ruby et Python sont meilleurs (a mon avis) que Perl pour écrire des gros programmes mais ils leur manque tous les deux la déclaration de variable et l'équivalent de "use strict"..
* un petit defaut:
a = b + c
ou
a = b +c
peuvent avoir des comportements differents..
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Guillaume Laurent (site web personnel) . Évalué à 3.
C'est commun à absolument tous les langages de scripts, et même tous les langages faiblement typés je crois.
> Mais franchement c'est un peu dommage: Ruby et Python sont meilleurs (a mon avis) que Perl pour écrire des gros programmes mais ils leur manque tous les deux la déclaration de variable et l'équivalent de "use strict"..
Je ne crois pas que ça soit un si gros problème. Un mode "warning" à la Perl serait sans doute utile, mais la propreté de Ruby par rapport à Perl fait que la balance penche toujours largement de son coté, surtout lorsque le nombre de lignes augmente.
Contrairement à Perl, en Ruby tu aura moins tendance à avoir des variables avec un scope très large (genre variables globales), plutôt uniquement des variables membres ayant le scope d'une classe, donc ça facilite beaucoup le debug.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par reno . Évalué à 5.
>C'est commun à absolument tous les langages de scripts, et même tous les langages faiblement typés je crois.
Bin et Perl ?? Une "exception notable" non??
Ca doit etre encore le language de script le plus utilise (les shells mis a part bien sur).
Je suis d'accord que Ruby et Python restent beaucoup plus propres que Perl, malgres ce defaut, mais bon Perl est tellement moche (a mon avis) que ce n'est pas un exploit..
Les fautes de frappes bien planqués qui ne se montrent que chez le client (loi de Murphy), ca arrive et c'est quand meme dommage que ni Ruby ni Python ne permette d'éviter cela..
J'ai meme vu sur la mailing-list de Ruby que matz (l'inventeur de Ruby) avait fait une erreur de ce type (je ne me souviens plus exactement quel message, désolé).
Dans l'entreprise ou je bosse, les regles de codage en Perl imposent l'utilisation de "use strict" et aussi les warning (pour eviter l'utilisation de variable non-definie).
Je trouve que ca fait gagner du temps de developper en activant ces options..
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par bmc . Évalué à 1.
si tu veux coder comme un porc, libre à toi, mais si tu veux qu'on puisse relire ton code (et ne pas passer trente ans à débugguer), use the strict Luke !
En un mot : TIMTOWTDI (ouf!)
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Guillaume Laurent (site web personnel) . Évalué à 3.
Il est plus facile de coder clean en Python ou Ruby qu'en Perl. C'est le gros avantage, et c'est essentiellement ça qui fait que le langage passe mieux à l'echelle.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Jerome Demeyer . Évalué à 2.
Je ne suis pas d'accord : pour moi, si Perl ne t'impose aucune de facon de coder, c'est pour te permettre de coder comme tu l'entends.
Si tu veux faire un programme qui sera utilisé régulièrement, alors à toi de l'écrire proprement.
Par contre, s'il s'agit d'écrire rapidement un script à l'usage éphemère, alors pourquoi avoir à suivre des règles strictes ?
Pour une fois, ce n'est pas toi qui doit t'adapter à la syntaxe du langage, mais le langage qui s'adapte à ta facon d'écrire...
Ce n'est pas au Perl qu'il faut en vouloir, lorsqu'on se trouve face à un script imbittable, mais a son auteur.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Mais justement, là Ruby est clairement gagnant parce que l'effort à faire pour l'écrire proprement est bien moindre en Ruby qu'en Perl.
> Par contre, s'il s'agit d'écrire rapidement un script à l'usage éphemère, alors pourquoi avoir à suivre des règles strictes ?
Et là aussi Ruby gagne, parce que même pour les petits scripts jetables, il est plus efficace que Perl.
> Pour une fois, ce n'est pas toi qui doit t'adapter à la syntaxe du langage, mais le langage qui s'adapte à ta facon d'écrire...
Non, a quelques exceptions près, la syntaxe de Perl est une contrainte, pas une liberté. Et c'est justement ces quelques exceptions que Ruby a repris. La syntaxe de Ruby est aussi assez souple, mais "juste ce qu'il faut". Quiconque vient de C++, Perl ou Java peut l'assimiler en quelques heures.
Essaie-le, tu verra bien.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Anonyme . Évalué à 0.
Ben non justement, pour du travail en équipe, avec des niveaux différents et/ou du turnover TIMTOWTDI est TRES mauvais.
Un program de + de 10000 lignes en Perl est imintenable.
D'ailleur j'en connais pas beaucoup qui tiennent la route.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Guillaume Thomassin . Évalué à 2.
--
Chuchi
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par lorill (site web personnel) . Évalué à 5.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Jerome Demeyer . Évalué à 1.
>C'est commun à absolument tous les langages de scripts, et même tous les langages faiblement typés je crois.
Arrgh, pour moi, les premiers langages de scripts sont Korn shell et awk... eh bien tous deux permettent de déclarer des variables, on peut meme spécifier la nature de la variable (typeset)... voyons voir en PHP aussi, en perl aussi...
bon bah en fait il n'y a que le Ruby et le Python où l'on ne pourrait pas déclarer de variable avant de les utiliser...?
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Guillaume Laurent (site web personnel) . Évalué à 0.
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Anonyme . Évalué à 0.
Je vais tenter de clarifier mon "reproche": je ne reproche pas a Ruby|Python de ne pas avoir de déclaration obligatoire par défaut, c'est "normal" pour un language de script.
Ce que je leur reproche, c'est qu'il ne soit pas possible DU TOUT de declarer des variables avec un mode "use strict" pour trouver les erreurs.. Pour des languages qui prétendent pouvoir être utilisé pour batir des gros programme ça ne fait pas sérieux..
Je ne connaissais pas PyChecker, qui doit aider un peu, encore que les outils "a la lint" sont souvent difficile a utiliser: soit ils génèrent un monceau de messages d'erreurs, soit ils laissent passer des probléme..
Je vais regarder s'il existe un outil similaire pour Ruby..
reno
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Par contre si tu parles de "gros" dans l'absolu (e.g. au dessus du million de lignes), là je doute qu'aucun langage de script n'y arrive...
[^] # Re: Juste pour dire quelque chose contre Ruby :-)
Posté par guignot . Évalué à 1.
# Pour les usenautes
Posté par Netsabes . Évalué à 8.
Le vote durera jusqu'au 11 novembre 2001. Les AAV se trouvent aux lieux habituels (fufe / fufa) et sur plusieurs forums de la hierarchie fr.comp.lang.* (notamment ceux dédiés aux langages de script).
# c'est mieux quand y'a moins à faire
Posté par Axel R. (site web personnel) . Évalué à 2.
Pourquoi ? parce qu'il existe en Perl une chiée de module qui font tout et n'importe quoi et qui évite de réinventer la roue.
Quand je fais du scripts c'est justement pour développer rapidement un p'tit truc... Quels sont les modules/bibliotheques qui existe en Ruby ?
Peut on faire de l'open-gl comme avec Perl ? parser du XML ? mettre en route la machine à café à distance ?
C'est là dessus que je suis le plus interressé, si quelqu'un pouvait m'éclairer :-)
Merci
Axel - 584
[^] # Re: c'est mieux quand y'a moins à faire
Posté par Guillaume Laurent (site web personnel) . Évalué à 3.
Pour la partie qui t'interesse (networking) :
http://www.rubycentral.com/book/lib_network.html(...)
Pour faire de l'OpenGL, je ne crois pas (du moins pas encore). Pour parser du XML, c'est en train d'arriver. Pour la machine à café, je m'en fous j'aime pas le café.
> C'est là dessus que je suis le plus interressé, si quelqu'un pouvait m'éclairer :-)
Le temps que tu tapes ta question, tu aurais déjà eu la réponse en visitant les liens mentionnés dans la news :-).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.