[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:11256] Re: C scripting using Ruby (instead of Perl)?

From: "Ben Tilly" <ben_tilly@...>
Date: 2001-02-21 20:25:37 UTC
List: ruby-talk #11256
ptkwt@shell1.aracnet.com (Phil Tomson) wrote:
>
>In article <LAW2-F60TrBoe2U8QVj000015b2@hotmail.com>,
>Ben Tilly <ben_tilly@hotmail.com> wrote:
> >ts <decoux@moulon.inra.fr> wrote:
[...]
>I'm doing a Language comparison matrix for an upcoming presentation and
>intitially I was going to give Ruby a '4' (highest rating) and Perl a '2'
>(1 is the lowest rating), but in light of Perl's Inline module, I'd have
>to give Perl a 4 and Ruby a 3 - Inline actually seems to make extending
>Perl with C a bit easier than extending Ruby with C.  Now, I haven't used
>Inline in Perl (I read the article in The Perl Journal) and I have
>extended Ruby with C - so it' possible that Inline isn't that easy when
>you get down to actually using it.

It really is as easy as it looks.  At least for small
things.  (I admit to not having extensively abused it
yet.)  The only gotcha that comes to mind is that your
C types need to have a typemap to Perl.  And those may
take some knowledge to make.  (You start with typemaps
to most things that you really need though.)

Ruby would, of course, also need to have appropriate
typemaps.  But those may well be easier to write from
scratch for Ruby than they are for Perl.

Of course the *right* solution is to see if Swig can be
convinced to automatically spit out the necessary
mapping... :-)

>      Of course, we're talking mechanics
>here - the other issue would be Perl's C API vs Ruby's C API.  I find
>Ruby's to be very straightforward and easy to use, but I have to admit I
>haven't done much with Perl in this department.
>
I have not played extensively with this, but my bet would
be that pre-Inline this was a hands-down win for Ruby.

But with Inline, well take a look at
http://www.perl.com/pub/2001/02/inline.html and
scroll down to the section on "CPR".  No joke, that
turns Perl into a C interpreter where you can inline
and run Perl code at will.  Startup is, obviously,
much slower than an equivalent C program.  It is not,
however, too much worse than a Perl program...
> >
> >Now is it worth the extra work of getting Inline set
> >up just to make it easier to get C working with Ruby?
> >Almost certainly not.  But is it worth that work for
> >the potential of then being able to link in other
> >languages?  (Which is where Inline.pm is going in
> >Perl.)
>
>I actually think that at the moment, it would be more valuable to have an
>Inline for Ruby that allows you to inline Perl code.

The fastest way to that goal is probably to write a
Ruby binding for Inline.pm and then turn that around
(as has been done for both C and Python) to make it
look like you are writing in Ruby with an embedded
Perl interpreter available.  The reality, of course,
would be just the opposite, but sometimes appearances
matter...

As you hint, this solves the problem where Ruby is
unacceptable only because there is something that CPAN
has a module for that you don't want to reinvent in
Ruby.  Well you can easily wrap the Perl interface into
a Ruby interface, and then write in Ruby.  If you later
rewrite that piece you can then just replace the one
section and switch to using real Ruby rather than that
fake wrapper that gave you access to Perl stuff...

Of course if the functionality of Inline is of interest,
the best long-term solution is to have a straight Ruby
version.  Trust me, Ruby does not want to be passing
stuff too and from Perl when wrapping code from C, C++,
Python etc.  I think that very often a native Ruby
interface will be significantly more straightforward and
efficient than Perl's interface to either language...

Cheers,
Ben
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com

In This Thread

Prev Next