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

S2 wrote:

My company today decided to ditch ruby development and to develop new web
applications only with Java or .net.

Quit.

Were you using RoR with unit tests?

Current RoR applications will be migrated to Java.

Was there a rationale? Did an executive read a magazine article or something?

···

--
   Phlip

Of course there was, you stated it yourself above, "developers were
quite happy", sorry for my pessimistic look at this.
Apart of the idea that jruby might come in handy this decision really
looks odd to me.
Maybe somebody wants to sink the ship? Well at least, if they do, they
seem to be good at it sigh.
R.

···

On Fri, Jul 4, 2008 at 8:01 PM, S2 <x@y.z> wrote:

phlip wrote:

Quit.

i probably will.

Were you using RoR with unit tests?

no. everything was fine actually. apps where developed quickly, used "cool"
ajax stuff that excited our clients and developers where quite happy.

Current RoR applications will be migrated to Java.

Was there a rationale?

no.

S2 wrote:

Were you using RoR with unit tests?

no. everything was fine actually. apps where developed quickly, used "cool"
ajax stuff that excited our clients and developers where quite happy.

You would have been faster and more ... assertive ... with unit tests.

Use assert_javascript to test Ajax.

Your Java and .NET offerings will limp far behind RoR's test abilities.

Current RoR applications will be migrated to Java.

Was there a rationale?

no.

You have a boss who is allowed to decree things without giving a rationale?

probably. i think the main reason is that management does not want to have 3
separate development lines (RoR, Java and .NET) for Web apps. I think they
want to unify the development Frameworks/languages so they can relocate
Staff from one project to an other without loosing to much "learn" time.

So, no pair programming, and they want to make knowledge transfer easier by reducing the amount of knowledge required. Gotcha!

S2 wrote:

Yes. I asked to get some devs and PMs together and get an analysis done on
the migration, what we lose and what we would gain by dropping RoR for
Java, but "for now we don't have the time. New development should be done
in Java".

At my day job we use pure XP with RoR. We use promiscuous pair programming, meaning we switch pairs every 2 hours. We use pure Test Driven Development, with refactoring & continuous integration. We have a very high velocity and a vanishing bug rate.

Since I got there, our team has increased to 6, and we will get 2 more as soon as we remodel. I really doubt we could talk our executives into switching back to Java, or switching from XP to something else... like "Agile".

Your worksite has issues that prevent your executives from seeing which systems are working better than others. There's an old adage, "If I had 6 hours to cut down a tree, I would spend the first 3 hours sharpening my ax".

Your bosses think the more strokes required to cut down a tree, the more "progress" you made. That's what a 600 line configuration file is - 600 more strokes with a dull ax.

So, no pair programming, and they want to make knowledge transfer easier
by reducing the amount of knowledge required. Gotcha!

Exactly. I'm not sure I understand your point?

