blob: 4042e538c71ed1db00d65a95d7b1c62a10235385 [file] [log] [blame]
<!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>