[#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:15794] Re: Challenges of java interpreter

From: Stefan Matthias Aust <sma@3plus4.de>
Date: 2001-05-27 09:10:05 UTC
List: ruby-talk #15794
Robert Feldt <feldt@ce.chalmers.se> wrote:

>The RubyVM project emanating from [ruby-talk:10238] is very related to
>this discussion and you might want to check out some of the stuff on the
>URL www.ce.chalmers.se/~feldt/ruby/ideas/rubyvm.

Interesting...

>One thing that will be difficult if you want to go all the way is how to
>handle the C API.

Yes.  Currently, it exhibits a lot of the internals of the Ruby
interpreter.  IMHO this problem has a low priority.  I'm thinking
about a Java based Ruby and this wouldn't have a C API anyway.

>Or are there good arguments why Ruby would not be good for low- or 
>system-level programming? (After doing some research I don't think Squeak 
>is a good example anymore since its core is more "C-with-a-Smalltalk-syntax"

This would have been my argument:  If you look at Squeak's VM code, it
only barely resembles normal Smalltalk code.  Slang, as it is called
BTW, is really, as you say, C with Smalltalk syntax.  But it helps you
to get the job done and frankly, it wouldn't be difficult to make it
look more like Smalltalk, making it a little bit more powerful.  It's
just, nobody wants to work on that.  The initial translator was hacked
together in a few days and is now stable for a couple of years.

The most important reason (which is haven't mentioned in your paper)
for Slang is not that it looks like Smalltalk but that you can use the
Smalltalk development environment and test the VM inside that
environment.  You can simulate a VM in Smalltalk, single step through
any function, even run a simulated VM in a simulated VM (if you're
really patient :-).  Once you felt the power of a interactive, dynamic
IDE you know what this means.  This feature - Dan Ingalls, the
inventor of that VM, once said - made it possible to create the
original Squeak system in less than 3 months.

>Scheme-48 is a real good example).

Does Scheme-48 also use a VM?  Or is the PreScheme, you mention in
your paper, just used to create a Scheme 2 EXE compiler?  In the
latter case, a better approach would be to use a full featured Scheme
system and bootstrap itself.

>* Making Ruby internals more visible to more people.

I'm not sure whether this is really an advantage.  It's great if you
have access to a correct specification (as the code of course is) but
now the danger is that you relay on implementation features that could
change.  It's difficult to separate implementation details from
concepts that way.

>* Experimental testbed. 

This is really nice.  For Squeak, for example I once hacked the VM to
support multiple inheritance or true delegation - it never took more
than a few hours and was really fun :-)

>* Fun. Its cool and begs to be done.

:-)

>and the main drawback would be performance. (I almost dare not say this
>but in the longest run I'm not sure this will really be so. As researchers
>come up with new ways of compiling/interpreting/packing/executing programs
>(or hardware affecting any of these processes)

A higher abstraction of the code often helps to implement better/more
sophisticated algorithms.  A modern GC like a generation scavenger
which would replace the current simple GC would probably give a speed
up which is more difficult to achieve in the current C implementation,
because it would be much more difficult to implement such a GC in C.

>[...] then why shouldn't it be good for coding compilers/interpreters 
>in general and Ruby ditto in particular?". 

Well, I think it would definitely be worth a try.  I still think the
probably best language to write compilers in is LISP/Scheme (perhaps
Dylan, I unfortunately never used that language) because one can make
use of most of either features for the own runtime system, but Lisp
and Smalltalk are somewhat exotic and people would probably prefer to
code in Ruby or C.  And Ruby has fortunately most of the features of
Smalltalk (and some of Lisp) to be good enough :-)


bye
-- 
Stefan Matthias Aust \/ Truth Until Paradox

In This Thread