en très gros : on ne sort pas du "restaurant" à moins qu'il inclue "aura" ...
C'est très naturel, et se rapproche quasiment du langage humain ...
Là où ça pêche, c'est qu'on peut formuler la même idée d'au moins 5 façon différentes (au moins)
Là où python ne laisse qu'une seule forme :
if "aura" not in "restaurant": exit
C'est bien la un des points que je n'aime pas avec le Python ....
(je continue à croire que tout programmeur venant du monde c/java/c#/basic sera plus habitué à comprendre la (seule et unique) "forme python")
Pas d'accord. Je viens du monde C et je n'ai eu aucun pb avec cette approche.
L'esprit des 2 langages diffèrent énormément sur ce point. Python dit qu'il ne doit y avoir qu'une seule façon de faire (et le respect bien), et ruby laisse au programmeur la liberté de faire comme bon lui semble ...
Cette liberte est une des choses les plus fondamentales qui doivent exister au sein d'un langage, a mon avis. Tu ne peux t'approprier et innover que si tu as la liberte de le faire. Avoir une seule facon de dire les choses, communes a tous les developpeurs, ne peut favorise l'enrichissement d'un langage et la liberte de s'exprimer au mieux selon le contexte...
C'est cette liberte aui m'avait fait m'enthousiasmer lorsque j'ai edcouvert le Perl il y a 8 ans ...
A partir de ce constat : il est évident que le tant d'apprentissage du ruby est bien supérieur au tant d'apprentissage du python. Car il existe, de manière générale, différentes formes de construction du code.(et je l'ai vécu, au bout d'1h d'apprentissage de python, j'arrivai à faire des choses déjà bien ... je ne peux pas en dire autant après 1h de ruby)
Dans le même ordre d'idée, ça doit compliquer également la maintenance d'un code d'un tier (pour peu qu'il utilise pas les mêmes formes que soi ... à moins de toutes les connaître bien évidemment)
Je ne suis pas tout a fait d'accord. Si tu suis une des idees de l'Agile Programming, le developpeur (mais ca s'applique a d'autre disciplines) suit ce que l'on appelle en Aikido le Shu-Ha-Ri. Dans l'etape Shu, il debute et se conforme uniquement a une ecole, un style. Dans l'etape du Ha, il commence a suivre d'autres ecoles (styles) et a ainsi construire une base encore plus importante. Dans la derniere etape le Ri, il construit son propre style, fort qu'il est de sa connaissance, et de ses automatismes. Les 2 premiers styles lui ont permis de comprendre la philosophie inherente et de pouvoir se detacher et/ou appliquer le meilleur style la ou il doit etre applique.
Le temps d'apprentissage est alors peut-etre plus long, mais il est nettement plus enrichissant (IMHO).
Encore une fois le code Ruby se lit souvent assez facilement car il fait souvent ce que l'on lit....
Malgre le 'une seule' facon mis en avant de Python, je n'arrive toujours pas alire/comprendre certains programmes (meme courts).
L'auteur de Ruby a mis en avant une chose importante: Ruby a ete ecrit pour lui, par lui. Il a voulu qu'il y ait plusieurs styles possibles pour que le plus grand nombre puissent eventuellement l'utiliser. Dans les langage 'une seule facon', le dev doit coller a la facon de penser/voir de l'auteur du langage ....
[^] # Re: allez ...
Posté par Frederick Ros . En réponse à la dépêche Sortie de Ruby 1.8.2. Évalué à 2.
C'est très naturel, et se rapproche quasiment du langage humain ...
Là où ça pêche, c'est qu'on peut formuler la même idée d'au moins 5 façon différentes (au moins)
Là où python ne laisse qu'une seule forme :
if "aura" not in "restaurant": exit
C'est bien la un des points que je n'aime pas avec le Python ....
(je continue à croire que tout programmeur venant du monde c/java/c#/basic sera plus habitué à comprendre la (seule et unique) "forme python")
Pas d'accord. Je viens du monde C et je n'ai eu aucun pb avec cette approche.
L'esprit des 2 langages diffèrent énormément sur ce point. Python dit qu'il ne doit y avoir qu'une seule façon de faire (et le respect bien), et ruby laisse au programmeur la liberté de faire comme bon lui semble ...
Cette liberte est une des choses les plus fondamentales qui doivent exister au sein d'un langage, a mon avis. Tu ne peux t'approprier et innover que si tu as la liberte de le faire. Avoir une seule facon de dire les choses, communes a tous les developpeurs, ne peut favorise l'enrichissement d'un langage et la liberte de s'exprimer au mieux selon le contexte...
C'est cette liberte aui m'avait fait m'enthousiasmer lorsque j'ai edcouvert le Perl il y a 8 ans ...
A partir de ce constat : il est évident que le tant d'apprentissage du ruby est bien supérieur au tant d'apprentissage du python. Car il existe, de manière générale, différentes formes de construction du code.(et je l'ai vécu, au bout d'1h d'apprentissage de python, j'arrivai à faire des choses déjà bien ... je ne peux pas en dire autant après 1h de ruby)
Dans le même ordre d'idée, ça doit compliquer également la maintenance d'un code d'un tier (pour peu qu'il utilise pas les mêmes formes que soi ... à moins de toutes les connaître bien évidemment)
Je ne suis pas tout a fait d'accord. Si tu suis une des idees de l'Agile Programming, le developpeur (mais ca s'applique a d'autre disciplines) suit ce que l'on appelle en Aikido le Shu-Ha-Ri. Dans l'etape Shu, il debute et se conforme uniquement a une ecole, un style. Dans l'etape du Ha, il commence a suivre d'autres ecoles (styles) et a ainsi construire une base encore plus importante. Dans la derniere etape le Ri, il construit son propre style, fort qu'il est de sa connaissance, et de ses automatismes. Les 2 premiers styles lui ont permis de comprendre la philosophie inherente et de pouvoir se detacher et/ou appliquer le meilleur style la ou il doit etre applique.
Le temps d'apprentissage est alors peut-etre plus long, mais il est nettement plus enrichissant (IMHO).
Encore une fois le code Ruby se lit souvent assez facilement car il fait souvent ce que l'on lit....
Malgre le 'une seule' facon mis en avant de Python, je n'arrive toujours pas alire/comprendre certains programmes (meme courts).
L'auteur de Ruby a mis en avant une chose importante: Ruby a ete ecrit pour lui, par lui. Il a voulu qu'il y ait plusieurs styles possibles pour que le plus grand nombre puissent eventuellement l'utiliser. Dans les langage 'une seule facon', le dev doit coller a la facon de penser/voir de l'auteur du langage ....
Un dernier lien : http://www.ntecs.de/blog/Blog/HumanUnderstandabilityRuby.rdoc(...)