Richard Conroy
10/4/2006 9:02:00 PM
On 10/4/06, Francis Cianfrocca <garbagecat10@gmail.com> wrote:
> On 10/4/06, ara.t.howard@noaa.gov <ara.t.howard@noaa.gov> wrote:
> >
> > On Thu, 5 Oct 2006, Francis Cianfrocca wrote:
> >
> > > A small example: let's say you're a Java programmer accustomed to using
> > JMS.
<snip>
> Fair enough. But if you were the Java programmer in this example, would you
> be afraid you might catch ruby?
> I wouldn't mind being the cause of that infection ;-)
Well as one of those java programmers who is really seriously looking at
using Ruby for enterprise stuff, I am going to chime in here.
My initial opinion: Ruby is a really sweet sell to experienced Java developers.
Its conceptually very easy to get productive quickly with it, and
'Least Surprise'
is not blogger speak, but an actual real phenomenon. When half of the
recursion you have written in your professional career is in your first non-toy
ruby program it shouldn't work straight after you iron out the last interpreter
error.
In fact any Java developer who has been with it from the start is in a really
good position to evaluate Ruby with an open mind, as many of the topics being
discussed about Ruby/Rails prime time readiness, are things that Java
developers have lived through.
Mostly enterprise developers are most interested in 'can do anything'. Which
more or less translates to:
- runs on anything
- talks to any system
- has good libraries
Certainly as an enterprise developer I have seen projects get
rewritten when a library
comes up short and can't do the job. Its an area of concern for me that the
enterprise libraries in Ruby have 'Wet Paint' signs on them.
Enterprise developers
expect the libraries to be there, and to just work as advertised. This
translates
to being complete, and proven in the field.
Depending on what kind of enterprise work you are doing, you are generally
not that interested in performance if you are honest with yourself. Certainly
a lot of the performance issues I see are due to poorly conceived application
protocols between machines.
Enterprise developers care about tools and support ecosystems (possibly
a bit too much), and can't understand why Ruby and Unicode generates
hundreds of heated arguments and very little quality technical discussion.
They mightn't even need it, but the fact that the debate is so heated is
worrying.
Theres also other little things that we worry about, like bundling Ruby
applications conveniently (doesn't seem hard, unless you are talking about
Rails), obfuscating source for support reasons (not IP-protection, but to
protect against meddlers) and how cross platform it really is (counting
everything here, including 3rd party library portability, performance parity
etc.) - I mean Rails for instance seems *very* unix biased.
Some other points - that Prag Prog book nailed it with 'Low Ceremony
Distributed Apps' btw. He totally described the enterprise app mentality
to distributed computing. I am warming to that book already - I have
climbed out the smoking ruins of two many big-M Middleware
solutions.