loan calculators loan payment loan repayment auto loan loan debt loan interest collateral loan business loan student loan cash loan refinance loan education loan equity loan loan interest rate car loan loan get loan loan me loan article loan product bonded loan loan facility loan facilities back loan based loan blog loan loan will loan quality day loan loan modification purpose loan problem loan loan interests easy loan retail loan loan offer loan documentation plus loan loan process loan mod net loan loan extension loan firm loan book legacy loan short loan loan in usa kevins loan take a loan loan without loan er repayment of loan school loan discount loan to get loan down loan whole loan free loan loan affiliate repay the loan development loan loan company study loan loan lender loan ireland loan rates long term loan interest on loans fast payday loans cash loans cash loan online online cash loans cash finance loan guarantee financial loan cash payday loans cash payday loan quick loan fast loan fast cash no cash payday online loan instant cash payday loans online payday loan cash advances quick cash cash credit cash funds cash cheque cash check money loan money cash cash accounting payday loans payday advances project payday payday online payday internet payday easy payday free payday pay day paydayloans no teletrack payday loan payday faxless payday teletrack payday loans payday payday cash fax payday quick payday same day payday instant payday savings account payday check payday fast payday credit check payday no credit check payday loans till payday no fax payday no telecheck payday bad credit payday my internet payday no fax same day payday loans no fax payday loan no telecheck payday loans no fax payday loans no employment verification payday loans no teletrack payday loans canada payday loan payday loan uk faxless payday loans quick payday loans teletrack payday loans same day payday loans payday loan no faxless payday loan online payday loan online payday loans payday loans direct payday loans no instant payday loans free payday loans fast payday loan a payday loan payday loan in fax payday loan fax payday loans savings account payday loans telecheck payday loans of payday loans payday loans in payday loans are day payday loans easy payday loan payday loan company project payday scam account payday loans cheap payday bad credit payday loans payday loans for paydayuk login pay day loan pay day loans paydayuk canada payday credit payday payday loans with credit payday loans faxing milton bradley same day check cashing credit check paycheck bad credit sba loans small business lending small business grants short term loan unsecured loan mortgage loan unsecured loans credit loan small business loan fast unsecured loan unsecured consolidation loan online loans bad loan loans for people with bad credit no credit loans low interest loans loan for bad credit low interest loan bad credit instant loan poor credit loan loans with bad credit bad credit consolidation loans no credit check loan loans high risk quick unsecured loans bad credit loans unsecured small business loan loan for people with bad credit short term loans loan capital low rate loans commercial loan business loans investment loan get a loan fast easy loans easy fast loan emergency loan loans fast bankruptcy loans instant cash loans small loan credit card debt consolidation loans cheap loans fast cash loan collateral loans shareholder loan international loan loans for collateral sblc financing international loans collateral enhancement collateral define auto collateral loans margin loan bad credit loans no collateral loan agreements loan agreement sample loan agreement uk loan agreement with loan facility agreement assignment agreement amendment agreement legal agreement contractor agreement consulting agreement waiver agreement consultant agreement agreement form fee agreement employee agreement agreement forms debt agreement mortgage agreement pledge agreement independent contractor agreement bank loan partnership agreement lease agreement Äîăîâîđ çŕéěŕ purchase agreement commercial agreement loan payments loan lenders loan agreement international student loan international student loans loan for international loan credit international lending commercial hard capital loan for international students loans for international student loans for international schools foreign loan the loan consultants scam loan funds loan fund loan collateral loan program small business loans short term business loans finance business loan money money business women business startup business partnership business quick loans fast loans cash fast quick loan online quick cash loans loan before payday 500 payday loan cash loans no credit check business lending sba loan commercial lending small business finance financing small business business financing asset based lending business funding investment lending commercial mortgage loans land loans construction loans construction loan home construction loans construction financing money loans private loans loan interest rates calculate loan loan calc loan amortization interest calculator mortgage interest rate bank interest rate college loan current rate a bank loan loan from a bank bank loans in loan financing how to get sba loans bank overdraft mortgage bank savings bank saving bank commercial bank bank investment home loan bank credit card bank sba loan payment calculator eagle national bank sbi bank bank islam bank australia sbi home loan federal home loan bank revolving loan investment properties investment income investment interest bad credit loan financial investment loans direct lenders private lenders high risk home loans home equity loan money lenders how to get loan modification debt consolidation loan how to get a loan modification loan consolidation loan broker auto loans online bad credit car loans used auto loans loan car auto loan used auto loan online mortgage lenders college loan consolidation students loan educational loan subsidized loan consolidation loan college education college graduate loan modification experts finance loan finance loans financial interest financial calculations home loan modification help financial debt loan modification rates financial capital financial risk management medical emergency emergency evacuation mortgage loan refinance refi mortgage loan refinance home loan student loan interest rates refinance home mortgage fha refinance fha refi njclass commercial loans bank loans business loans bad credit credit interest rate mortgage credit apply credit debt consolidation loans savings account payday loan avings account payday loan payday loans no checking account no checking account payday loan savings account loans payday loans on line internet payday loans low cost payday loans long term payday loans small payday loans easy payday loans short term payday loans payday loans 1 hour 30 day payday loans payday loans no faxing payday loans today payday loans without no payday loans overnight payday loans america payday loans payday loans lender payday loans no fax best payday loans quick cash payday loans no credit check payday loans payday loans companies instant approval payday loans sba loan applications sba loan requirement sba loan rate unsecured sba loan sba loan program how to get a sba loan sba commercial loan sba loan rates sba emergency loans sba direct loans sba franchise loans sba backed loans sba bridge loan sba 504 loan sba business loans sba small business loan sba micro loan sba lenders sba lender sba financing consolidation loans online checking fha loans online banks online bank online loan refinance loans students loans online finance urgent loans urgent loan needed loan business unsecured business loan short term business loan bad credit business loan small business loan bad credit credit business financing business loan finance mortgage financing auto loan finance used car finance used car loans car financing car payment car calculator finance calculator car auto used car sale used car for sale auto used used automobile sales car leasing finance for sale car leasing car auto bad credit financing car loan calculator bad credit car financing finance car bad credit auto financing bank business ark loans ark loan loan principal bank loan business short term debt college student loans perkins loan perkins loan cancellation federal perkins loan perkins loan application perkins loan forgiveness loan forbearance federal loan parent plus loan student loan debt forbearance loans interest interest on loan interest on the loan loan calculator mortgage interest loan rate interest rates on loans credit interest interest rate interest on credit interest formula interest rates car loan pre approval bad credit unsecured loan credit loan unsecured fast unsecured loans easy loans no credit loan principal interest libor rate fixed rate immediate loans loans for people with poor credit unsecured loans for bad credit bad credit unsecured loans loans for poor credit loans poor credit loan with bad credit loans for bad credit emergency loans loans car used car loan credit car loan auto car loan car loans online auto car loans car loans credit car loans financing bad credit auto loans auto loan bad credit no credit check car loan bad credit auto hyundai car car bad credit lease car bad credit new car loan tenants loans tenant loans payday loan consolidation no credit check loans guaranteed loans unsecured business loans unsecured small business loans urgent loan cheap unsecured loans cheap unsecured loan unsecured debt consolidation loan loan companies credit card consolidation loan bad credit debt consolidation need a loan consolidate loans cheap loan home loan refi student loan rates fha mortgage refinance automobile financing amortization table car loan amortization auto loan amortization auto loan interest calculator auto loan calculations auto loan calculation auto loan interest calculate auto loan auto loan calculater auto loan caculator auto loan payments car loan calculation car loan calculations auto loan payoff lease loan loan vs lease auto loan calc automotive loan auto loan values auto loan application debt amortization calculate lease payment auto loan quotes new auto loan car payment schedule amortization schedule amortization calculator car payment calculation car payment calculations monthly car payment calculator monthly car payment low interest auto loan car loan interest calculator van loan loan comparison car loan interest best auto loan calculate a car loan car loan calculater compare loan automobile loan vehicle loan car loan payments new car loan calculator car loan payoff car loan calc cars loans comparing loans low auto loan refinancing auto loan car loan payment calculator car payment calculator how to get a car loan used car financing car loan payment auto loan payment calculator lowest car loan car loan quotes get a car loan refinancing car loan bad credit car loan car loan online new car loan best car loan car loan financing new car loans car loan value car loan application car loan credit car loan finance auto loan payment used car auto loan used car loan value low car loan loan payment calculator loan calculators auto refinance car car credit new car auto loan auto bad credit loan auto loan rates auto loan financing instant car loan guaranteed auto loan bankruptcy auto loan vehicle loans bad credit car mortgage loan calculator automobile loans carloans best car financing refinance auto loan auto loans bankruptcy bankruptcy auto financing bankruptcy car loans bankruptcy car loan bankruptcy car financing bankruptcy auto auto loan during bankruptcy auto loans during bankruptcy auto loan guaranteed bad credit auto loan financing very bad credit auto loan bankruptcy auto finance auto loan bad credit car loan auto loan refinance used auto loan car loans for bankruptcy no money down bad credit auto loans bad credit auto loans online bad credit used auto loans auto loans and bad credit car loans with bankruptcy auto loans after bankruptcy auto financing for bad credit bad credit car loans no money down bad credit automobile loans new auto loans bad credit automobile loan bad credit used car loans auto finance bad credit online car loans bad credit auto financing auto financing with bad credit no credit auto financing car loans after bankruptcy auto financing after bankruptcy car loan after bankruptcy auto loans for bad credit bad credit used car loan bankruptcy car auto refinancing refinance car loan car loan no credit car financing after bankruptcy auto loans with bankruptcy guaranteed bad credit auto loan auto loan calculators lease payment car mortgage calculate car payment lease payments car lease calculation calculate a car payment car payment calculators car payment caculator new car payment calculator calculate car lease car lease calculators auto payments auto lease payment calculator car payment calc car lease payment calculator loan caculator auto payment caculator car loan caculator auto caculator car caculator mortgage loans how to cash a check fast business loans business loan interest rates business term loans secured business loans bank business loans commercial business loans interest rates on business loans business loans without collateral no collateral business loans business loan unsecured secured business loan business term loan business loan refinancing business loan interest rate business loan interest restaurant business loan first business loan get a business loan getting a business loan from a bank business credit loans business loan rates fast business loan small business loan unsecured unsecured business lines of credit unsecured line of credit bad credit business loans business lines of credit business loan startup hard money loans unsecured debt business loan lenders business equity loans business acquisition loan first time business loan business refinance loans business bank loan business mortgage loan business starter loan small business loan no credit new business loans easy business loans business property loan quick business loans small business bank loans information on small business loan business equity loan get a small business loan bank loans for small business get small business loan small business loan programs fast small business loan small business loan for woman applying for a small business loan online small business loan small business bank loan small business commercial loan small business loan rates small business loan program business property loans business and loans loans for business low interest small business loans unsecured business credit business lenders new business credit commercial business lending business refinancing business loan rates comparison how to get a small business loan business auto loans sba loan help sba 7 a loan new business financing financing for business small business borrowing financing a business small business lenders small business lender small business loans available sba small business loans new small business loan small business loan application small business loan fast small business loan rate apply small business loan sba business loan small business loan interest rate sba loans for sba arc loans bank small business loans new small business loans small business loans and sba arc loan best small business loans online business loan business loan application veteran small business loan large business loans small business equipment financing financing a small business business loan mortgage commercial business loan business loans and business financing loan business credit loan business bank loans sba microloans top sba lenders small business loan source largest sba lenders top sba lender sba lending commercial loan financing home small business guaranteed business loan business loan rate apply for a small business loan small business administration loans commercial loan lender sba loan application how to get a business loan small business association loan commercial loan rates federal small business loan federal government small business loan sba guaranteed loan government small business loan minority small business loan small business loans women small business loans for women minority small business loans biz loan sba loans for women setting up business business programs business program cimb niaga bank niaga first county bank federal small busine getting a small business loan equity loans refinance sba loan sba loan calculator new business loan getting a business loan loan sba loan for business small business loan financing small business loan credit sba bridge loans arc sba loans sba micro loans loan debts term debt physician loans mortgage debt pay debt credit card debt credit debt debt consolidation loan online government debt consolidation loan government debt consolidation loans best debt consolidation loan debt consolidate loan unsecured debt consolidation loans debt consolodation loan consolodation loans credit card consolodation credit card debt consolidation debt consolidation a free credit card debt consolidation debt consolidation load debt consolidation options credit card debt consolidation company government debt consolidation credit card debt consolidation program consolidating credit cards credit card debt consolidation help debt settlement usa credit card consolidation help online debt consolidation about debt consolidation debt consolidation company debt consolidation service free debt consolidation quote debts consolidating debt consolidation help credit card debt consolidation loan debt consolidation firm christian debt consolidation credit card consolidation loans debt consolidation solution secured debt consolidation debt cosolidation debt consilidation debt consoladation debtconsolidation loan consolidate my debt debt consolidation government debit consolidation unsecured debt consolidation debt consolidation loans unsecured business debt consolidation loan unsecured credit card debt consolidation cheap debt consolidation loan debt consolidation loan application debt consolidation loan company christian debt consolidation loan card consolidation credit debt loan best debt consolidation loans bad debt consolidation loan debt consolidation credit cards credit card debt consolidation service best debt consolidation companies best loans consolidation loans unsecured loan debt relief card debt consolidation free debt consolidation service loans for debt consolidation business debt consolidation christian debt consolidation program free debt consolidation debt consolodation debt consalidation credit card debt debt consolidation american debt consolidation debt consolidation quote debt consolidation programs best debt consolidation company debt payment consolidation of debt consolidate debts consumer debt debt consolidator federal debt consolidation debt consolidations credit card consolidation how to consolidate debt consolidate debt consolidating debt credit debt consolidation loan for debt consolidation debt relief consolidation bad credit debt consolidation loan debt consolidation companies free debt consolidation services debt consolidation services debtconsolidation debt consolidation counseling bill consolidation loans debt consolidation advice bad credit debt consolidation loans credit card debt relief debt relief solutions non profit debt consolidation debt consolidation organizations debt consolidation review find debt consolidation help debt consolidation reviews free debt consolidation help debt consolidation faq consolidating credit card debt debt consolidation program debt consolidators debt consolidation secured loan online debt consolidation loan debt credit credit debt consolidation loan credit debt consolidation loans credit consolidation loan consolidation credit cards consolidate credit card debt debts consolidation home equity debt consolidation loan consolidate credit cards debt consolidation unsecured debt consolidation business debt consolidation online best debt consolidation debt consolidation or debt consolidation information debt consolidation tips solution debt consolidation debt consolidation elimination debt consolidation relief debt consolidation firms debt consolidation plans accelerated debt consolidation free debt consolidation program christian credit card debt consolidation business credit card debt consolidation debt consolidation card debt consolidation info small business debt consolidation debt consolidation organization bill consolidation loan consolidate credit card debt consolidation home equity loan credit card debt consolidation services credit counseling and debt consolidation consolidate credit debt bad credit card debt nonprofit debt consolidation consumer debt consolidation credit card counseling debt consolidation debt bill consolidation credit card consolidation services debt consolidation credit counseling