Exactly... you are not sure? (-;

If you are not pair programming, then knowledge is indeed hard to transfer at team swap time. So your execs think they can reduce the total amount of knowledge required. Yet more strokes to cut down that tree!

···

--
   Phlip

Sure, if you trust that they are honest, first thing to do is to ask
for their rationale.
Maybe, after all, it makes sense.
If they cannot share their agenda with you, I was probably a little
bit right, but if they can and do you might be able to
trigger a discussion.

If e.g. you were guessing correctly, and I guess knowing the ship you
are sailing on there are some chances that you have, that they are
trying to get their development sharing spectrum smaller, you might be
able to give them different options (jruby might come into play
again). You might want to figure out some market trends, development
times etc.
In an ideal world you might get a chance to present Ruby's strengths :).

But in order to reason with somebody at first you have to trigger a
dialog, do you think you are in a position to do that?

Well good luck from the bottom of my heart.

Cheers
Robert

···

On Fri, Jul 4, 2008 at 8:21 PM, S2 <x@y.z> wrote:

Robert Dober wrote:

Of course there was, you stated it yourself above, "developers were
quite happy", sorry for my pessimistic look at this.

I don't think they are *that* evil :slight_smile:

Apart of the idea that jruby might come in handy this decision really
looks odd to me.

No. jruby will not be an option. If that was the case I would not look for
some other job. I think we/they are going to use the Seam Framework, but
it's still not sure. They asked me to join the team who gets to evaluate
the various available frameworks, but every time I look at a hibernate
config file I get goose-flesh.

Maybe somebody wants to sink the ship?

I don't think so. I think it's only ignorance.

Well at least, if they do, they
seem to be good at it sigh.

Have some arguments I could tell management? You never know...

S2 wrote:

No. jruby will not be an option. If that was the case I would not look for
some other job. I think we/they are going to use the Seam Framework, but
it's still not sure. They asked me to join the team who gets to evaluate
the various available frameworks, but every time I look at a hibernate
config file I get goose-flesh.

You need to be able to explain to them just why you get "goose-flesh".

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 don't see how anyone can expect people to just be instantly enlightened about the value of using Ruby; folks need facts.*

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

Get some stats, some code, some use cases, and build a solid case. The best argument tends to center on money. Something that argues for 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?

* 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.

···

--
James Britt

www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff

James Britt 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.

I don't see how anyone can expect people to just be instantly enlightened about the value of using Ruby; folks need facts.*

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

Get some stats, some code, some use cases, and build a solid case. The best argument tends to center on money. Something that argues for 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

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 Sat, 2008-07-05 at 04:08 +0900, James Britt 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."

--
Michael T. Richter <ttmrichter@gmail.com> (GoogleTalk:
ttmrichter@gmail.com)
A well-designed and humane interface does not need to be split into
beginner and expert subsystems. (Jef Raskin)

* 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.

Wait... have you ever actually endured much Java programming? <grin>

HaHaOnlySerious,

Bill

···

From: "M. Edward (Ed) Borasky" <znmeb@cesmail.net>

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.

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

···

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

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

----
raise ArgumentError unless @reality.responds_to? :reason

Bill Kelly wrote:

From: "M. Edward (Ed) Borasky" <znmeb@cesmail.net>

* 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.

Wait... have you ever actually endured much Java programming? <grin>

HaHaOnlySerious,

Bill

I once picked Java for a queuing theory model. I tried Visual Basic, Perl and Java on some simple linear algebra, and Java was the fastest. This was *long* ago -- before "Java 2"! So I wrote it in Java. The damn thing is still sitting in a CM repository somewhere. Nobody used it, because Java wasn't on the "approved list". If I had written it in C, I would have been a hero. Ah, well. :slight_smile:

That's the only Java code I ever wrote, but the language still appeals to me as a language. What I haven't endured is all of the frameworks, APIs, XML, etc. that have "evolved" around Java.

···

--
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

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.

<ducking>

···

--
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

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

···

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

Bill Kelly wrote:

From: "M. Edward (Ed) Borasky" <znmeb@cesmail.net>

* 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.

Wait... have you ever actually endured much Java programming? <grin>
HaHaOnlySerious,
Bill

I once picked Java for a queuing theory model. I tried Visual Basic, Perl and Java on some simple linear algebra, and Java was the fastest. This was *long* ago -- before "Java 2"! So I wrote it in Java. The damn thing is still sitting in a CM repository somewhere. Nobody used it, because Java wasn't on the "approved list". If I had written it in C, I would have been a hero. Ah, well. :slight_smile:

That's the only Java code I ever wrote, but the language still appeals to me as a language. What I haven't endured is all of the frameworks, APIs, XML, etc. that have "evolved" around Java.

----
raise ArgumentError unless @reality.responds_to? :reason

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

m.

···

On Sun, Jul 6, 2008 at 10:20 AM, M. Edward (Ed) Borasky <znmeb@cesmail.net> 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.

Or Smalltalk, IIRC it was just of these *stupid* license issues that
they did not continue with Oak.
What a shame :frowning:

R.

···

On Sat, Jul 5, 2008 at 1:22 AM, Eleanor McHugh <eleanor@games-with-brains.com> wrote:

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

Bill Kelly wrote:

From: "M. Edward (Ed) Borasky" <znmeb@cesmail.net>

* 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.

Wait... have you ever actually endured much Java programming? <grin>
HaHaOnlySerious,
Bill

I once picked Java for a queuing theory model. I tried Visual Basic, Perl
and Java on some simple linear algebra, and Java was the fastest. This was
*long* ago -- before "Java 2"! So I wrote it in Java. The damn thing is
still sitting in a CM repository somewhere. Nobody used it, because Java
wasn't on the "approved list". If I had written it in C, I would have been a
hero. Ah, well. :slight_smile:

That's the only Java code I ever wrote, but the language still 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:

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

Ellie

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

···

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

On Sun, Jul 6, 2008 at 10:20 AM, M. Edward (Ed) Borasky > <znmeb@cesmail.net> 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:

----
raise ArgumentError unless @reality.responds_to? :reason