From ruby/RoR to Java (framework unknown) :(

James B. wrote:

No doubt everyone on this list is automatically sympathetic to your
plight, but truth is that much of what we see as obvious about Ruby is
not so for others.

I wouldn’t say that everyone is automatically sympathetic just because
we prefer Ruby. See my comments below. And there’s an awful lot that’s
not obvious about Ruby. The current situation re the syntax, semantics
and security issues looks very much to me like “life on the edge of
chaos”, which is a good thing for the language but not necessarily a
selling point in a conservative corporate world.

higher employee retention rate, or lowered training costs. If you can
show that using Ruby means faster turnaround with fewer developers and
lower maintenance, that in the end Ruby == more profit than Java or
.Net, you should be OK.*

If you can’t make that case, then why would you expect a business to
choose Ruby?

Personally, I think neither of the “obvious” strategies – looking for
another job, or spending your energy trying to “make a business case for
Ruby/Rails” – has much practical merit in the situation as the original
poster described it. There’s an old saying, “Don’t try to teach a pig to
sing. You can’t do it, it’s a waste of your time, and it annoys the
pig.”

If the OP truly would prefer working with Rails, there are (at the
moment, anyway) plenty of Rails jobs available. Whether any of them will
meet other criteria of satisfaction is another story, however, and
even with lots of jobs, there are also lots of competing applicants.

And spending company time making a business case for an alternative that
has been rejected by one’s “superiors” isn’t a good idea in most
circumstances. A far better use of time would be learning about the two
acceptable environments, and learning about the business objectives of
the projects that will use these environments.

  • Or not. Some folks will have ulterior motives for choosing one tool
    over another, but you should start be giving people the benefit of the
    doubt.

Or better yet, just say, “They may be right,” and proceed with the
accepted environments and projects.

M. Edward (Ed) Borasky
http://ruby-perspectives.blogspot.com/

“A mathematician is a machine for turning coffee into theorems.” –
Alfréd Rényi via Paul Erdős

On 4 Jul 2008, at 23:26, M. Edward (Ed) Borasky wrote:

HaHaOnlySerious,
appeals to me as a language. What I haven’t endured is all of the
frameworks, APIs, XML, etc. that have “evolved” around Java.

It started out a pretty sweet language: simple to learn and less
fiddly that C++. Unfortunately it’s become progressively less friendly
with each successive release, not least because of the proliferation
of standard libraries. If Sun had started out with something a bit
more like Groovy I might even have remained a fan :slight_smile:

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason

On Sat, Jul 5, 2008 at 1:22 AM, Eleanor McHugh
[email protected] wrote:

Or better yet, just say, “They may be right,” and proceed with the
wasn’t on the “approved list”. If I had written it in C, I would have been a
might even have remained a fan :slight_smile:
Or Smalltalk, IIRC it was just of these stupid license issues that
they did not continue with Oak.
What a shame :frowning:

R.

Take a look at:

Happily since we left Java a few years ago we haven’t had to look
back. I tried Grails and Seam at their early stages and is not the fun
Ruby provides but they do the work in a much better way than Struts
for example. They have very different approaches but they both follow
DRY and COC.

Good Luck,


Aníbal Rojas

http://anibal.rojas.com.ve

On 5 Jul 2008, at 13:16, S2 wrote:

Aníbal Rojas wrote:

I am being naive maybe, but I don’t get the point of Grails. It’s a
different programming language and it tries to mimic rails. So the
only
thing it has of Java it’s the JVM. So they had to completely rewrite
rails
in Groovy. Why not use the real thing at this point? Or jruby?

Because they like Groovy :slight_smile:
It’s a good language if the JVM is your only target, and it’s still
close enough to Java that there’s not too much pain working with both.

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason

Aníbal Rojas wrote:

I am being naive maybe, but I don’t get the point of Grails. It’s a
different programming language and it tries to mimic rails. So the only
thing it has of Java it’s the JVM. So they had to completely rewrite
rails
in Groovy. Why not use the real thing at this point? Or jruby?

This is one of the candidates. I’ll have to have a deep look at it.

Eleanor McHugh wrote:

Because they like Groovy :slight_smile:
It’s a good language if the JVM is your only target, and it’s still
close enough to Java that there’s not too much pain working with both.

And they probably didn’t have performance requirements – Groovy is
slow.


M. Edward (Ed) Borasky
http://ruby-perspectives.blogspot.com/

“A mathematician is a machine for turning coffee into theorems.” –
Alfréd Rényi via Paul Erdős

Aníbal Rojas wrote:

Take a look at:

Happily since we left Java a few years ago we haven’t had to look
back. I tried Grails and Seam at their early stages and is not the fun
Ruby provides but they do the work in a much better way than Struts
for example. They have very different approaches but they both follow
DRY and COC.

How about TDD, MVC, ActiveRecord, and block closures?

On 5 Jul 2008, at 19:02, M. Edward (Ed) Borasky wrote:

Eleanor McHugh wrote:

Because they like Groovy :slight_smile:
It’s a good language if the JVM is your only target, and it’s still
close enough to Java that there’s not too much pain working with
both.

And they probably didn’t have performance requirements – Groovy is
slow.

Indeed. Although its not that slow compared to other dynamic JVM
languages of similar vintage. JRuby runs rings around it though :wink:

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason

On Sat, 2008-07-05 at 04:08 +0900, James B. wrote:

If Ruby (with Rails or whatever) is the objectively better choice then
you should be able to demonstrate that. There has to be something
tangible, something other than “I like it.”

A major supplier of, among other things, medical software recently lost
their security primo who was also a Ruby/Rails advocate. It became
corporate policy to use Java, you see, and absolutely everything they
did had to be done in Java. Never mind that said primo was routinely
able to manoeuvre along with the huge, semi-random requirements changes
without breaking a sweat. Never mind that in his opinion – keep in
mind that he was hired because he had expertise they didn’t have
in-house! – moving everything over to Java would be a disaster. Never
mind that when the Java group that was battling him tried to replicate
just one snapshot of his code’s capabilities in three months of effort
(it took him three weeks to make that snapshot, and that was with
exploring the domain as well as designing and coding – they had the
design and the domain exploration already done) they “replicated” it by
ignoring all the requirements that he was working under and provided a
service that would require their users to license very expensive
third-party software components to access. Never mind all that:
corporate policy was “everything in Java” so everything had to be in
Java.

I really don’t like being cynical, I’m just driven to it by observation
of life. No amount of objective “what’s best” will ever reverse a
management decision once it’s made. Rationality has no place in
business management, it seems, only ego.

On 6 Jul 2008, at 07:19, Michael T. Richter wrote:

corporate policy to use Java, you see, and absolutely everything they
exploring the domain as well as designing and coding – they had the
design and the domain exploration already done) they “replicated” it
by
ignoring all the requirements that he was working under and provided a
service that would require their users to license very expensive
third-party software components to access. Never mind all that:
corporate policy was “everything in Java” so everything had to be in
Java.

