<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<title>NetBeans Day Interview: Charlie Nutter</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="author" content="Beth Stearns">
</head>

<body>

<h1>NetBeans Day Speaker: Charlie Nutter Talks About Ruby, JRuby, and JRuby on Rails</h1>

<p><br>

<i>Charles Nutter has been a Java developer since 1996. He

currently works full-time as a core developer on JRuby at Sun

Microsystems. He led the open-source LiteStep project in the late 90s

and started working on Ruby in the fall of 2004. Since then he has been

a member of the JRuby team, helping to make it a true alternative Ruby

platform. Charles presented JRuby at RubyConference 2005 and

co-presented at JavaOne 2006 with Thomas Enebo. Charles blogs on Ruby

and Java at <a href="http://headius.blogspot.com/">headius.blogspot.com</a>.</i>
</p>
<br>

      <h1>Charlie Nutter</h1>

<br>

<img src="../../../images_www/javaone/2007/cnutter.jpg" alt="Charlie Nutter" style="width: 185px; height: 204px;" align="left" height="110" hspace="10" vspace="10" width="98">

<h4>At <a href="../javaone/2007/nb-day.html">NetBeans

Day in San Francisco on May 7</a>, Charlie will be speaking

about Ruby, JRuby, and JRuby on Rails. We asked him some questions

about his upcoming talk, and here's what he had to say:</h4>

<br><br><h4>Most of us know that Ruby, a single-pass interpreted

language, is a reflective, dynamic, object-oriented programming

language combining syntax inspired by Perl with Smalltalk-like

object-oriented features. Plus it shares some features with Python,

Lisp, Dylan and CLU. How does someone like yourself, someone with so

much Ruby experience, describe Ruby?</h4>

<br><p>That standard description works well, but I'd also describe Ruby as

highly metaprogrammable, easy to learn, and perhaps most

importantly...fun. It's been a long time since I found a language as

fun to use as Ruby.</p>

<h4>Do you see Ruby competing with languages like Java and JavaScript?

Or would you say that Ruby is a complimentary language to Java and

JavaScript?</h4>

<br><p>Perhaps Ruby competes with JavaScript,

since they're in roughly the same half of the language world (dynamic

languages), but choosing between different dynamic languages is a bit

like choosing between peanut butter and chocolate. People just have

their own tastes.</p>

<p>I'd say that Ruby and Java can be just as complimentary as Ruby and

C are in the standard implementation. It doesn't make any more sense to

say "always use Ruby" than it does to say "always use Java". You choose

the best tools for the job, the ones that help you accomplish the task

as well as possible. I think that Java and Ruby go together very well,

a bit like chocolate and peanut butter combinations.</p>

<h4>Why should developers be interested in Ruby?</h4>

<br><p>Perhaps the most important reason is that Ruby gives developers a new

way of looking at programming. It supports the same basic OO constructs

that Java supports but presents an additional set of features that open

a lot of developers' eyes. Of course there's also the fact that Ruby is

a very powerful and elegant language, allowing developers to get more

done with less code. In the end, though, it's a combination of the

two...learning Ruby will make you a better programmer, and continuing

to use it will probably make you more productive.</p>

<h4>Is Ruby better for certain applications but not others? In what situations should developers consider using Ruby?</h4>

<br><p>Ruby is a great language for the topmost layer of any

application, tying together other libraries written in other languages

(like Java). It works very well in that capacity, gluing together many

libraries with a minimum of code, while providing metaprogramming

capabilities to make those libraries easier to understand and consume.</p>

<p>Ruby is also being used to develop "full stack" applications using

frameworks like Ruby on Rails. Because of this, more people are

realizing that dynamic languages like Ruby truly can be used to develop

whole systems, and that their benefits can extend throughout the

development process.</p>

<h4>How would you compare Ruby and JRuby? There must be some

differences between them. What are those differences and how

significant are they?</h4>

