[#13775] Problems with racc rule definitions — Michael Neumann <neumann@...>

15 messages 2001/04/17
[#13795] Re: Problems with racc rule definitions — Minero Aoki <aamine@...> 2001/04/18

Hi,

[#13940] From Guido, with love... — Dave Thomas <Dave@...>

52 messages 2001/04/20

[#13953] regexp — James Ponder <james@...>

Hi, I'm new to ruby and am coming from a perl background - therefore I

19 messages 2001/04/21

[#14033] Distributed Ruby and heterogeneous networks — harryo@... (Harry Ohlsen)

I wrote my first small distributed application yesterday and it worked

15 messages 2001/04/22

[#14040] RCR: getClassFromString method — ptkwt@...1.aracnet.com (Phil Tomson)

It would be nice to have a function that returns a class type given a

20 messages 2001/04/22

[#14130] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>

Guy N. Hurst wrote:

21 messages 2001/04/24
[#14148] Re: Ruby mascot proposal — Stephen White <spwhite@...> 2001/04/24

On Tue, 24 Apr 2001, Conrad Schneiker wrote:

[#14188] Re: Ruby mascot proposal — matz@... (Yukihiro Matsumoto) 2001/04/25

Hi,

[#14193] Re: Ruby mascot proposal — "W. Kent Starr" <elderburn@...> 2001/04/25

On Tuesday 24 April 2001 23:02, Yukihiro Matsumoto wrote:

[#14138] Re: python on the smalltalk VM — Conrad Schneiker <schneik@...>

FYI: Thought this might be of interest to the JRuby and Ruby/GUI folks.

27 messages 2001/04/24
[#14153] Re: python on the smalltalk VM — Andrew Kuchling <akuchlin@...> 2001/04/24

Conrad Schneiker <schneik@austin.ibm.com> writes:

[#14154] array#flatten! question — Jim Freeze <jim@...> 2001/04/24

Hello.

[#14159] Can I insert into an array — Jim Freeze <jim@...> 2001/04/24

Ok, this may be a dumb question, but, is it possible to insert into an

[#14162] Re: Can I insert into an array — Dave Thomas <Dave@...> 2001/04/24

Jim Freeze <jim@freeze.org> writes:

[#14289] RCR: Array#insert — Shugo Maeda <shugo@...> 2001/04/27

At Wed, 25 Apr 2001 01:28:36 +0900,

[#14221] An or in an if. — Tim Pettman <tjp@...>

Hi there,

18 messages 2001/04/25

[#14267] Re: Ruby mascot proposal — "Conrad Schneiker" <schneik@...>

Danny van Bruggen,

16 messages 2001/04/26

[#14452] How to do it the Ruby-way 3 — Stefan Matthias Aust <sma@3plus4.de>

First a question: Why is

21 messages 2001/04/30

[ruby-talk:13937] Re: number to string to number

From: "Benjamin J. Tilly" <ben_tilly@...>
Date: 2001-04-20 17:51:13 UTC
List: ruby-talk #13937
Robert Najlis <rnajlis@cs.indiana.edu> wrote:
>Thank you all for your help

(and this is about having to use .to_i...)
>I really like Ruby in many ways but.... this is really ugly!  I can't see
>why in the world I would want to program this way. Can someone explain why
>this is good.  I like the idea of dynamic rather than static typing, but I
>would deal with static typing rather than this.  Does Smalltalk operate in
>this manner?   I have not yet had time to program a project in Smalltlalk,
>though it is something I plan to do soon.  I don't think it has these
>problems, but if it does... well, Java is not THAT bad...
>
Well you have 3 basic choices.

1. Have a statically typed language, and have it figure out
   from the types when to cast one type to the other.
2. Have a dynamically typed language, and type the operations
   so that it can figure out how to cast things based on the
   operations.
3. Have a dynamically typed language, and type the variables,
   then have to state the casts in code.

The first is apparently what you are used to.  The cost is in
the type system that really does not do as much as people think,
and imposes a constant overhead on the kinds of things that you
can do.

The second is done by Perl.  While convenient, it quickly leads
to a lot of syntax and a limited type system.  And on the
boundaries of what the type system allows there is a sudden
jump in complexity.  The classic case I point to of the jump in
complexity is trying to sort an array of arrays.  The classic
case of not having a fine type system is the fact that you have
numbers and strings, but you don't choose floats vs integers.
Therefore big integer operations fall apart because of the limits
of floats.

The third is done in Ruby, Python, Smalltalk...  The cost is
(as you just discovered) that you have to cast things yourself.
The benefit is that you can get both dynamic typing and a much
richer type system without a complex syntax.

So yes, this is a tradeoff.  And a bit of a shock.  But if you
try it, I think you will like the result...

Cheers,
Ben

In This Thread

Prev Next