On Mon, Sep 04, 2006 at 02:13:24AM +0900, Alex Young wrote:
> David Vallner wrote:
> >Utter pants. I mean, you used the word "bloat", which should make people 
> >lose any debate by default.
> >
> >Alvin Ryder wrote:
> >>Java and C# are no guarantee for success. 
> >
> >Neither is Ruby / Rails. *No technology* is a guarantee for success, no 
> >technology ever was, and I'll bet a gold bar against a plastic spoon no 
> >technology ever will. Technology used is a very important decision to 
> >make, but it never single-handedly moves you from doable to undoable or 
> >vice versa.
> That's the wrong argument to pick.  Try calculating the full dynamics of 
> a modern metropolitan water supply network with just pen and paper. 
> Technological advances *do* move us from undoable to doable, and it's 
> specific technologies that do it.

. . . and in any case, I don't think anyone was saying Ruby was any kind
of guarantee of anything.  The point is that Joel Spolsky's
characterization of ultraconservative technology choices as necessarily
"right" is chaff and nonsense.  Despite Joel's usually intelligent and
well-reasoned commentary, he dropped the ball on this one, effectively
saying that Ruby is a guarantee of failure.

Bollocks, I say.


> 
> >Also, initial development cost isn't a very important factor. Recalls 
> >your uni software lifecycle charts about how much of a project's life is 
> >maintenance. For a successful project, the numbers are very much true. 
> >With a successful product comes the responsibility of supporting it and 
> >keeping it successful, and in some cases this responsibility creates 
> >ongoing costs that dwarf the initial development horribly.
> No argument there whatsoever.

I have a caveat to add:

It's true that initial development is often one of the cheaper parts of
a "successful" project, cost of initial development is still critically
important.  If your initial development is too costly, you never get to
maintenance.  Additionally, if you think middle managers think ahead
enough to just ignore initial development costs (even when they can
afford to do so) in favor of long-term cost savings, you probably
haven't dealt with middle managers as much as I have.  CxO-types are
even worse, because their job success metrics are more tied to quarterly
stock prices and market shares than anything more long-term (generally
speaking).


> 
> >>Ok, sure Java's OO may be nicer than Perl 5's but once you brew
> >>HTML/Javascript/JSP/JSTL/EL/tags/JSF or Struts together the result
> >>isn't exactly what I'd call pretty. Java is in no way a safe bet.
> >
> >Noone cares about pretty. It's also a completely irrelevant issue when 
> >deciding on implementation language if you're at least remotely 
> >responsible.
> Actually, pretty does matter.  The comfort of a problem solver directly 
> impacts his/her approach to a problem.  That's just human nature.

. . . and how much more do you think it costs in the long run to
maintain code that is a nasty, overly complex, ugly mess?  Pretty
matters.


> 
> >Speaking purely theorethically, Ruby can not be made as performant as 
> >Java or C# could be made if they had ideally performing implementations. 
> >Latent typing makes it almost impossible to do certain optimizations as 
> >static typing does. That's pure fact. 
> I remain unconvinced by this - and it's mainly JIT optimisation that 
> keeps me on the fence.  Dynamic optimisations can beat static - but not 
> in all cases.  I believe this is what one calls an "open research" question.

Unfortunately, JIT implementations haven't been subjected to the same
long-term scrutiny and advancement as more traditional persistent binary
executable compiling implementations.  As a result, I don't think the
state of the art is there yet -- leaving JIT implementations effectively
slower by nature until they get some more advancement over the years to
come.  I really believe that gap will be closed rapidly in the near
future.  Only time and experience will tell whether it can be made as
fast or faster, though I have no doubt that it can at least be made
close enough that most of us won't care.

-- 
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
"The first rule of magic is simple. Don't waste your time waving your
hands and hopping when a rock or a club will do." - McCloctnick the Lucid