[#39432] require and case — Martin Stannard <martin@...>

17 messages 2002/05/02

[#39463] RE: require and case — "Berger, Daniel" <djberge@...>

> --- Erik Bagfors <erik@bagfors.nu> wrote:

32 messages 2002/05/02
[#39699] Re: require and case — "Baptiste Lepilleur" <gaiacrtn@...> 2002/05/06

I confirm this behavior. I stumbled on something similar on ruby 1.6.7

[#39700] Re: require and case — ts <decoux@...> 2002/05/06

>>>>> "B" == Baptiste Lepilleur <gaiacrtn@free.fr> writes:

[#39718] Re: require and case — Dave Thomas <Dave@...> 2002/05/06

ts <decoux@moulon.inra.fr> writes:

[#39735] Re: require and case — matz@... (Yukihiro Matsumoto) 2002/05/06

Hi,

[#39534] dynamically assigning instance variables — "Berger, Daniel" <djberge@...>

Hi all,

25 messages 2002/05/03
[#39547] Re: dynamically assigning instance variables — harryo@... (Harry Ohlsen) 2002/05/04

wconrad@yagni.com wrote in message news:<20020503220050.GA443@pluto>...

[#39565] Re: dynamically assigning instance variables — Jean-Hugues ROBERT <jean_hugues_robert@...> 2002/05/04

Hello,

[#39568] Class methods defined in a module, how-to ? — Jean-Hugues ROBERT <jean_hugues_robert@...> 2002/05/04

[#39585] Ruby vs. Java vs. Native trivia — ser@... (Sean Russell)

Hi,

18 messages 2002/05/04

[#39657] newbie Q: how to strip blank lines from file? — Stewart Midwinter <stewart@..._midwinter.ca>

Well, I've spent a few days reading about Ruby, and want to try my first

11 messages 2002/05/06

[#39723] WWW.RUBYCONF.ORG — Christine Hall <return@...>

15 messages 2002/05/06

[#39796] Result of I need your experience - classification and comparison of languages — yvan.radenac@... (Yvan Radenac)

Hi,

21 messages 2002/05/07

[#39809] 'Ultimate' FreeRIDE ? — "Euan Mee" <xlucid@...>

[Note: This is a post to the FreeRIDE developers mailing list, which I have

16 messages 2002/05/07
[#39871] Re: 'Ultimate' FreeRIDE ? — Lothar Scholz <llothar@...> 2002/05/08

On Tue, 07 May 2002 20:52:06 GMT, "Euan Mee"

[#39821] non-alphabetic character in symbol — kwatch@... (kwatch)

Hi,

14 messages 2002/05/08

[#39887] Thread#join doesn't accept a timeout? — Dossy <dossy@...>

Hi,

27 messages 2002/05/09
[#39961] RE: Thread#join doesn't accept a timeout? — "Nathaniel Talbott" <nathaniel@...> 2002/05/09

Dossy [mailto:dossy@panoptic.com] wrote:

[#39968] Re: Thread#join doesn't accept a timeout? — Dossy <dossy@...> 2002/05/09

On 2002.05.10, Nathaniel Talbott <nathaniel@talbott.ws> wrote:

[#39898] cgi params api — patrick-may@... (Patrick May)

One thing that I don't like is the way cgi forces you to treat every

93 messages 2002/05/09
[#40032] Re: cgi params api — patrick-may@... (Patrick May) 2002/05/10

patrick-may@monmouth.com (Patrick May) wrote in message news:<3b3ad3b4.0205091447.5b00ce98@posting.google.com>...

[#40037] Re: cgi params api — Jean-Hugues ROBERT <jean_hugues_robert@...> 2002/05/10

At 02:23 11/05/2002 +0900, you wrote:

[#40049] Re: cgi params api — Wakou Aoyama <wakou@...> 2002/05/10

On Sat, May 11, 2002 at 03:27:13AM +0900,

[#40052] Re: cgi params api — Jean-Hugues ROBERT <jean_hugues_robert@...> 2002/05/10

At 05:56 11/05/2002 +0900, you wrote:

[#40137] Re: cgi params api — patrick-may@... (Patrick May) 2002/05/12

Wakou Aoyama <wakou@fsinet.or.jp> wrote in message news:<20020511121152.GA29832%wakou@fsinet.or.jp>...

[#40139] Re: cgi params api — Sean Chittenden <sean@...> 2002/05/12

> > If you access reqs['key'], then you'll always get a non-array object.

[#40144] Re: cgi params api — Dossy <dossy@...> 2002/05/12

On 2002.05.12, Sean Chittenden <sean@chittenden.org> wrote:

[#40148] Re: cgi params api — David Alan Black <dblack@...> 2002/05/12

Hello --

[#40159] Re: cgi params api — Dossy <dossy@...> 2002/05/12

On 2002.05.12, David Alan Black <dblack@candle.superlink.net> wrote:

[#40162] Re: cgi params api — Wakou Aoyama <wakou@...> 2002/05/12

On Mon, May 13, 2002 at 01:37:40AM +0900,

[#40191] Re: cgi params api — Dossy <dossy@...> 2002/05/13

On 2002.05.13, Wakou Aoyama <wakou@fsinet.or.jp> wrote:

[#40194] Re: cgi params api — David Alan Black <dblack@...> 2002/05/13

Hello --

[#40197] Re: cgi params api — Dossy <dossy@...> 2002/05/13

On 2002.05.13, David Alan Black <dblack@candle.superlink.net> wrote:

[#40198] Re: cgi params api — David Alan Black <dblack@...> 2002/05/13

Hi --

[#40203] Re: cgi params api — Dossy <dossy@...> 2002/05/13

On 2002.05.13, David Alan Black <dblack@candle.superlink.net> wrote:

[#40209] Re: cgi params api — Dave Thomas <Dave@...> 2002/05/13

Dossy <dossy@panoptic.com> writes:

[#40222] Re: cgi params api — Dossy <dossy@...> 2002/05/13

On 2002.05.13, Dave Thomas <Dave@PragmaticProgrammer.com> wrote:

[#40228] Re: cgi params api — Wakou Aoyama <wakou@...> 2002/05/13

On Tue, May 14, 2002 at 12:59:37AM +0900,

[#40229] Re: cgi params api — Dossy <dossy@...> 2002/05/13

On 2002.05.14, Wakou Aoyama <wakou@fsinet.or.jp> wrote:

[#40250] Re: cgi params api — Wakou Aoyama <wakou@...> 2002/05/13

Hi,

[#40291] Re: cgi params api — Dossy <dossy@...> 2002/05/14

On 2002.05.14, Wakou Aoyama <wakou@fsinet.or.jp> wrote:

[#40322] Re: cgi params api — Wakou Aoyama <wakou@...> 2002/05/14

Hi,

[#40377] Re: cgi params api — patrick-may@... (Patrick May) 2002/05/15

Dossy <dossy@panoptic.com> wrote in message news:<20020514172939.GL14145@panoptic.com>...

[#40387] Re: cgi params api — Dossy <dossy@...> 2002/05/15

On 2002.05.15, Patrick May <patrick-may@monmouth.com> wrote:

[#40389] Re: cgi params api — David Alan Black <dblack@...> 2002/05/15

Hello --

[#40390] Re: cgi params api — Dossy <dossy@...> 2002/05/15

On 2002.05.15, David Alan Black <dblack@candle.superlink.net> wrote:

[#40394] Re: cgi params api — David Alan Black <dblack@...> 2002/05/15

Hello --

[#40004] Ruby Conference 2002: Call for Presenters — David Alan Black <dblack@...>

Ruby Conference 2002: Call for Presenters

25 messages 2002/05/10
[#40009] Re: Ruby Conference 2002: Call for Presenters — Jim Menard <jimm@...> 2002/05/10

David Alan Black <dblack@candle.superlink.net> writes:

[#40043] Premature end of script headers — ccos <ccos@...> 2002/05/10

hello,

[#40015] BUG! Platform independent? sockets and select — "Kontra, Gergely" <kgergely@...>

Hi!

12 messages 2002/05/10

[#40099] OT:is software eng an art? — ptkwt@...1.aracnet.com (Phil Tomson)

I signed up for a free seminar that's being held at a grad school nearby

34 messages 2002/05/11

[#40105] Re: OT:is software eng an art? — "Radu M. Obad磚 <whizkid@...>

Mind me... but I feel like stating my oppinions regarding this issue. I

30 messages 2002/05/11

[#40180] What is Ruby for? — "Steve Merrick" <Steve.Merrick@...>

Or even 'Why <insert scripting language of your choice>'? I know it's me

35 messages 2002/05/13

[#40346] ANN: REXML 2.3.3 — Sean Russell <ser@...>

Getting tired of the upgrades yet?

50 messages 2002/05/14
[#40407] Re: ANN: REXML 2.3.3 — Sean Russell <ser@...> 2002/05/15

<posted & mailed>

[#40412] RE: ANN: REXML 2.3.3 — "Rich Kilmer" <rich@...> 2002/05/15

I'll weigh in here...

[#40418] RE: ANN: REXML 2.3.3 — David Alan Black <dblack@...> 2002/05/15

Hi --

[#40426] Re: ANN: REXML 2.3.3 — Bob Hutchison <hutch@...> 2002/05/15

On 5/15/02 12:53 PM, "David Alan Black" <dblack@candle.superlink.net> wrote:

[#40440] Re: ANN: REXML 2.3.3 — Tobias Reif <tobiasreif@...> 2002/05/15

Bob Hutchison schrieb:

[#40397] ANN: Programmierung in Ruby — juergen.katins@... (Juergen Katins)

The translation of *Programming Ruby* by Dave Thomas and Andy Hunt is

31 messages 2002/05/15

[#40525] Metaclasses... — "Hal E. Fulton" <hal9000@...>

Hello, all...

15 messages 2002/05/16

[#40559] what's the calling method name? — Yohanes Santoso <ruby-talk@...>

Hello all,

27 messages 2002/05/17
[#40566] Re: what's the calling method name? — John Carter <john.carter@...> 2002/05/17

On Fri, 17 May 2002, Yohanes Santoso wrote:

[#40577] Re: what's the calling method name? — Yohanes Santoso <ruby-talk@...> 2002/05/17

John Carter <john.carter@tait.co.nz> writes:

[#40647] Re: what's the calling method name? — Yohanes Santoso <ruby-talk@...> 2002/05/18

Yohanes Santoso <ruby-talk@jenny-gnome.dyndns.org> writes:

[#40735] Re: what's the calling method name? — wconrad@... 2002/05/19

On Sat, May 18, 2002 at 06:16:29PM +0900, Yohanes Santoso wrote:

[#40782] Re: what's the calling method name? — nobu.nokada@... 2002/05/20

Hi,

[#40571] Shifting array element & regex on array element — Yohanes Santoso <freeride-devel@...>

In implementing a buffer gap mechanism, I was wondering if there is

10 messages 2002/05/17

[#40635] Ruby regex question — Dossy <dossy@...>

Maybe this is Perl envy, maybe I'm just doing something wrong.

28 messages 2002/05/18
[#40664] Re: Ruby regex question — Mike Stok <mike@...> 2002/05/18

In article <20020518152610.GJ9684@panoptic.com>, Dossy wrote:

[#40673] Re: Ruby regex question — Dossy <dossy@...> 2002/05/18

On 2002.05.19, Mike Stok <mike@stok.co.uk> wrote:

[#40687] RubyEclipse released — "Adam Williams" <awilliams@...>

First release of the highly anticipated (maybe just by me) Ruby IDE. Get it

32 messages 2002/05/19
[#40720] Re: [ANN] RubyEclipse released — Han Holl <han@...> 2002/05/19

Adam Williams wrote:

[#40741] RE: [ANN] RubyEclipse released — "Adam Williams" <awilliams@...> 2002/05/19

Okay. So I probably need to work on some documentation.

[#40723] are there unit tests for cgi.rb? — patrick-may@... (Patrick May)

if so, where could I find them?

27 messages 2002/05/19
[#40806] Re: are there unit tests for cgi.rb? — Tobias Reif <tobiasreif@...> 2002/05/20

Wakou Aoyama wrote:

[#40812] Re: are there unit tests for cgi.rb? — Wakou Aoyama <wakou@...> 2002/05/20

On Tue, May 21, 2002 at 12:27:46AM +0900,

[#40902] method_missing is cool (was: are there unit tests for cgi.rb?) — Ian Macdonald <ian@...> 2002/05/21

On Tue 21 May 2002 at 01:00:22 +0900, Wakou Aoyama wrote:

[#40778] automatic documentation: using tests in addition to / instead of comments — Tobias Reif <tobiasreif@...>

Hi,

40 messages 2002/05/20
[#40788] Re: [RDoc etc] automatic documentation: using tests in addition to / instead of comments — Dave Thomas <Dave@...> 2002/05/20

Tobias Reif <tobiasreif@pinkjuice.com> writes:

[#40826] DBI access to mysql auto_increment record numbers? — Brad Cox <bcox@...> 2002/05/20

How do you get the auto_increment record number for mysql in

[#40887] Re: [RDoc etc] automatic documentation: using tests in addition to / instead of comments — Sean Russell <ser@...> 2002/05/21

Man, how did I miss this thread?

[#40889] Re: [RDoc etc] automatic documentation: using tests in addition to / instead of comments — Paul Brannan <pbrannan@...> 2002/05/21

On Wed, May 22, 2002 at 12:14:05AM +0900, Sean Russell wrote:

[#40875] Memory consumption. — Erik Terpstra <erik@...>

Is there some method that tells me how much memory a certain object

14 messages 2002/05/21

[#40978] Re: Stymied by Ruby's garbage collector — Art Taylor <ataylor@...>

Is there a particular kind or kinds of object being created in huge numbers?

25 messages 2002/05/22
[#40986] Re: Stymied by Ruby's garbage collector — Bob Hutchison <hutch@...> 2002/05/22

On 5/22/02 4:07 PM, "Art Taylor" <ataylor@fortpoint.com> wrote:

[#41085] OS independent scripts, system calls on Windows and Linux — Tobias Reif <tobiasreif@...>

Hi,

19 messages 2002/05/24

[#41102] RE: OS independent scripts, system calls on Windows and Linux — "Morris, Chris" <chris.morris@...>

> All these incompatibility issues are why I want to talk about an RCR.

29 messages 2002/05/24
[#41105] Re: OS independent scripts, system calls on Windows and Linux — Tobias Reif <tobiasreif@...> 2002/05/24

Morris, Chris wrote:

[#41266] Re: OS independent scripts, system calls on Windows and Linux — Dennis Newbold <dennisn@...> 2002/05/28

On Fri, 24 May 2002, Tobias Reif wrote:

[#41352] Infinity (?!) — ptkwt@...1.aracnet.com (Phil Tomson)

I didn't know there was an Infinity value in Ruby, just found it today:

34 messages 2002/05/30

[#41434] Ruby jobs — Tobias Reif <tobiasreif@...>

Hi,

23 messages 2002/05/31
[#41475] RE: Ruby jobs — <james@...> 2002/05/31

>

[#41510] Finding all applications — Chris Gehlker <gehlker@...>

In trying to add drag and drop scripting to RubyStudio and the first task is

40 messages 2002/05/31
[#41561] Re: Finding all applications — Sean Russell <ser@...> 2002/06/01

Jim Menard wrote:

[#41564] Re: Finding all applications — nobu.nokada@... 2002/06/01

Hi,

[#41575] Re: Finding all applications — Chris Gehlker <gehlker@...> 2002/06/02

On 6/1/02 11:33 AM, "nobu.nokada@softhome.net" <nobu.nokada@softhome.net>

[#41576] RE: Finding all applications — "Mike Campbell" <michael_s_campbell@...> 2002/06/02

>> ruby -r find -e 'Find.find("/"){|f| puts f if f[/\.app$/]}'

[#41578] Re: Finding all applications — Chris Gehlker <gehlker@...> 2002/06/02

On 6/1/02 5:20 PM, "Mike Campbell" <michael_s_campbell@yahoo.com> wrote:

[#41579] Re: Finding all applications — Dossy <dossy@...> 2002/06/02

On 2002.06.02, Chris Gehlker <gehlker@fastq.com> wrote:

[#41586] Re: Finding all applications — Chris Gehlker <gehlker@...> 2002/06/02

On 6/1/02 7:44 PM, "Dossy" <dossy@panoptic.com> wrote:

Re: Stymied by Ruby's garbage collector

From: "Sean O'Dell" <sean@...>
Date: 2002-05-25 00:17:13 UTC
List: ruby-talk #41133
Nat Pryce wrote:

> From: "Sean O'Dell" <sean@BUHBYESPAMcelsoft.com>
> 
>>In C++, I use the stack to create/destroy objects and if the objects
>>themselves need to dynamically allocate large amounts of memory, I use
>>the destructors to free up that memory.  Garbage collection and the lack
>>of destructor functions are a nightmare to me...it's those two features
>>precisely that will keep me from using Ruby in any large projects.
>>Don't get me wrong, I love Ruby to death, it's an amazing language...but
>>garbage collection is terrorizing me...I can't abide memory usage
>>building up to a critical point and then having this giant collection
>>process kicking in, dominating my application.
>>
> [snip]
> 
>>I wish we could ditch it for stack-based memory management, with real
>>object destructors to allow clean-up mechanisms for the dynamic memory
>>allocations.  But, I assume there's some fundamental design issues that
>>would make that impossible.
>>
> 
> Managing memory by allocating objects on the stack is fine, as long as
> object lifetimes can be directly related to lifetimes of lexical scopes.  In
> my experience this is not often true in large applications, especially in
> applications that have an object-oriented design.  That's why C++ has the
> new operator after all.  However, if you want to do the same thing in Ruby,
> use the "class allocates instance, passes instance to block, cleans up
> instance" idiom to enforce an object lifetime to be the same as a lexical
> scope.  Of course, you have to be careful not to keep a reference to that
> object outside the lexical scope, otherwise you end up with a dangling
> pointer that references an invalid object.  You can also explicitly call the
> GC at the end of those scopes -- this will give you pretty much the same
> behaviour as your C++ program.


Collection does too much...it takes longer the more objects there 
are...that's not good scaling.  It really, really bugs me.

Object lifetime doesn't HAVE to be tied to a lexical scope, IMO, and 
still be clean and tight.  I like to have parent objects that "contain" 
other objects and when the parent destructor is invoked, it destroys all 
of its children.  It's not as automatic as on the stack (where there's a 
tie between the object life and its scope), but it's still very tight 
and it's well worth the risk of the occassional "floating" object.

The block idiom is cool...but it gets so messy sometimes.  If you have 
10 objects you want to be scoped to a block, you're nested like 20 
spaces indented in the code...it gets ridiculous...I can't even tell 
what code belongs to what block after enough nesting.  It's a neat 
feature, but it doesn't address the lexical scope issue but just barely.

> Also, you can use finalisers instead of destructors.  Compared to C++
> destructors they are more flexible -- other objects can register a finaliser
> on an object so that they can clean up their internal state when that object
> is collected -- and safer --  you cannot get dangling pointers that
> reference objects whose destructors have been called.


Finalizers don't cut it for me.  Proper object destruction requires 
special tasks much of the time (freeing memory, closing files, etc.).  A 
proper destructor is helping keep the function of the object 
encapsulated.  It's an exit routine.  Last I heard, finalizers were 
called when the object was already gone...so you can't much in the way 
of closing anything or freeing anything that the object was 
maintaining...it's just not the same thing.

I realize it's probably a trade-off for some other cool features, but to 
me it's just not OOP if you don't have destructors, and finalizers are 
not destructors.

> Finally, you shouldn't be terrorized by GC suddenly slowing your program
> down.  Empirical studies from around 10 years ago showed that conservative
> garbage collectors had comparable performance to manual memory management --
> for some applications GC was faster, for some slower, but on average the
> same -- and garbage collectors have improved a lot since then.  Manual
> memory management can also take over your program at unexpected times; have
> you ever looked at the amount of work malloc and free have to do to avoid
> heap fragmentation, or how reference counting causes poor locality of
> reference and thereby lots of cache misses?


I'm not actually terrorized by the thought of slow-downs...just by the 
thought of embedding Ruby in any long-lived portions of my applications, 
or where iterations will be creating objects, potentially creating huge 
heaps of unused ones, then glitching while it cleans up.  I'm just very 
cautious about where I put Ruby code.  I'd be much more comfortable and 
less suspicious if there were scopes for the objects so I could 
guarantee they died at a certain point without having to invoke 
collection (and still ending up with objects alive that I want dead).

I guess I just want Ruby to succeed and perhaps become a widely accepted 
platform for developing applications.  Look at the poor fellow with that 
graphics application.  I bet he had to sweat a little to get someone to 
accept Ruby on that project, and a fundamental design issue with Ruby's 
memory management is causing him to have to insert hack code to keep it 
running smoothly.  We shouldn't have to do that.  Objects should go away 
when told to, memory levels should be where we design them to be, and 
nothing should be running in the background unless we tell it to.  It's 
really that simple.  All the studies in the world aren't going to allow 
me to abide that in a real application.  No matter how cool the language is.

	Sean

In This Thread