Testing Java with JRuby

Chris chided me in the Java only gets 10mpg comments for not giving Groovy or Rhino a go. Chris has a fondness for busting my chops equaled by few. However, he does it because he cares, so I thought a bit about using non-Java languages on the JVM.

I still think that in general, I have little use for the Java platform. If I want to write code in something like Ruby or Python, I’ll just use Ruby or Python or whatever as they’re originally distributed. Bolting them on to the JVM really doesn’t do anything for me. That said, if I can use them to get out of ugly, tedious work, maybe they’re worth my time.

As it happens, I recently inherited about a quarter million lines of Java code. There are chunks of it that are somewhat lacking in terms of unit tests, and I’m one of those mutants who really doesn’t like to fix code without exerciseing the problem with a test first. With this project, I’ve been having to write hundreds and hundreds of lines of test code to make very simple changes. It’s safe, but it’s not exactly efficient or fun.

So I took Chris up on his suggestion and gave JRuby a look for writing tests. It works surprisingly well. There’s not that much setup work that you need to do to get the environment up and running, and once you do it’s rather nice to not have to slog through the ugly world that is Java the language to get your tests written.

Here’s a very brief sample. What I wanted to do is have a very traditional ant-based project with the standard init->compile->test->dist dependency chain, but sub JUnit out for JRuby and Ruby’s unit test framework. First, the silly little Java class that I used for testing:

