From: Jacob Fugal Date: 2006-09-12T10:19:10+09:00 Subject: Re: The economics of a slow but productive Ruby On 9/11/06, Jacob Fugal wrote: > choose FOO iff B < [(1 - Z/Y) / (X - Z/Y)](A + B) > > Let's apply this estimate to the current standing between .NET and > Ruby/Rails, using the figures from Joel (X = 5, Y = 5). In this case, > Z = 1 (actually, in my comparisons, Z was slight *less* than one). Also note that the values I used here a pretty conservative. As many have mentioned, Ruby will often not be the bottleneck -- X can be less than 5. Also, depending on your programmers, Y may be more or less than 5. Doing the calculation with X = 2 and Y = 10 yields much more favorable results: (1 - Z/Y) / (X - Z/Y) = (1 - 1/10) / (2 - 1/10) = (9/10) / (19/10) = 9 / 19 = 47% So under optimistic cases, Ruby will still be economical until hardware eats up *half* your budget. Or, pessimistically, let's try X = 10, Y = 2: (1 - Z/Y) / (X - Z/Y) = (1 - 1/2) / (10 - 1/2) = (1/2) / (49/2) = 1/49 You're hardware budget would need to be negligible under those circumstances to make Ruby economical. Fortunately, in my experience, X has never even approached 5, let alone 10. And Y has always been good to me. The important thing is that for *your* decision, you need to: 1) Evaluate what X is *for your application* 2) Evaluate what Y you will believe 3) Know how your hardware costs will scale (see the footnote in my original email) All these factors will affect the outcome greatly. Jacob Fugal