26-10-2011, 09:07 PM
(26-10-2011, 08:20 PM)niahoo a écrit : Voilà deux codes qui font la même chose, je ne trouve pas la version php particulièrement écoeurante...
Ce snippet Ruby est un portage direct du code PHP, ce n'est donc pas très représentatif.
Ça permet seulement de voir que la syntaxe de Ruby est plus épurée et ça illustre quand même quelques crasses de PHP :
- Des fonctions au nommage pourri, genre implode. implode('.', $tokens) contre tokens.join(".")
- L'affectation de multiples variables, ridicule. list($head, $tail) = behead($k); contre head, tail = behead(key)
- Le fait de manipuler les clés d'un tableau non déclaré, une pratique permise par le langage mais non recommandée. $nested[$head][$tail] = $v
Mais c'est bien sur les opérations plus complexes que de la simple algorithmique que Ruby montre son potentiel. Par exemple, compare l'utilisation de Doctrine à celle d'ActiveRecord, je peux t'assurer que tu vas pleurer.