[#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:15150] Discussion on new Ruby features

From: Christian Szegedy <szegedy@...>
Date: 2001-05-15 09:33:35 UTC
List: ruby-talk #15150
I know it is not very polite to start a discussion about
new Ruby features after 3 days learning of Ruby.

I can't refrain, since Ruby is so impressive and it really
should be the best of the best: a universal approach to
even (moderately) runtime critical tasks.

Let me start:

I think that a good way of programming is to start with
a prototype in a language that is fast to program (such as Ruby),
and, then replace the run-timing critical parts with some 
more optimized code. Normally it means that you have to reprogram
some parts of the code in C,C++,Assembler,...

But, what makes it inherently complicated to write some
Ruby to C compiler which speeds up the code significantly?

The lack of the instance typing mechanism of Ruby.

Whithout this, no compiler would produce essentially faster code
than a good interpreter.

Of course, you say, this is one of main features of ruby,
and one of the reasons of its flexibility.

This is obviously true. On the other hand I insist that some
C/Java-like typing mechnism would be nice in Ruby.

The best way IMVHO is to do it optionally:
You could allow to restrict an object to a specified type,
if you want, but you are not required to do so.

This would have more advantages:
1) Better optimization for compilation to C/C++
2) Better debugging in some situations.
3) The possibility of optimize some part of the code
   without rewriting it in some other language.

E.g. if you recognize that some part of the code is slow,
and uses a lot of Fixnums or Floats then you could
restrict the variables to that type and the ->C compiler
speed it up extremely.

On the other hand, if you think that your code is unsafe,
since some variable x should always be of class X, then,
given some simple syntax, it would be easier (shorter code,
and probably more effective, since it could be built in into
the interpreter) than redifining the writer function of x,
and programm the check in Ruby.

I think that three type of restrictions could be interesting:

1) Very Strict: variable x is exactly of class X
   (no inheritance allowed)
2) Strict: variable x of some class derived from class X
3) Dynamic (like the signature mechanism in gcc): 
   variable x allows all functions of a module.
	(this would allow the compiler to create some signature
	table and pass it instead of the variable.)

For the case something similar would ever be implemented,
I would stress that it should have some appealing syntax
(like all other Ruby features) make one remember to the
C/Java/Pascal like typing.

I think that a Pascal like syntex would fit quite well,
since it does not seem creating ambiguity, but I am not
quite sure.

I eagerly await your flaming :)

Christian






In This Thread

Prev Next