[#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:14911] Re: Polymorphic methods

From: "Benjamin J. Tilly" <ben_tilly@...>
Date: 2001-05-09 12:46:29 UTC
List: ruby-talk #14911
Dave Thomas <Dave@PragmaticProgrammer.com> wrote:
>"Benjamin J. Tilly" <ben_tilly@operamail.com> writes:
>
>> In the paragraph before the snippet you show, I said explicit
>> or implicit.  Hiding the test in a method lookup is what I meant
>> by implicit.  But the lookup is still there.  It needs to be
>> performed by the interpreter, understood by the programmer.
>>
>> It does not come totally free.
>
>Absolutely. There is always going to be some kind of dispatch
>overhead with runtime polymorphism. I'm also nervous with the idea of
>spreading the knowledge of my class into a whole lot of other classes,
>which the double dispatch requires. Your example of Matju's stuff not
>working as a dropin is a good one. I'm worried too about the
>engineering aspects of everyone and their dog dropping methods into
>base classes.

In this case I think that it is worse to roll your own case
statement for different types and miss a new class created by
inheritance.  Eventually I would like to see Matju's mixin
part of the core and it documented that anything added to
base classes should be added there.  In fact the possibility
of doing that at some point, and being able to have one place
to catch any alternate implementation of a basic data-type is
a good reason for having it!

But overall, well there is no question that having the option
open makes the language more customizable.  This is something
I have been thinking about recently, thoughts largely started
by reading http://www.paulgraham.com/avg.html, then with a
healthy dose of http://www.dreamsongs.com/WorseIsBetter.html.
I am now flirting with some unorthodox opinions.  For a start
I think that (all else being equal) a more customizable
language is more powerful.  However a customizable language
will become a *customized* language, and this leads to
problems transferring knowledge from company to company or in
creating reusable libraries.

Thus customizability is better in the small, but carries the
seeds of worse in the large.  I suspect it is not an accident
that Perl is a fairly powerful but not very customizable
language, and it is the one where CPAN developed.  But that
said the question arises of how you trade off a good
repository against a better language.  My initial thoughts
are that generally available repositories of reusable code
matter less depending on how specialized your work is, how
much code you intend to build on top of the component, and how
good you are as a programmer.

Here is why:

o If you are doing specialized work, you are less likely to
  find what you are looking for in a repository.

o As you amortize the costs of developing the initial
  component over more software, the initial savings will
  matter less than overall productivity.

o All repositories are of mixed quality.  Hopefully code
  that makes it to a repository is of better than average
  quality.  Thus most programmers will find that software
  from the repository is better than what they would be
  able to write given the chance.  But if you are a good
  enough programmer, this reverses.  You probaby could
  write better software.  The question is whether it is
  worth doing so.

Anyways I know this is likely to be controversial, but it
is a topic on my mind right now that is relevant to the
question at hand (is it a good thing to modify the base
classes of the language).  Plus I wouldn't mind feedback
on some of the tangents my thoughts have taken.

>So I'm not sure which method I'd personally recommend: I guess I'm
>still experimenting.

The fact that you are is why you had so much interesting
stuff to say in your books.  I know people who have programmed
for decades who have little to say of interest.  But if you
spend it learning, well you may only have provisional opinions
but they are likely to be _useful_ ones!

Cheers,
Ben

In This Thread

Prev Next