src/java/org/obfsucated/example/Overbearing.java

package org.obfuscated.example;

public class Overbearing {
    /** Javaize a string.
     **
     ** Everybody knows that Java people can't stand data unless
     ** it's XML or some sort of proprietary binary format that
     ** you have to pay Sun $10,000/seat to use.  Our Overbearing
     ** class should be able to take any pedestrian string and
     ** turn it in to something that any Java programmer would
     ** love and cherish forever.
     **
     ** @param original an ugly, non-Enterprise-compliant string.
     ** @returns a String that you could put in some sort of bean.
     */
    public String javaize(String original) {
    if(null == original)
        return null;
    StringBuilder sb = new StringBuilder();
    sb.append("<java-is-rad>< ![CDATA[");
    sb.append(original);
    sb.append("]]></java-is-rad>");
    return sb.toString();
    }
}

And here are the relevant Ruby source files:

src/jruby/test_all.rb

require 'test_overbearing'

src/jruby/test_overbearing.rb

require 'test/unit'
require 'java'

Overbearing = org.obfuscated.example.Overbearing

class TestOverbearing < Test::Unit::TestCase
  def setup
    @overbearing = Overbearing.new
  end

  def teardown
    @overbearing = nil
  end

  def test_creation
    assert_not_nil @overbearing, "We should be able to create an Overbearing object"
  end

  def test_simple_string
    original = "Hello World"
    expected = "<java-is-rad><![CDATA[Hello World]]></java-is-rad>"
    resultant = @overbearing.javaize(original)
    assert_equal resultant, expected
  end

  def test_nil_string
    original = nil
    expected = nil
    resultant = @overbearing.javaize(original)
    assert_equal resultant, expected, "Nil strings should stay that way"
  end
