[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>

15 messages 2001/03/01

[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>

I wrote on this newsgroup last weekend about how I was considering using

11 messages 2001/03/04

[#12023] French RUG ? — "Jerome" <jeromg@...>

Hi fellow rubyers,

16 messages 2001/03/05

[#12103] disassembling and reassembling a hash — raja@... (Raja S.)

Given a hash, h1, will the following always hold?

20 messages 2001/03/06

[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>

Ruby is, indeed, a very well designed language.

64 messages 2001/03/07
[#12250] Re: FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1> 2001/03/07

>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:

[#12284] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"

[#12289] Re: FEATURE REQUEST: 'my' local variables — matz@... (Yukihiro Matsumoto) 2001/03/08

Hi,

[#12452] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/12

In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"

[#12553] Re: FEATURE REQUEST: 'my' local variables — Dave Thomas <Dave@...> 2001/03/13

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#12329] Math package — Mathieu Bouchard <matju@...>

18 messages 2001/03/09

[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>

Hi,

19 messages 2001/03/09
[#12374] Re: Haskell goodies, RCR and challenge — matz@... (Yukihiro Matsumoto) 2001/03/10

Hi,

[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>

Ruby-san:

20 messages 2001/03/09

[#12444] class variables — Max Ischenko <max@...>

14 messages 2001/03/12

[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>

17 messages 2001/03/14

[#12635] email address regexp — "David Fung" <dfung@...>

i would like to locate probable email addresses in a bunch of text files,

12 messages 2001/03/14

[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>

I just read this story on Slashdot

14 messages 2001/03/14
[#12651] Re: police warns you -- Perl is dangerous!! — pete@... (Pete Kernan) 2001/03/14

On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:

[#12691] Re: police warns you -- Perl is dangerous!! — "W. Kent Starr" <elderburn@...> 2001/03/15

On Wednesday 14 March 2001 15:40, Pete Kernan wrote:

[#12709] [OFFTOPIC] Re: police warns you -- Perl is dangerous!! — Stephen White <spwhite@...> 2001/03/16

On Fri, 16 Mar 2001, W. Kent Starr wrote:

[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>

>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====

18 messages 2001/03/14

[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>

I have a project that I'm working on that needs to live two different lives,

30 messages 2001/03/16

[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>

14 messages 2001/03/19

[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>

This code comes from the online code examples for

16 messages 2001/03/20
[#12896] Re: differences between range and array — "Hee-Sob Park" <phasis@...> 2001/03/20

[#12899] Re: differences between range and array — Jim Freeze <jim@...> 2001/03/20

On Tue, 20 Mar 2001, Hee-Sob Park wrote:

[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>

Attached is a little Spike that Chet and I are doing. It is a

13 messages 2001/03/20

[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>

Well, here's my first major contribution to the Ruby world: Lapidary. It's a

16 messages 2001/03/20

[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>

15 messages 2001/03/21

[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>

Hi all,

21 messages 2001/03/25
[#13197] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

> Hi Dan,

[#13203] Re: Reading a file backwards — Mathieu Bouchard <matju@...> 2001/03/25

On Sun, 25 Mar 2001, Daniel Berger wrote:

[#13210] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

"Mathieu Bouchard" <matju@sympatico.ca> wrote in message

[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>

I'd like to do the following:

15 messages 2001/03/31

[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>

Is it possible in ruby to make use of constructs that correspond to

14 messages 2001/03/31

[ruby-talk:12606] Order, chaos, and change requests :)

From: Dave Thomas <Dave@...>
Date: 2001-03-14 05:01:00 UTC
List: ruby-talk #12606
I've been following the 'my' variable thread with a lot of interest
(and have even started a couple of sub-threads of my own).

First, I have to say that I'm proud to belong to this community. I
don't think I've ever come across a group of such smart folks who can
discuss such a broad range of ideas in such an open and positive
way. The discussions here are stimulating and rewarding.

However, I'm also aware of a trait in myself, and I suspect in others
here, to look for tidiness in things that aren't necessarily tidy. And 
I'm beginning to be concerned that some of the ideas we're pursuing
could actually damage the thing we're trying to improve.

Let me try to explain.

I start by thinking that Ruby is something special.  Every one who
uses it finds a certain resonance with their way of thinking but no
one can say exactly why. It just feels right. Why is this?

I've recently been reading a lot about complexity, chaos theory and
complex adaptive systems. A lot of this work applies to the everyday
work of organizations and people. It starts by looking at stability.

On one side, there are totally stable systems, ones where you can
disrupt things all day and nothing changes. It's hard to get anything
done in these: you work and work and nothing moves.

On the other side, there are totally chaotic systems.  You can pound
away at these too, but as they are chaotic, there's no correlation
between what you do and what they do.  Again, nothing effective really
gets done.

In between are what are termed chaordic systems: balancing between
CHAos and ORDer. A chaordic system swings between being stable and
unstable: every now and then the system undergoes seemingly impossible
changes in direction. A true chaordic system behaves as if it had
almost no inertia.  These systems are fragile--in fact they _have_ to
be fragile in order to work, but within them you can achieve great
things, because small inputs can have large effects. In a chaordic
system you don't dictate what gets done: instead you provide a fertile
environment in which new ways of doing things can _emerge_. Chaordic
systems are exceptionally effective at getting things done.

Somehow, Ruby sits in this space.  It certainly isn't tidy and stable:
it's full of non-orthogonalities, and there are few hard-and-fast
rules.  But at the same time it isn't chaotic. Interestingly, if you
ask Ruby enthusiasts why they love the language, you often get answers
which talk about Ruby bridging two worlds, or merging multiple
ideas. Things just _emerge_ when you use Ruby.

Now, my concern (remember my concern).  We're dealing with something
great, but at the same time fragile. Making major changes is risky, as
we could end up destroying this mysterious quality.  So I believe that
we should do as Matz does and be conservative when making changes,
asking ourselves how this change fits in with the whole.  That's why I
liked Steven White's post [ruby-talk:12594]: it went beyond a
localized problem and looked at the broader picture.  However, by
doing that, it also changed the dynamic that is Ruby.  Suggesting it
as the way to move forward could end up doing damage, simply because
we don't really understand the underlying qualities that make it work
now. (And I'm not singling out his post: it really did strike me as
excellent. I was just concerned that what we'd end up with might not
be Ruby).

So, am I suggesting that we do nothing to Ruby?

No.

Instead I'm beginning to think that maybe this is a job for Robert
Feldt's Ruby-in-Ruby or Matju's MetaRuby (or something similar). I
think we should create a simple testbed for all these new language
ideas, a Ruby implementation that's easier to hack than the current
interpreter, ideally written in Ruby itself.  Then we can implement
and try out all these ideas without having to _guess_ about their
impact on the language, and without having to rely on Matz to
implement them. Want to see the impact of making do/end blocks have
local scope? Spend a couple of days hacking your version of the
testbed, and try it.

Eventually, someone will come across an idea that really shines, that
broadens the smile.  And then we say 'let's add this back in to the
mainline'.

Going back to the chaos theme: one of the keys is to encourage
emergence, and to make it acceptable and (relatively) painless to make
mistakes.

So, let's carry on discussing all these great ideas. But let's also
think of ways of going beyond discussion into experimentation, and
ways of doing that without risking the harmonious beauty that is
Ruby.

It's also OK to be messy sometimes :)


Regards


Dave



In This Thread

Prev Next