Enquanto eu fuçava com o Ruby, lendo documentação e os excertos grátis do livro Programming Ruby, eu me deparei com um exemplo que só linguagens sofisticadas conseguem ter:
class Test
def doSomething
def doSomething
@calculatedValue
end
@calculatedValue = self.runLongCalculation
end
end
Essa técnica, útil em vários contextos, permite que um método redefina a si mesmo. No caso acima, na primeira vez em que o método é invocado, a última linha é executada e o valor do cálculo é retornado. Da segunda vez em que é chamado, somente o valor já calculado é retornado.
Esse é um exemplo simples, e o livro dá um bem mais sofisticado, mas isso já mostra como o Ruby permite que o programador expresse exatamente o que ele quer fazer.

*cough* Versão em Python *cough*:
class Test:
def doSomething(self):
def doSomething():
return self.calculatedValue
self.calculatedValue = self.runLongCalculation()
self.doSomething = doSomething
return self.calculatedValue
Sim, a versão em Ruby é moderadamente mais limpa
Eu sabia que não ia demorar muito para isso acontecer.
Na verdade, o que eu achei mais interessante no exemplo do livro é que o autor definiu um método que recebe outro método como parâmetro e transforma aquele método em algo é invocado diretamente uma só vez. Para a clareza do Ruby, o exemplo é até bem hermético. O açúcar sintático final é que fica interessante.
Do que eu estou vendo, e como você disse em seu blog, o Python e o Ruby são bem parecidos na maioria das áreas. Mas as diferenças também são bem fortes em outros (pelo fato do Ruby ser bem mais OO que o Python) e o Ruby tem algumas coisas que seriam difíceis de replicar no Python com a mesma clareza e facilidade (e basicamente, porque a sintaxe do Ruby foi projetada para isso, não porque o Python não seja dinâmico o suficiente).
No final das contas, é o que eu sempre digo: cada linguagem a mais é um presente.