Hacker News new | ask | show | jobs
Evolution of a Ruby Programmer (gist.github.com)
8 points by bschaefer 5968 days ago
3 comments

Honest feed back? How about this version:

  def fact(max=ARGV[0].to_i, i1=1, i2=1, i=1)
    i < max ? fact(max, i2, i1+i2, i+1) : (puts i1)
  end 
  fact()
This was the 2nd program I wrote in Ruby (I know it's recursive and therefore inefficient but my goal was to see how short I could make it not how efficient)
In my opinion, the "Newbie programmer" and the "Discovered ternary operators" are the clearest and simplest and can be understood by anybody who knows a C-like; the first one especially is the clearest to anyone.

I'm not a Ruby programmer, though--are there increasing performance gains as the function evolves?

It looks more like a degradation towards perl :-)
It seems to me that programmatic evolution is often like biological evolution -- namely, it moves from "simple but works," to "Wouldn't it be cool if..." :)