

Evolution of a Ruby Programmer - bschaefer
http://gist.github.com/295352

======
csmeder
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)

------
jff
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?

------
bcx
It looks more like a degradation towards perl :-)

~~~
bschaefer
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..." :)

