Antonio Cangiano writes about how the new and improved Ruby 1.9 is actually faster than Python for a fibonacci program; Haskell Hacking writes about how Haskell blows them both away. Though I’m a Python guy, I’m delighted to see news like this come out. First, I have a great deal of regard for both Ruby and Haskell. These are remarkable languages, well-designed, easy to read, and Python can benefit a great deal from the places where they exceed it. Secondly, they’re proof of concepts that Python can be faster in these areas, and can point to ways that the cPython interpreter itself can optimize itself. It’s nice to see dynamic language do as well as these do. Haskell, in particular, since it has been my belief that functional programming and lazy evaluation are the way to go to make dynamic languages faster.
Followup: There’s a rebuttal from another Haskell blogger here, who says:
we learn the shocking fact that static, compiled, finite-precision Haskell is faster than dynamic, interpreted, arbitrary-precision Python and Ruby at a heavily numeric and recursive task … Color me not impressed.
So maybe it isn’t as big a deal that Haskell beat the other two. Still, I’m impressed with almost everything that I see from that language.