end

It’s all pretty staraightforward stuff. I like to run unit test suites by requiring all of my tests in one file and just calling that with the interpreter. (Thus the “test_all.rb” file.) There are without doubt better ways to do this. You get the general idea, though.

One gotcha is that if you have a package with calital letters, you can’t alias it as above. So let’s say you have a class with a fully-qualified name of org.obfuscated.BadPackageName.Whatever. JRuby — or Ruby itself, if I had to guess based on the way identifiers are usually handled — will not be able to find it if you just say

Whatever = org.obfuscated.BadPackageName.Whatever

Instead, use the include_class function to make sure it’s loaded.

include_class('org.obfuscated.BadPackageName.Whatever')

Long story short, though: don’t use capital letters in package names.

The Ant setup isn’t too difficult, either. Assume the following properties are available:

jruby.dir
The directory where JRuby is installed
jruby.test.dir
The directory where you keep your test scripts (testall.rb and testoverbearing.rb in this case)
The relevant parts of the build.xml file look like this:

  <path id="jruby.classpath">
    <fileset dir="${jruby.dir}/lib">
      <include name="*.jar"/>
    </fileset>
  </path>

  <target name="test" depends="compile">
    <java classname="org.jruby.Main" fork="true" failonerror="true">
      <classpath refid="project.classpath"/>
      <classpath refid="jruby.classpath"/>

      <sysproperty key="jruby.base" value="${jruby.dir}"/>
      <sysproperty key="jruby.home" value="${jruby.dir}"/>
      <sysproperty key="jruby.script" value="jruby"/>
      <sysproperty key="jruby.shell" value="/bin/sh"/>

      <arg value="-I"/>
      <arg value="${jruby.test.dir}"/>
      <arg value="${jruby.test.dir}/test_all.rb"/>
    </java>
  </target>

