[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)

A while ago I posted a request for people to share their experiences

12 messages 2001/05/01

[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>

10 messages 2001/05/02

[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>

13 messages 2001/05/02

[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>

# On Thu, 3 May 2001, Wayne Scott wrote:

9 messages 2001/05/03

[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>

I'm still trying to figure out the semantics of private methods in Ruby.

39 messages 2001/05/04
[#14656] Re: Yet another "About private methods" question — Dave Thomas <Dave@...> 2001/05/04

Eric Jacoboni <jaco@teaser.fr> writes:

[#14666] Ruby and Web Applications — "Chris Montgomery" <monty@...> 2001/05/04

Greetings from a newbie,

[#14772] Re: Ruby and Web Applications — Jim Freeze <jim@...> 2001/05/07

On Sat, 5 May 2001, Chris Montgomery wrote:

[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>

Sure, Ruby, being interpreted, is slower than a compiled language.

12 messages 2001/05/05

[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>

It is possible to modify the following code to produce

18 messages 2001/05/09

[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>

>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:

15 messages 2001/05/12

[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>

Would it be a good idea to develop a pure Ruby GUI framework built on top of

13 messages 2001/05/15

[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>

Hello all,

16 messages 2001/05/16

[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>

I don't currently use Ruby. To tell the truth, I have no real reason to. I'd

12 messages 2001/05/22

[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>

Ruby is more human(e) than Python. We already have too many animals :-).

15 messages 2001/05/23

[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)

Since Ruby does not require a variable to be declared, do people find

13 messages 2001/05/23

[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>

I have been thinking about the java based ruby interpreter project, and I

48 messages 2001/05/25

[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)

Greetings to all. I am a newcomer to Ruby and I am exploring the

13 messages 2001/05/27
[#15807] Re: is it possible to dynamically coerce objects types in Ruby? — matz@... (Yukihiro Matsumoto) 2001/05/27

Hi,

[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>

There's one thing where I prefer Python over Ruby. Testing whether an

13 messages 2001/05/28

[#15925] Re: Block arguments vs method arguments — ts <decoux@...>

>>>>> "M" == Mike <mike@lepton.fr> writes:

43 messages 2001/05/29
[#16070] Re: Block arguments vs method arguments — "Hal E. Fulton" <hal9000@...> 2001/05/31

----- Original Message -----

[#16081] Re: Block arguments vs method arguments — Sean Russell <ser@...> 2001/05/31

On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:

[#16088] Re: Block arguments vs method arguments — Dan Moniz <dnm@...> 2001/05/31

At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:

[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>

Hello everyone!

12 messages 2001/05/29

[ruby-talk:15301] Re: Ruby in Java

From: Glen Starchman <glen@...>
Date: 2001-05-16 17:08:01 UTC
List: ruby-talk #15301
> I'm not familiar with Jython, but providing a BSF compatible interpreter 
> would have certain benefits; primarily, that many existing applications could 
> automatically plug the Ruby interpreter into themselves.

Jython allows you to write code that looks exactly like Python. For
example:

class test:
    def __init__(self):
        print "initializing!"

    def test_func(self, x):
        print x

which would (roughly) translate to the following Java:

import java.lang.*;
import PyCore.*;
/* import a bunch of Jython support classes here... */
public class test
{
    test()
    {
         PyString s1 = new PyString("initializing!");
        System.out.println(s1);
    }

    public void test_func(PyObject x)
    {
        System.out.println(x);
    }
}

where PyString and PyObject have a toString() method that allows them
to work with println. 

You can see that in a large project you end up with lots of code like
PyString py=new PyString(...) and the like. Pretty ugly stuff...

      

> 
> > 1) a Ruby interpreter, and all supporting libraries, ported to Java
> > 2) A Ruby-Java "translator" that makes use of the above libraries and
> > interfaces seamlessly with Java.
> 
> Is (2) a Ruby-to-Java translator?  And, by (1), I'm assuming you mean that 
> you could do all of the following:

> 
> 1)	String result = ruby.Ruby.eval( " %w{a b c d e f}.find{|n| n == 'c'} " );
> 	// => "c"

Sure. You should have access to the Ruby eval-print loop.

> 2)	$ java -cp ruby.jar irb.rb
> 	irb(main):001:0> p "Hello World"
> 	"Hello World"
> 	nil

In jython the paradigm is:
$jython
Jython 2.1a1 on java1.3.0_02 (JIT: null) ...

One thing that Jython does do very well is package up all of the
necessary code into a nice little jar files... with the -c and -d
options, it also takes care of bundling up all of the necessary Jython
support files. So, after compiliation and bundling, you get a true Java
jar that is not dependent on the end user having Jython (or
Python) installed:

$java -jar JythonApp.jar


> 	irb(main):002:0>
> 3)	String result = (new ruby.Regex("/(.)(.)(.)/")).match("abc")[2];
> 	System.out.println( result ); // => "b"


I think the code would end up looking something like:

import ruby;
...

ruby.Regex regex = new ruby.Regex(/(.)(.)(.)/"));
List results = (List)regex.match("abc");
String result = results.elementAt(2);

(or somethink like that!) from "pure" Ruby code. 


> I'm sure the last would be useful, although you'd lose most of the Ruby good 
> stuff.

You don't necessarily have to, I don't think... although things like
code blocks would be a very trying thing to implement in Java... ;-)

In This Thread