My partner in crime Romek has just had a similar experience with a
leading UK bank. They hired him to sort out their PKI, a task which
experience tells us he could have completed in three weeks with Ruby.
Unfortunately they were a Visual C++ house so he spent 6+ months doing
it that way. Now his contract is up and they’re switching to Java, so
the whole thing will be redone with bouncy castle. Needless to say,
the PKI is just as unlikely to see the light of day this year if ever.

I really don’t like being cynical, I’m just driven to it by
observation
of life. No amount of objective “what’s best” will ever reverse a
management decision once it’s made. Rationality has no place in
business management, it seems, only ego.

Based on my personal experience it’s equal parts ego, fear, ignorance
and incompetence. It’s a wonder really that we’re not still living in
tents and digging for roots for a living.

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason

Eleanor McHugh wrote:

Based on my personal experience it’s equal parts ego, fear, ignorance
and incompetence. It’s a wonder really that we’re not still living in
tents and digging for roots for a living.

Actually, living in tents and digging for roots isn’t all that bad now
that there’s wireless Internet.

-- M. Edward (Ed) Borasky http://ruby-perspectives.blogspot.com/

“A mathematician is a machine for turning coffee into theorems.” –
Alfréd Rényi via Paul Erdős

On Sun, Jul 6, 2008 at 10:20 AM, M. Edward (Ed) Borasky
[email protected] wrote:

Eleanor McHugh wrote:

Based on my personal experience it’s equal parts ego, fear, ignorance and
incompetence. It’s a wonder really that we’re not still living in tents and
digging for roots for a living.

Actually, living in tents and digging for roots isn’t all that bad now that
there’s wireless Internet.

Living in tents and sniffing for root, perhaps :slight_smile:

m.

On 7 Jul 2008, at 04:38, Martin DeMello wrote:

Actually, living in tents and digging for roots isn’t all that bad
now that
there’s wireless Internet.

Living in tents and sniffing for root, perhaps :slight_smile:

All the cool kids have yurts for war driving :wink:

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason

Eleanor McHugh wrote:

a task which
experience tells us he could have completed in three weeks with Ruby.
Unfortunately they were a Visual C++ house so he spent 6+ months doing
it that way.

This is one of the disadvantages when you are forced to use a tool that
is
not the best for the job, but are there advantages as well?
On “Choose the Right Software Method for the Job” on www.agiledata.org,
Scott Ambler makes a good point:

But what about developing a data warehouse as compared to an online
ordering
system? Your organization might do both of these things, and now
suddenly
it isn’t so easy for you to fairly judge the situation. Senior
management
might want these two projects to follow the same method to make it
easier
to manage, measure, and compare their entire portfolio of projects. IT
support groups, such as enterprise architecture and enterprise
administration, want to work with project teams in a consistent manner
using a consistent set of artifacts. Similarly project stakeholders who
are involved with several IT projects will want to follow a consistent
approach with each team. Your human resources department doesn’t have
the
budget to train and educate people in every single IT method and
technique.
It is clear that there is significant pressure to follow a single method
within your organization.
What do you do? The sixth philosophy (Sweet spot. You should actively
strive to find the “sweet spot” for any issue, avoiding the black and
white
extremes to find the gray that works best for your overall situation.)
of
the Agile Data method advises you to find the sweet spot between
extremes.
In this case the extremes are following a single method for all IT
projects
and following a different method for every single project. The sweet
spot
may be found by adopting a handful of methods that between them cover
the
majority of project types within your organization. Each project team
would choose one and then tailor it to meet their specific needs. In
organizations that tackle one type of project, as is common in smaller
firms and in specialized consulting firms, the size of the handful may
in
fact be one method. A large organization, such as a financial
institution,
telecommunication company, or government agency, that tackles a wide
range
of project types will discover that they require several methods.

So. There you go. Java for everyone.