Download From Java to Ruby PDF

TitleFrom Java to Ruby
LanguageEnglish
File Size1.5 MB
Total Pages161
Table of Contents
                            Introduction
	The Emergence of Ruby
	The Java Platform Is Weakening
	Early Adopters Embrace Ruby
	The Process
	Moving Ahead
	Executive Summary
Pain
	The House of Pain
	Poor Productivity
	Long Ramp-Up
	A Look at Risk
	Executive Summary
Establishing Your Reward
	Momentum
	Productivity
	Cost
	Ramp-Up
	Risk
	Looking Ahead
	Executive Summary
Pilot
	Building Your Plan
	Scenario 1: Classic Pilot
	Scenario 2: Trojan Horse
	Scenario 3: Race
	Scenario 4: Bet-your-Business: Basecamp
	Scenario 5: Rescue
	Making the Choice
	Executive Summary
On an Island
	Overview
	The Basics
	Web Development
	Rails
	Middleware
	Looking Ahead
	Executive Summary
Bridges
	Road Maps
	Scenarios
	Ruby to Java Bridges
	JRuby
	Service-Oriented Architectures
	Executive Summary
Ramping Up
	Building Your Staff
	Building Skills Internally
	Short-Term Augmentation
	Preparing the Way
	A Brief Word about Deployment
	Executive Summary
Risk
	Bad Risk
	Mitigating Technical Risk
	Mitigating Political Risk
	What's Ahead for Ruby?
Bibliography
                        
Document Text Contents
Page 1

Prepared exclusively for Alejandro Barroso

Page 2

What readers are saying about From Java to Ruby

Bruce has a great reputation as a forward-leaning thinker, and he
articulates his opinions well. The mix of audience (Manager and
Developer) leans towards managers, but he manages to pull this dif-
ficult mix off well. It is just as good as I would expect from Bruce, hav-
ing read his other works.

Neal Ford
Author, speaker, and architect, Thoughtworks

Many leading developers are already sold on the idea that Ruby can
benefit their organizations—however, most of us still have to convince
our management. With Bruce Tate’s Java to Ruby, we have a powerful
ally in our quest to add this fantastic language to our toolbox.

Nathaniel T. Schutta
Co-author, Foundations of Ajax

This is a book that every die hard Java developer should read. The
strategy of integrating current Java Enterprise assets with Ruby’s
productivity can bring the edge that an organization needs to remain
competitive, react quicker to requirements, market shifts and ulti-
mately more agile.

Miguel Serrano
Enterprise Architect, VWR International

This book provides an excellent overview of the important Ruby com-
ponents and concepts to the Java developer.

Jeffrey Blessing, Ph.D.
Professor, Milwaukee School of Engineering

Prepared exclusively for Alejandro Barroso

Page 80

SCENARIO 3: RACE 70

If you’re the project director, you may be willing to spend your research
or contingency budgets on a parallel development effort.

Alternatively, you can sell the Ruby development as a cheap hedge. You
have to be creative. It’s usually difficult to get conservative management
to sign off on risky technologies, and is doubly so for parallel throwaway
development, but it can and has been done.

Example: A Start-Up Company Builds a Manufacturing
Application

J2Life, LLC, and Relevance, LLC, worked together on an application for
a start-up in the spring of 2005. We began building the application with
the lightweight stack of Java frameworks including Spring, Hibernate,
and WebWork. I worked on the data model and advised the customer.
Justin worked with the remainder of the code. The customer, a start-up
in Austin, had been complaining about the slow pace of new develop-
ment and our responsiveness to changes. He was self-funding, and the
application was the company’s only asset. The intelligence of the appli-
cation was in the organization of the data model based on the years of
experience of the founder. We basically needed a web user interface to
manage a relational database.

Justin and I both experimented with Ruby on Rails after talking to Dave
Thomas at a conference. I played enough to find that we should take
Rails seriously. Justin actually completed all the functionality that we
had built in Java, but in a fraction of the time. The start-up company’s
goal was to sell the technology to large manufacturing companies. We
were confident that large manufacturing companies would be willing to
buy a Ruby application.

When we talked to the customer, we were able to show overwhelm-
ing productivity improvements and the corresponding lower cost. We
shifted to a reduced, fixed-price contract, which also pleased the cus-
tomer. By doing so, we eliminated the customer’s downside risk, and
Relevance improved their margins, because the newer technology was
so productive. They passed additional savings on to the customer as
well.

This project eventually failed, but not for technical reasons. Consider-
ing the eventual failure, we believe the Rails choice was well justified,
because we limited the out-of-pocket expenses from the investors.

Report erratum
Prepared exclusively for Alejandro Barroso

http://books.pragprog.com/title/fr_j2r/errata/add?pdf_page=70

Page 81

SCENARIO 4: BET-YOUR-BUSINESS: BASECAMP 71