Type “ant test” and away you go. Now you now longer have to slog through things with Java, and you’ve removed the compile phase from your test cycle. Bonus.

So thanks, Chris. That was a fine idea.

5 Responses to “Testing Java with JRuby”

  1. Christopher Smith Says:

    > Chris has a fondness for busting my chops equaled by few.

    It’s a calling.

    > I still think that in general, I have little use for the Java platform. If I want to write code in something like Ruby or Python, I’ll just use Ruby or Python or whatever as they’re originally distributed. Bolting them on to the JVM really doesn’t do anything for me.

    So, I think depends on context. The JVM is the closest thing we have to a universal object-oriented linker and runtime, and it has the advantage of doing dynamic binding to boot. You step away from that and you are in to evil C land with all that entails. On top of that it is a pretty fast runtime (yeah, it sucks for dynamically typed code, but that looks to be fixed in the foreseeable future). So, for right now, it is the best gateway to “other people’s code”, which admittedly, you might have little use for. ;-)

    > So I took Chris up on his suggestion and gave JRuby a look for writing tests. It works surprisingly well.

    I was under the impression JRuby actually works better than regular Ruby when it comes to Unicode, but I could be wrong.

    > …and you’ve removed the compile phase from your test cycle.

    No you haven’t. That’s even less valid than notions that Java compiles faster than C (which can be semi-true). All you’ve done is removed the compile phase out of Ant. Really all you’ve ensured is that the code gets compiled each and every time you run it, rather than just the times where you’ve changed the code. Now, I’m all for having the computer do the work and hiding it from the humans, but don’t kid yourself, there is compilation going on there.

    > So thanks, Chris. That was a fine idea.

    It’s all part of the service.

    In answer to the: Groovy suffers from the “if I want to use Ruby, I’ll use Ruby” problem.

    The reason you should look at Groovy and or Javascript is that they are both closer approximations to LISP than Ruby, so as per Greenspun’s Tenth Law, you are saving yourself a lot of work and frustration by using them instead of Ruby. Plus Ruby’s implementation is a bit rougher around the edges than Rhino (can’t speak for Groovy). What Greenspun doesn’t tell you is that if you actually were to use LISP, you’d be out of work with a Ph.D. in AI, so Groovy and Javascript are about as close as you can get without getting burned. ;-)

    Some folks think Groovy is going to become a big deal, but of course, all the ones I’ve talked to also think Mac’s are due for a comeback. Me, I think Javascript looks likely to become an even bigger deal going forward, what with Adobe open sourcing their Javascript JIT and Javascript 2.0 just around the corner.

    Of course, I say all this and I’ve barely looked at Groovy (just been told I should by my betters), my Javascript is pretty weak, and with my “new language” focus being on Haskell, which is kind of the polar opposite of all these dynamically typed languages.

    So, I’m a hypocrite. But you already knew that.

  2. cp Says:

    So, for right now, it is the best gateway to “other people’s code”, which admittedly, you might have little use for. ;-)

    I think this gets right to it. Other people’s data? Definitely. Other people’s code? Not so much. Seems easier to just get the data via services or even files or a database than it is to tie yourself down to a particular platform.

    No you haven’t. That’s even less valid than notions that Java compiles faster than C (which can be semi-true). All you’ve done is removed the compile phase out of Ant. Really all you’ve ensured is that the code gets compiled each and every time you run it, rather than just the times where you’ve changed the code.

    True, although pedantic. In practical terms, it means that I don’t have put up with an explicit compile phase when running my tests. Now, in a normal setting where compiles are kept simple and they don’t demand to check 10,000 other things and download files and etc etc etc, this wouldn’t be so big a deal. For my current situation, it saves time even with the (absurdly long) time it takes for Ruby to compile down to byte code each and every time.

    The reason you should look at Groovy and or Javascript is that they are both closer approximations to LISP than Ruby

    Hmm. From the presentation I saw last year, Groovy was pretty much Ruby with a few convenience functions for dealing with Java objects. (Lots of “do what I mean” stuff that seemed to work pretty well, for example.) What is it that makes Groovy more like Lisp than Ruby is?

    Plus Ruby’s implementation is a bit rougher around the edges than Rhino

    As I unfortunately found out, JRuby’s implementation is much rougher around the edges, almost to the point where (for testing, at least. It could still be useful for automation) it’s not usable. More about that in another post. (Or not. The problem I had at work — inability to subclass — doesn’t exist at home. Interesting.)

  3. Charles Oliver Nutter Says:

    Hello there! Stopping by for a few quick points…

    • Groovy is no closer to LISP than Ruby. And when you consider Ruby’s dynamic through-and-through, right down to its meta-model, I’d say Ruby’s arguably closer than Groovy (and certainly much closer to Smalltalk). But I won’t argue the JavaScript point…it’s very much a functional language.
    • JRuby 0.9.8 can subclass. Current trunk fixes many issues with that as well. We’re trying to tie up the loose ends on Java integration this coming month.
    • Interpretation can sometimes be faster than “compile always”, especially if you’re generating a lot of code. That said, JRuby will support ahead-of-time and just-in-time compilation to Java bytecode as well.

    Hopefully if you have any issues with JRuby you’ll report them on our bug tracker, via JRuby.org. Thanks for giving it a try :)

  4. cp Says:

    JRuby 0.9.8 can subclass.

    That was indeed it. I was using the 0.9.2 build at work and compiled from the subversion repository at home. Do the docs mention this? I did a cursory check on the wiki to try to find out if a current build could subclass but didn’t have much luck.

    Hopefully if you have any issues with JRuby you’ll report them on our bug tracker, via JRuby.org.

    Indeed. With this one, I wanted to make sure that it wasn’t a PEBKAC issue first.

  5. Tej Says:

    All of these remind me of NetREXX (http://www-306.ibm.com/software/awdtools/netrexx/). It was perhaps the first of these “not Java but compiles to JVM” languages back in the day. I liked it quite a bit (since I also like REXX quite a bit). Unfortunately the single researcher who worked on it lost interest and IBM let it die on the vine. It hasn’t been updated since Java 1.1 days.

Leave a Reply