Python manages to have decent performance because NumPy uses an APL-like model and it happens to skirt the design flaws (dynamic typing, interpreted). J for instance has a tree-walking interpreter written in C that performs well!
Ruby's poor performance hobbles it even in places it's supposed to be good (twitter was rewritten to Scala over rails).