Over time, Justin’s productivity was between five and ten times his
productivity with the Java programming language. He found that the
Ruby version of the application could be tuned for performance much
more easily than the Java version, and with the Ajax support, the user
interface was better also.

Example: Consultancies

I have recently learned that we are one of several consultancies that
have used this Race scenario. In two cases, the consultancy initially
funded the Ruby development effort. They were willing to do so to gain
experience with the exploding Ruby language. Like Justin and I, they
also had enough confidence in the Ruby on Rails technology that they
fully expected the investment to pay off.

In every case, the customer had struggling Java development issues,
usually due to the complexity of building web-based applications in
Java. As I did the research for this book and Beyond Java, an often
repeated message was that the Java platform simply makes web devel-
opment harder than it needs to be.

The Race scenario need not depend on web-based development. Small
teams with strong experience with dynamic languages can usually work
much faster than Java teams given a common problem set.

4.5 Scenario 4: Bet-your-Business: Basecamp

The riskiest, and potentially most rewarding, scenario is to bet your
business on the productivity improvements you can get with Ruby on
Rails versus Java. This scenario is actually more popular than you
might expect among start-up companies. These types of companies
need serious technological edges against larger competitors, and a more
dynamic and productive programming language is often a serious part
of the equation.

The Ruby on Rails project was basically built based on this scenario at
37signals. There, a very small team of programmers builds and main-
tains web applications that are used worldwide. The company is now
viewed as one of the most promising young companies in the world.

In these cases, the risk associated with Ruby is trivial against the
potential rewards of the environment. Figure 4.5, on the following page
shows the profile.

Report erratum
Prepared exclusively for Alejandro Barroso

http://books.pragprog.com/title/fr_j2r/errata/add?pdf_page=71

Page 160

Cutting Edge
Learn how to use the popular Ruby programming language from the Pragmatic Program-
mers: your definitive source for reference and tutorials on the Ruby language and exciting
new application development tools based on Ruby.

The Facets of Ruby series includes the definitive guide to Ruby, widely known as the
PickAxe book, and Agile Web Development with Rails, the first and best guide to the
cutting-edge Ruby on Rails application framework.

Programming Ruby (The PickAxe)
The definitive guide to Ruby programming.
• Up-to-date and expanded for Ruby ver-
sion 1.8. • Complete documentation of all the
built-in classes, modules, methods, and stan-
dard libraries. • Learn more about Ruby’s
web tools, unit testing, and programming phi-
losophy.

Programming Ruby: The Pragmatic
Programmer’s Guide, 2nd Edition

Dave Thomas with Chad Fowler
and Andy Hunt

(864 pages) ISBN: 0-9745140-5-5. $44.95

Agile Web Development with Rails

A new approach to rapid web development.
Develop sophisticated web applications
quickly and easily • Learn the framework of
choice for Web 2.0 developers • Use incre-
mental and iterative development to create the
web apps that users want • Get to go home
on time.

Agile Web Development with Rails:
A Pragmatic Guide
Dave Thomas and David Heinemeier Hansson
(570 pages) ISBN: 0-9766940-0-X. $34.95

Visit our secure online store: http://pragmaticprogrammer.com/catalog

Prepared exclusively for Alejandro Barroso

http://pragmaticprogrammer.com/catalog

Page 161

The Pragmatic Bookshelf
The Pragmatic Bookshelf features books written by developers for developers. The titles
continue the well-known Pragmatic Programmer style, and continue to garner awards
and rave reviews. As development gets more and more difficult, the Pragmatic Program-
mers will be there with more titles and products to help programmers stay on top of their
game.

Visit Us Online
Java to Ruby Home Page
pragmaticprogrammer.com/title/fr_j2r
Source code from this book, errata, and other resources. Come give us feedback, too!

Register for Updates
pragmaticprogrammer.com/updates
Be notified when updates and new books become available.

Join the Community
pragmaticprogrammer.com/community
Read our weblogs, join our online discussions, participate in our mailing list, interact
with our wiki, and benefit from the experience of other Pragmatic Programmers.

New and Noteworthy
pragmaticprogrammer.com/news
Check out the latest pragmatic developments in the news.

Buy the Book
If you liked this PDF, perhaps you’d like to have a paper copy of the book. It’s available
for purchase at our store: pragmaticprogrammer.com/title/fr_j2r.

Contact Us
Phone Orders: 1-800-699-PROG (+1 919 847 3884)
Online Orders: www.pragmaticprogrammer.com/catalog
Customer Service: [email protected]
Non-English Versions: [email protected]
Pragmatic Teaching: [email protected]
Author Proposals: [email protected]

Prepared exclusively for Alejandro Barroso

pragmaticprogrammer.com/title/fr_j2r
www.pragmaticprogrammer.com/catalog

Similer Documents