Slashdot Mirror


JRuby Great Addition To Java Development

An anonymous reader writes "JRuby combines the object-oriented strength of Smalltalk, the expressiveness of Perl, and the flexibility of the Java class libraries into a single, efficient rapid development framework for the Java platform. This article introduces JRuby, a sophisticated addition to your Java development toolbox."

51 comments

  1. So... work with me here.... by FooAtWFU · · Score: 1, Funny
    So... it compiles Ruby-type code... into Java bytecode? and then links the bytecode against Sun's libraries? Nifty!

    Time to cue the Java-is-slow/big/bloated crowd and s/Java/JRuby/, though.

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
    1. Re:So... work with me here.... by Fweeky · · Score: 2, Informative

      No, it's a tree-based interpreter like the standard Ruby one AFAIK.

      I'm still wondering why we're seeing a story on this so long after it's release, when the likes of Rails, one of the more exciting Ruby libraries in recent memory, gets completely ignored.

      Of course, nobody here would really be interested in a powerful, easy way to develop web applications with practically zero configuration. It's just not *fun* without 800k of XML just to configure your ORM library :/

    2. Re:So... work with me here.... by Anonymous Coward · · Score: 1, Funny

      Hey sonny, some of us Java programmers need jobs. If word gets out about Rails, I'll be sent out into the street.

      AND WE CAN'T HAVE THAT SONNY! So just you keep that Rails business under your hat.

      Why, I hear in Rails if you want to add a page to your web site, you just, uhm, create the file. What kind of madness is that! You gotta save the file, then edit an XML file to give the file a name string, then edit another XML file to associate a bean to the name string, then write a bean with getter and setter methods for each field in the file, then associa... hey wait a minute these are trade secrets.. you gotta do some work, that's what I'm saying.

      And this Ruby language, I doubt it can make adding two numbers any easier than this:

      mathOperation adder = operationFactory(BinOp.ADDITION);
      expressionNumbe r addend = new Number(2);
      expressionNumber augend = addend.clone(); //shortcut

      // TODO: set this up with an XML file
      mathExpression exp = new Expression();
      try {
      exp.setOp(adder);
      exp.setLHS(addend, mathExp.ASSUME_INTEGER);
      exp.setRHS(augend, mathExp.ASSUME_INTEGER);
      } catch mathExp.pointlessError { }

      expressionResult result = exp.compute(mathExp.IMMEDIATE);

      int intResult = result.getInt();

      System.out.println("2 + 2 =" + intResult);

      Don't you just love the POWER OF JAVA!!! I feel like I can achieve anything in Java, given enough time.

    3. Re:So... work with me here.... by tcopeland · · Score: 1

      > Rails

      Yup, and since it's installable via a Ruby Gem it's easy to get it running.

      > why we're seeing a story on this

      I bet the O'Reilly folks would accept an article on Rails...

    4. Re:So... work with me here.... by Anonymous Coward · · Score: 0

      so long after it's release

      "its".

    5. Re:So... work with me here.... by HughsOnFirst · · Score: 1

      or perhaps
      "released"
      so long after it's released

    6. Re:So... work with me here.... by Fnkmaster · · Score: 1

      Okay, this isn't quite fair. I know you are joking around, so don't accuse me of having no sense of humor. :) There are a lot of things I like about Java, and J2EE is absolutely, positively NOT one of them (and yes, I've done fairly large rollouts with it and know how to optimize it, but I still think it's atrocious stuff and very ineffecient in terms of developer time and runtime performance, and no, 'scalability' is not a viable excuse since it's rarely as scalable as it ought to be). There are other nice frameworks for developing Java-based webapps that don't involve using EJBs and which involve just writing files.

  2. other languages by Intrigued · · Score: 4, Informative
    To my understanding, this is one script interpreter that is being developed for Java. It offers ease of use for people accostumbed to working with Ruby.

    For a larger view of the language development being done similar to this, take a look at List of Java virtual machine languages.

    I should think that most people will find at least something that appeals to them.

  3. So what exactly is the difference... by Dr.+Bent · · Score: 0, Redundant

    ...between this and Groovy?

    1. Re:So what exactly is the difference... by bonniot · · Score: 5, Informative
      Ruby and Groovy are different languages. They happen to be both scripting languages, and to have an implementation that runs on the jre (Java Runtime Environment), that's all.

      The JRuby article is part of the alt.lang.jre series, with announced articles about "Rhino, Nice, and NetRexx, and many other exciting alternate languages for the JRE". It looks like the articles are coming in this order, one around the beginning of each month.

    2. Re:So what exactly is the difference... by Anonymous Coward · · Score: 0

      The difference is Groovy is a bad rip off of Ruby. Ruby is a much more consistent language than Groovy, with a more consistent syntax.

    3. Re:So what exactly is the difference... by davegaramond · · Score: 1

      The difference is, Groovy is not Ruby :-) Groovy is a new language, and it borrows some syntax/features from Ruby (as well as Python).

  4. JRuby versus Java [code comparison - short] by tod_miller · · Score: 4, Funny
    JRuby
    require 'java'
    module Swing
    include_package 'java.awt'
    include_package 'javax.swing'
    end
    module AwtEvent
    include_package 'java.awt.event'
    end

    $calculator = Swing::JFrame.new
    class << $calculator

    def init
    end

    end

    $calculator.init
    $calculator.setSiz e(400, 400)
    $calculator.setVisible(true)
    versus Java
    import javax.swing.JFrame;
    public class Calculator extends JFrame {
    public Calculator(){
    super("Slashdot Rul3z");
    setSize(400, 400);
    setVisible(true);
    }
    public static void main(String[] args) {new Calculator();}
    }
    and we have a winner
    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    1. Re:JRuby versus Java [code comparison - short] by tod_miller · · Score: 1

      Of course, it is a very nice language as scripting languages go, and I suppose the sample I choose (swing) was a little misleading, I guess simpler tasks, and more 'do this then that then the other' un-OO tasks might look cuter in JRuby.

      Who knows.

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    2. Re:JRuby versus Java [code comparison - short] by Anonymous Coward · · Score: 0

      import javax.swing.JFrame;
      public class Calculator extends JFrame {
      public Calculator(){
      super("Slashdot Rul3z");
      setSize(400, 400);
      setVisible(true);
      }
      public static void main(String[] args) {new Calculator();}
      }


      Nope, that's not equivalent.

      import javax.swing.JFrame;
      public class Calculator extends JFrame {
      public void init(){}
      public static void main(String[] args) {
      Calculator calculator = new Calculator();
      calculator.init();
      calculator.setSize(400,400);
      calculator.setVisible(true);
      }
      }

      There is no clear "winner", since the rest of the code is just some import statements. Besides, it's only a few lines. What was your point, anyway?

    3. Re:JRuby versus Java [code comparison - short] by bzhou · · Score: 4, Funny
      vs. Jython
      from java import awt
      from pawt import swing

      labels = ["0", "1", "2", "+",
      "3", "4", "5", "-",
      "6", "7", "8", "*",
      "9", ".", "=", "/" ]

      keys = swing.JPanel(awt.GridLayout(4, 4))
      display = swing.JTextField()

      def push(event):
      display.replaceSelection(event.actionCommand)

      d ef enter(event): # <= def, slashdot formatting bug?
      display.text = str(eval(display.text))
      display.selectAll()

      for label in labels:
      key = swing.JButton(label)
      if "=" == label:
      key.actionPerformed = enter
      else:
      key.actionPerformed = push
      keys.add(key)

      panel = swing.JPanel(awt.BorderLayout())
      panel.add("North ", display)
      panel.add("Center", keys)
      swing.test(panel)
    4. Re:JRuby versus Java [code comparison - short] by Anonymous Coward · · Score: 0

      "I guess simpler tasks, and more 'do this then that then the other' un-OO tasks might look cuter in JRuby "

      i think ruby is a LOT more objectoriented then java, but of course using javas native widget-framework seems kinda unfair dont you think ;)

      (try dooing -34.abs() in java for example)

    5. Re:JRuby versus Java [code comparison - short] by Eivind+Eklund · · Score: 3, Informative
      ... and we have a loser writing.

      When you have zero clue how to write the language, I suggest you shut up.

      The equivalent Ruby is (sorry about the lack of indentation - Slashdot seems to eat it):

      require 'java'
      include_package 'javax.swing'

      class Calculator < JFrame
      def initialize
      super("Slashdot Rul3z")
      setSize(400, 400)
      setVisible(true)
      end
      end

      Calculator.new()

      That's exactly one require-line and two blank lines more than your non-idiomatically-indented Java with missing newlines. It is one line less than what I'd consider normal amount of spacing - a newline after the import statement, a newline between the methods, and the {}-block for main actually spaced out.

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    6. Re:JRuby versus Java [code comparison - short] by tod_miller · · Score: 2, Insightful

      When you have zero clue how to write the language, I suggest you shut up.

      *waves* hello, you must be new around here, *points at article* If you would like to read that while you wait, we call it reading the article.

      I copy and pasted that code out of the article - I didn't make it up.

      hint
      The article was about JRuby.

      And it wasn't a penis measuring contest, but a legibility contest. Now I can read java easier than JRuby because I read it daily. But looking at the redundant entropy in the bytes (I won't huff it for you) I can tell that this code looks more complicated.

      So take that ruby out of your ass and RTFAYFT.

      (readthefuckingarticleyoufuckingtwat)

      end

      Please enjoy.

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    7. Re:JRuby versus Java [code comparison - short] by tod_miller · · Score: 1

      I will admit that the article left redundant import statements in the code though, but again, I wasn't going for line count, otherwise I would loose all sense of identity and... and...

      write in perl! aaaaargh.

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    8. Re:JRuby versus Java [code comparison - short] by Anonymous Coward · · Score: 0

      And it wasn't a penis measuring contest, but a legibility contest. Now I can read java easier than JRuby because I read it daily. But looking at the redundant entropy in the bytes (I won't huff it for you) I can tell that this code looks more complicated.

      You improved the Java code, making it different from the JRuby code, and left the JRuby code as is. You also removed some newlines from the Java code that any sane person would have left. That's not a penis-measuring contest? You call that fair? Please!

    9. Re:JRuby versus Java [code comparison - short] by Eivind+Eklund · · Score: 1
      I copy and pasted that code out of the article - I didn't make it up.

      So?

      You were criticizing the language, not the article. That code was awful Ruby. Your code was good Java.

      I've seen awful Java a lot of times - but I don't rewrite that to good Ruby and then criticize Java based on the single awful piece.

      I read both Java and Ruby more or less daily (neither is my primary pay-the-bills language at the moment, though I've paid bills with both before, and expect to do so again). My personal, subjective experience is that Ruby is usually (but not always) more readable, because Ruby contains only close to the exact stuff the programmer wants to happen, while Java contains a lot of extra stuff to satisfy the language (primarily various forms of type annotations, variable declarations, casts, etc).

      As for minimizing line counts: You mentioned Perl. My experience with translations from Perl to Ruby is that the non-comment lines of code end up at fairly precisely half the number in Ruby compared to Perl. This is with a close to raw translation (the only Ruby idiom I've utilized for that kind of translation has been the counting iterators from the standard library.)

      I'm not sure what you mean by "But looking at the redundant entropy in the bytes (I won't huff it for you) I can tell that this code looks more complicated.".

      If it is that Ruby has more signal per byte of source code: Definately! Ruby has had as an explict goal that it should succint, letting the programmer specify his intentions in short and clear terms.

      If it is that the Ruby program you wrote a parallell to was more complicated than the Java program: Sure. It contained more complications; first, it did cross-language interfacing (using libraries that were not written for Ruby), and second, it had a ton of unnecessary complications that had nothing to do with the task at hand, but were just left from bad programming.

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    10. Re:JRuby versus Java [code comparison - short] by tod_miller · · Score: 1

      So?

      <snip/>

      That code was JRuby.

      As I said, welcome to slashdot, please read the article. [I didn't read your reply past 'that was bad ruby']

      Also, who cares about programming language penis size contests?

      I pasted some JRuby code unmodified, and clicked up the normal Java code, and thought, why script this?

      Thats about the meat of my post, now if you would like the potatoes, gravy, fancy cutlery and napkins, just ask!

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    11. Re:JRuby versus Java [code comparison - short] by Eivind+Eklund · · Score: 1
      I did read the freakin' article; it was irrelevant to my point. Go read the freakin' reply which tell you WHY. And your Java code wasn't most of the issue; your judgmental comments were.

      And I still claim: Only judge between things you know. But this is Slashdot - maybe expecting thought is too much to ask.

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    12. Re:JRuby versus Java [code comparison - short] by tod_miller · · Score: 1

      Not wanting to continue redundant thread - I am not sure what you were arguing, only that you said I posted bad 'ruby' code, which was not actually the point of my code, only the fact that I had found the readability very poor - I also mentioned that as a Java programmer, I would find the readability very poor.

      As an artist I found it ugly.

      Of course, I am biased. I do respect your greater knowledge of Ruby, of course, and that you wrote very nice Ruby code, but also I respect my artistic opinion that it was dog ugly :-)

      I hope that sorts it out.

      You made some valid points too.

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  5. shall i be pure ?.... by Anonymous Coward · · Score: 0

    What about the type system ?... is it contextual ? does it depends of the feature that you're using ?... if you use a feature of smalltalk is smalltalk typed and so on ?, :)

  6. Indeed - Hibernate beware... by ryandlugosz · · Score: 0

    Rails is a pretty incredible framework. It really makes developing webapps (at least the core functionality) a trivial procedure. While clearly not as "High performance" as a Java/hibernate app could potentially be, it can handle more than enough load for nearly all applications. It's certainly worth checking out - even if you can't use it in production, you can prototype an app *very* quickly. The author has a neat "contest" between a Hibernate app and the same concept developed in Rails on his blog.

    1. Re:Indeed - Hibernate beware... by tigeba · · Score: 1

      Rails (which I have not used) claims to be a complete MVC framework, whereas Hibernate (which I have used fairly extensively) focuses entirely on persistence, so comparing the two seems a bit odd.

      While I am sure that it is nice for prototyping things quickly, it does not seem to be solving the same problem as Hibernate. For example, Hibernate does not require the user to extend a some sort of base class in order for a POJO to gain persistence, which some developers would perceive to be a huge benefit.

      In summary, this does not really seem like an apples to apples comparison, perhaps not even an apples to fruit comparison :)

    2. Re:Indeed - Hibernate beware... by ryandlugosz · · Score: 0
      Agreed; to be fair, it is not appropriate to compare Rails to Hibernate. Rather it is better to compare ActiveRecord (the persistance portion of Rails (which, btw is fully independant of the web framework)) to Hibernate.

      Given a table "Items" with many attributes describing an item, the *complete* code that you'd need to write to represent this object in the program is:

      class Item < ActiveRecord::Base
      end


      No XML mappings, no attribute accessors, nothing but this code (to be 100% correct, there needs to be a line in a class somewhere that just tells ActiveRecord how to connect to the DB, but that's truly all). More complicated things like relations are just as trivial to add. Sure, this is *not* the Ruby equivalent of a "POJO", but who cares? Are you really serious in that your objects are so much more "pure" (or, I guess "plain")? Take away the many dozen lines of XML config and your app is *not* going to work; I'd hardly say that your objects are plain - they're merely decorated by a step after the compilier.

      Plus - want to add a new attribute to the object? With AR, all you do is add a column to the table. That's *ALL*. What do you do with Hibernate? Add a column to the table, add a private member and accessors to the POJO, and finally add lines in the XML config file that map that column into the object. The next steps involve testing it and then figuring out which thing you spelled incorrectly in the XML config that's preventing your app from working ("Oh - I spelled it 'naem' instead of 'name'!").

      ActiveRecord is a core part of Rails; it's easy to forget that Rails a whole framework and that Hibernate is simply persistence. It just seems like Hibernate must be doing more since the so much more work involved in getting it running...
    3. Re:Indeed - Hibernate beware... by tigeba · · Score: 1

      "Plus - want to add a new attribute to the object? With AR, all you do is add a column to the table. That's *ALL*. What do you do with Hibernate? Add a column to the table, add a private member and accessors to the POJO, and finally add lines in the XML config file that map that column into the object. The next steps involve testing it and then figuring out which thing you spelled incorrectly in the XML config that's preventing your app from working ("Oh - I spelled it 'naem' instead of 'name'!"). "

      Personally I use XDoclet (I assume that a fair number of Hibernate developers do as well) so here is how I would add a property to a class that I wanted to be persisted /**
      * @hibernate.property
      */
      public String getFoo(){ ...}

      public void setFoo(String foo){..}

      My class definition might look something like this: /**
      * @hibernate.class table="monkey"
      */
      public class Monkey{....}

      In this case the "table="monkey"" bit would be optional, but very nice flexibility for working with existing tables, as well as for when encountering limits to table name size, etc.

      No need to add a column, hibernate can handle that if needed. No editing any xml config file. Very non-tedious if you ask me. In fact, you don't really have to create any tables at all if you don't want to, as Hibernate is perfectly willing to create them all for you. Of course my definition will always require me to add getters and setters which is more verbose than the way Ruby would do it. In addition I have the flexibility to name the property something different than the column in the database, which is quite handy and desirable in many cases. In general Hibernate does not require to you follow any arbitrary naming convention with your columns, or relationships (since you can use a configuration file or in my case, XDoclet). I was looking thru the ActiveRecord docs, and I did not find some basic features that are quite important (however I did not spend too much time, so I may have overlooked them). For example, not all databases have auto-incrementing columns, so there needs to be a way to specify how one would use something like a sequence. Hibernate provides this. It also appears that you are only provided with the option of using native SQL for queries, which is not optimal if you want to at least pretend you are remaining database neutral (heh heh), while Hibernate provides the option of Criteria queries, hsql, or the ODMG(?) OQL interface.

      Hibernate is simply trading more features for increased complexity. ActiveRecord appears to be taking a more bare bones approach. I'm not knocking ActiveRecord, it seems very cool, but it seems to be simpler by virtue of the fact that it just does less stuff, albeit probably stuff that handles 80% of cases just fine. By the way, I noticed that ActiveRecord does not support Oracle, or SQL Server. Does Ruby not have some sort of general database access API, or is the bridge component that ActiveRecord require just needed to tweak calls to that API?

      Sorry, couldnt get /. to stop mangling some of the code examples. Good thing this isnt Python, eh? :)

    4. Re:Indeed - Hibernate beware... by ryandlugosz · · Score: 0

      "Hibernate is simply trading more features for increased complexity. ActiveRecord appears to be taking a more bare bones approach."

      Yep - I think that's the point. I'm not knocking Hibernate, either - Java development is what pays the bills for me too; it's just hard to swallow the Hibernate requirements after you use something like ActiveRecord a bit. Hibernate clearly has more features and is significantly more mature than AR (just a few months old). That said, you can do a lot with AR after you scratch the surface - just a matter of looking at some of the examples.

      XDoclet does simplify things a bit & is a good way to deal with that. Yes, AR is (AFAIK) tied to working with SQL databases. Also, Ruby itself has the capability to connect to Oracle and SQL Server with the proper driver. AR requires a special interface be implemented for access to a given brand of database since it retrieves more information about the tables than the typical ruby-dbms driver provides (at least, I think this is why; I haven't dug into it much). It's pretty straightforward to implement and it's where you would do things such as custom handlers for things like sequences. Hopefully more of these will be contributed to the project soon as people use AR against Oracle, et. al.

      Thanks for some good discussion (typically hard to find here...).
      -Ryan

  7. About that name by HughsOnFirst · · Score: 4, Funny

    So when I tell somone that this is the right tool for the job , how am I supposed to pronounce it?
    ja-ru-bee? ( gummie candy treat perhaps? )
    har-you-bee ?
    or jay-ru-bee as though it were named after Lee Harvey Oswald's killer Jack Ruby ( J. Ruby ) ?

  8. like Jython... by Pfhreakaz0id · · Score: 1

    Jython is the python/java bridge. Unfortunately, it hasn't had a new version in quite a while.. but it allows the same thing.

    1. Re:like Jython... by aled · · Score: 1

      Jython is not a bridge in the java to native sense, if that is what you mean. It is an interpreter of the Python language fully made in Java.

      --

      "I think this line is mostly filler"
    2. Re:like Jython... by Pfhreakaz0id · · Score: 1

      that's interesting. I didn't realize that. I'm new to python/jython. So, is jython slower than "normal" python?

    3. Re:like Jython... by aled · · Score: 1

      Haven't used it directly but is likely. How much impact depends on what you are doing. I assume that for the purpose of scripting Java apps it shouldn't be noticeable.

      --

      "I think this line is mostly filler"
    4. Re:like Jython... by lakiolen · · Score: 1

      So following tradition: JPython becomes Jython, then JRuby becomes Juby?

      --


      What are you expecting to find here?
    5. Re:like Jython... by Fnkmaster · · Score: 1

      See here for some rough (and somewhat outdated) assessments of CPython vs. Jython performance. It is somewhat slower, but depends on the nature of the task. And is it slower than the equivalent compiled Java bytecode? Again, probably yes, but for some tasks it doesn't matter. And the nice thing is you can write a whole app in Jython and easily rewrite performance critical components in Java and just call them from Jython, which is much easier given that everything happens in the bytecode realm than writing and exporting C/C++ modules to Python.

  9. Or, if you're writing a small utility... by tcopeland · · Score: 2, Informative

    ...just skip Java and go with Ruby.

    I needed a small app to analyze SQL query usage, and Ruby worked great. As long as you're conscientious about writing unit tests, you won't miss Java's static typing at all.

  10. Don't forget the Rhino by JPyObjC+Dude · · Score: 1

    I know that JavaScript does not have the same capabilities for server based OO apps as Ruby or Python (yet), but it is still a very competent language nonetheless for small to medium sized apps.

    JavaScript's similarity to Java can also be helpful for readability.

    The Moz guy's are still hacking the core of Rhino and are releasing new version regularly.

    1. Re:Don't forget the Rhino by Anonymous Coward · · Score: 0

      What is the advantage of JavaScript in this type of applications compared to Jython?

      It seems that every language is trying to provide script capability to work with Java Objects, even Java itself provides BeanShell.

    2. Re:Don't forget the Rhino by JPyObjC+Dude · · Score: 1

      To be honest, I can't think of any other reason besides similarity.

      I've programmed alot with JavaScript and love it but programmed enough with Python to recognize its power.

      Scripting layers should only be considered a prototyping layer to try out new methods and techniquies. Ultimately the stablized scriping code should be ported to Java in this case or let's say a C'ish language for it's final production ready destination.

      If you are doing alot of deep OO programming, Python is best but if you are using OO just for procedural and namespace encapsulation JavaScript is just fine.

      I admit I'm completely ignorant when it comes to Ruby. I will probably continue in such a vain as Python is a pretty good place to be.

      Hey, how about a TCL - Java bridge???

  11. TCL-Java by bonniot · · Score: 1
    Hey, how about a TCL - Java bridge???

    http://tcljava.sourceforge.net/docs/website/index. html

    1. Re:TCL-Java by Fnkmaster · · Score: 1

      I just got a lump in my throat (of fear) when I saw that. My lord, why would anybody ever do such a thing? I hate TCL with an unbridled passion after trying to work with another person on developing an AOLserver/TCL app many years back. upvar this, upvar that. I have never seen a language that seems to more strongly desire making code unreadable, even for small team development efforts. Well except maybe Perl, but at least we all know Perl sucks.

  12. Hrmph. by Estanislao+Mart�nez · · Score: 4, Informative
    Last I looked (which can't have been over a month ago), JRuby was far from being ready for prime time. I'm a Ruby guy myself, yet I really wouldn't touch JRuby just yet, unless my purpose was to develop it myself.

    Groovy is, IMO, a near-clone of Ruby designed from the ground up to integrate with Java, and would probably be a better choice than JRuby. I think the Groovy documentation isn't quite there yet, tugh.

  13. Momentum, I'd say by Estanislao+Mart�nez · · Score: 1
    I haven't tried either JRuby or Groovy, to tell you the truth (but I have a good amount of experience with plain Ruby), but my impression is that Groovy is a language that's modeled primarily on Ruby, but designed from the ground up to live in a Java environment. I think this is a pretty good idea, but I'm in no position to judge if it's been implemented properly.

    Groovy seems to have more momentum than JRuby, and to have had more work getting it properly debugged and so on. Again, I have not tried either, but I would be surprised if JRuby, in its current state of development, could beat Groovy.

  14. Wasn't that the guy who shot Oswald? by samberdoo · · Score: 1

    Oh you mean the "language".

  15. jruby is stalled.. by cmclaren · · Score: 1

    i think the 'jruby' project has been inactive for about 6 months. (and is a little behind versions: 1.6~ vs. 1.8.2)

    1. Re:jruby is stalled.. by Anonymous Coward · · Score: 0

      don't worry, the cvs is active. They just made an 1.8 release and then worked on cvs without releasing

  16. vs Scheme (silk/jscheme) by Anonymous Coward · · Score: 1, Interesting

    (define frame (javax.swing.JFrame. "Slashdot Rul3z"))
    (.setSize frame 400 400)
    (.setVisible frame #t)