Skip to content

Evolution of a Ruby Programmer

gist.github.com
8 pointsbschaefer4 comments
On HN

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

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.