Marco,

When I hear the term 'enterprise', I think not only about a technology 
set but also about the environment in which a solution is crafted and 
maintained. I associate Enterprise computing with large firms, large 
software development efforts, and development staff of widely varying 
ability.

I have found Ruby to be a very productive tool and have found it capable 
for implementing a wide variety of solutions for which I might have used 
Java APIs. That said, I prefer to use Ruby on projects with small, 
high-skilled development teams. Features which make Ruby productive 
(dynamically typed, interpreted, etc.) seem to me to have the potential 
to become a liability in large projects (scores of developers) with 
staffs of widely varying ability whereas Java features which on the 
micro level are cumbersome and inflexible (static typing, compiled), in 
conjunction with rich tooling available for Java, make it more 
manageable to implement for large-scale efforts.

In my view much of the recent debate between Java and Ruby enthusiasts 
fails to acknowledge that each of these tools have a valuable place and 
that a choice between them (at least for many projects) must include 
considerations not only of the merits of each technology but also of the 
human aspects of the environment into which they are deployed. Small 
consulting firms do not have to think about such considerations in the 
same way that a large corporate development project does.

That said I certainly would not discourage use of Ruby in an enterprise 
context. I have certainly benefited from doing so. But know your team. 
Successful implementation of a technology is dependent on many factors 
beyond the capability of a particular technology.


John-Mason Shackelford

Software Developer
Pearson Education

2510 North Dodge St.
Iowa City, IA 52245
ph. 319-354-9200x6214
john-mason.shackelford / pearson.com
http://pearsoned.com