<br><p>The differences between Ruby and JRuby are largely the differences

between writing Java code and writing native C code: Ruby exposes many

platform-specific or low-level operations we can't support directly in

JRuby. However the lack of those issues hasn't stopped us from running

Rails, arguably the largest and most complicated framework yet written

in Ruby. So the short answer is that the differences don't impact most

users.</p>

<h4>Can you use JRuby in the same way you use Ruby?</h4>

<br><p>That is the ultimate goal. We're pretty close to that point, but JRuby

may never be the best option for short-running scripts (JVM overhead

bites us a bit here) or for when you really need those low-level

functions. But in general any application that's "pure Ruby" should

work just as well with JRuby as with Ruby.</p>

<h4>Is Ruby on Rails on open-source framework for developing web applications that is built around Ruby?</h4>

<br><p>Ruby on Rails is a full-stack web framework providing a very agile

approach to web application development. Everybody would agree that

Rails has changed the way we look at web development, on any platform.</p>

<h4>What is JRuby on Rails? And how would you compare JRuby on Rails to Ruby on Rails?</h4>

<br><p>JRuby on Rails is virtually the same as Ruby on Rails, only it has the

further advantage of running on the Java Virtual Machine. Our goal is

to run Rails on JRuby directly with as little modification as possible.

Today, most "pure Ruby" Rails apps will run well on JRuby with only

minor configuration tweaks, so we've mostly achieved that goal.</p>

<h4>What are the main reasons developers should be interested in using JRuby on Rails?</h4>

<br><p>JRuby on Rails will provide new, easier deployment options, more

scalable execution, and the stability and reliability of the Java

platform. It looks and feels like Rails (and really, just runs the same

Rails code as Ruby on Rails), but backed by the powerful JVM and its

massive collection of libraries.</p>

<h4>Is JRuby on Rails better suited for certain types of applications?

Should developers consider it for any type of web application?</h4>

<br><p>People are using Ruby on Rails for all sorts of web applications, and

have started to co-opt many of its component modules for non-webapps,

too. I think the sky's the limit for what developers can accomplish

with Rails, if they have enough imagination.</p>

<h4>What does NetBeans 6 bring to the table for Ruby, JRuby, and JRuby on Rails?</h4>

<br><p>NetBeans 6 will have direct support for developing Ruby and

Rails applications, providing the "full IDE experience." That means

code completion, refactoring, in-IDE app testing and debugging, project

management, source control, and all the other features an IDE like

NetBeans brings to the table for any language. Many Ruby developers

have claimed they don't need an IDE, preferring to just use glorified

text editors. That is, until they've seen what's possible with

well-written Ruby support like that in NetBeans. </p>

<h4>Why should developers use NetBeans 6 and Ruby/JRuby/JRuby on Rails?</h4>

<br><p>NetBeans 6 is really an amazing piece of work, taking the success of

NetBeans 5.5 and going another level beyond. I've been using it for

day-to-day work even during the development process, and I've been

happy with it. Plus, now that there's support for working with Ruby and

Rails alongside Java applications, I finally have a complete IDE that

allows me to develop in my two favorite languages. NetBeans 6 is sure

to turn a lot of heads in the IDE world.</p>

<p>And I think developers need to try out Ruby to really understand

what it gives them. Never before have I used a language that made so

many things easy while generally staying out of my way. And that's the

mark of a good language...how much you can accomplish without banging

your head against the wall. Ruby and Rails have accomplished a

tremendous amount in that sense, and I'm sure we'll see many more

innovations coming out of the Ruby world in the coming months.</p>

<h2>Meet Charlie in San Francisco</h2>

<p>Don't miss Charlie's talk on
<a href="../javaone/2007/nb-day.html">NetBeans
Day in San Francisco on May 7, 2007</a>, where he will demo
Ruby, JRuby, and JRuby on Rails and answer your questions.</p>

</body>
</html>
