11-01-2011, 12:26 AM
(Modification du message : 11-01-2011, 12:28 AM par Sephi-Chan.)
(10-01-2011, 11:58 PM)Argorate a écrit : J'ai du mal a voir ce qu'on peut enlever a la syntaxe de PHP pour la simplifier... (PHP est déjà telement simple d'utilisation par rapport aux autres languages...)
Si le problème ce limite aux acolades, je préfére 100 fois des acolades qui indique clairement où on commence et où on fini, plutot qu'un "end" qui traine, mais c'est sans doute en partie une histoire de gout & d'habitude en effet.
Ensuite le seul truc "chian" c'est la fleche (->) au lieu du point qu'en ont fait de l'objet, mais vu que c'est pas mon cas, je m'en fou un peu
A part ça... qu'es ce que vous enleveriez/modifiriez?
Ce n'est pas une question d'enlever ou d'ajouter. C'est plutôt que le langage PHP n'est pas fait pour la concision. Il est lourd visuellement.
En Ruby, tu peux écrire des choses très courtes :
def has_enough_money_to_buy?(item)
item.price <= self.money
end
public function has_enough_money_to_buy($weapon){
return $weapon->price <= $this->money;
}
Là il y a un return, un point virgule, des dollars. On est encombré de choses inutiles : on ne va pas à l'essentiel. De plus, la possibilité de mettre des ? ou des ! dans le nom des méthodes permet de donner plus de sens au code.
name ||= 'Anonyme'
name = name || 'Anonyme' # Alternative.
$name = empty($name) ? 'Anonyme' : $name;
Là aussi, le code est moins concis, répétitif et donc moins clair. Alors que Ruby va à l'essentiel.
names = [ 'Pierre', 'Paul', 'Jacques' ]
attributes = { trength => 25, :agility => 18 }
attributes = { strength: 25, agility: 18 } # Syntaxe alternative avec Ruby 1.9.
digits = (0..9).to_a
alphabet = ('a'..'z').to_a
$names = array('Pierre', 'Paul', 'Jacques');
$attributes = array('strength' => 25, 'agility' => 18);
$digits = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$alphabet = array('a', ...., 'z');
PHP n'a pas de définitions littérales pour les tableaux, tableaux associatifs et regexp. C'est inutilement lourd.
Un exemple d'utilisation des ranges qui date d'aujourd'hui et que je verrais mal en PHP :
(200..300).include?(response.code.to_i)
Et ce n'est qu'un échantillon. Donne moi quelques fonctions que tu as et je te présente des équivalents en Ruby, tu verras qu'il n'y a pas ou peu de superflu.
Sephi-Chan