[#80776] prerelease of Guis-1.3pre1 (a GTK widget server) for Ruby — Basile STARYNKEVITCH <basile@...>

Dear All,

11 messages 2003/09/01

[#80849] Simple question(s) — Michael Campbell <michael_s_campbell@...>

(I think...)

16 messages 2003/09/02

[#80870] show me the ruby way — nord ehacedod <nordehacedod@...>

This works, but there must be a more natural way to do

18 messages 2003/09/02
[#80916] Re: show me the ruby way — aero6dof@... (Alan Chen) 2003/09/02

ts <decoux@moulon.inra.fr> wrote in message news:<200309021525.h82FPkM17085@moulon.inra.fr>...

[#80918] Re: show me the ruby way — "Warren Brown" <wkb@...> 2003/09/02

alan,

[#80873] RDoc: how to turn off automatic linking for a word? — leikind@... (Yuri Leikind)

Hello all,

12 messages 2003/09/02
[#80962] Re: RDoc: how to turn off automatic linking for a word? — William Webber <wew@...> 2003/09/03

On Wed, Sep 03, 2003 at 12:32:23AM +0900, Yuri Leikind wrote:

[#81014] unknown node type 0 — Hal Fulton <hal9000@...>

Hello, all.

15 messages 2003/09/03

[#81028] webrick and ruby — ahoward <ahoward@...>

12 messages 2003/09/03

[#81057] WEBrick and mod_ruby performance — quixoticsycophant@... (Jeff Mitchell)

I've been scoping out ruby for an upcoming server project.

16 messages 2003/09/03

[#81075] Unit Tests and Encapsulation — Scott Thompson <easco@...>

This may be off-topic in a Ruby list, although I have noticed that a

18 messages 2003/09/04

[#81167] Difference between .. and ... in boolean ranges — Oliver Dain <odain2@...>

I'm a bit confused by some Ruby behavior I'm seeing with ranges. As I

12 messages 2003/09/04

[#81234] Correction: "religious" — Daniel Carrera <dcarrera@...>

It has come to my attention that the word religious can, indeed, be

12 messages 2003/09/05

[#81239] rcalc 2.0 (Ruby Calculator) — "Josef 'Jupp' Schugt" <jupp@...>

Saluton!

14 messages 2003/09/05

[#81345] ANN: MetaTags 1.0 — Ryan Pavlik <rpav@...>

MetaTags 1.0

73 messages 2003/09/08
[#81361] Re: ANN: MetaTags 1.0 — Tobias Peters <tpeters@...> 2003/09/08

Ryan Pavlik wrote:

[#81371] Re: ANN: MetaTags 1.0 — why the lucky stiff <ruby-talk@...> 2003/09/08

On Monday 08 September 2003 06:58 am, Tobias Peters wrote:

[#81384] Re: ANN: MetaTags 1.0 — Chad Fowler <chad@...> 2003/09/08

On Tue, 9 Sep 2003, why the lucky stiff wrote:

[#81386] Re: ANN: MetaTags 1.0 — dblack@... 2003/09/08

Hi --

[#81394] Re: ANN: MetaTags 1.0 — why the lucky stiff <ruby-talk@...> 2003/09/08

On Monday 08 September 2003 12:08 pm, dblack@superlink.net wrote:

[#81396] Re: ANN: MetaTags 1.0 — Hal Fulton <hal9000@...> 2003/09/08

why the lucky stiff wrote:

[#81452] Re: ANN: MetaTags 1.0 — matz@... (Yukihiro Matsumoto) 2003/09/09

Hi,

[#81454] Re: ANN: MetaTags 1.0 — Dave Thomas <Dave@...> 2003/09/09

[#81615] Re: ANN: MetaTags 1.0 — Richard Kilmer <rich@...> 2003/09/10

On Monday, September 8, 2003, at 11:59 PM, Dave Thomas wrote:

[#81374] problem with Module#append_features — Ferenc Engard <ferenc@...>

Hi all,

24 messages 2003/09/08

[#81503] Memory consumption of Ruby/mod_ruby combo on Apache — David Heinemeier Hansson <david@...>

I'm seeing memory consumption in the area of 30-35mb per Apache process

12 messages 2003/09/09
[#81504] Re: Memory consumption of Ruby/mod_ruby combo on Apache — mgarriss <mgarriss@...> 2003/09/09

David Heinemeier Hansson wrote:

[#81535] using a filter inside Ruby — Eric Schwartz <emschwar@...>

I've the contents of a raw log file in memory, and a program that will

12 messages 2003/09/09

[#81587] Fwd: Calling fun taking struct and not pointer to struct? — Robert Feldt <feldt@...>

Related to the recent thread about nested structs

16 messages 2003/09/10
[#81590] Re: Calling fun taking struct and not pointer to struct? — "Nathaniel Talbott" <nathaniel@...> 2003/09/10

Robert Feldt [mailto:feldt@ce.chalmers.se] wrote:

[#81594] Re: Calling fun taking struct and not pointer to struct? — Robert Feldt <feldt@...> 2003/09/10

Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> skrev den Wed, 10 Sep 2003 22:42:24 +0900:

[#81596] Re: Calling fun taking struct and not pointer to struct? — "Nathaniel Talbott" <nathaniel@...> 2003/09/10

Robert Feldt [mailto:feldt@ce.chalmers.se] wrote:

[#81597] Re: Calling fun taking struct and not pointer to struct? — Robert Feldt <feldt@...> 2003/09/10

Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> skrev den Thu, 11 Sep 2003 00:06:18 +0900:

[#81612] What *are* variables? Which are nil now? — Hugh Sasse Staff Elec Eng <hgs@...>

Reading about reflection, ObjectSpace will give you the objects in

22 messages 2003/09/10
[#81632] Re: What *are* variables? Which are nil now? — Austin Ziegler <austin@...> 2003/09/10

> raise "@b1 is nil" if @b1.nil

[#81623] Chasing a garbage collection bug — "Thomas Sondergaard" <thomas@...>

I just discovered that I have a GC related bug, or that is to say it doesn't

17 messages 2003/09/10

[#81755] Passing an Object Class from a method to a caller — "RLMuller" <RLMuller@...>

Hi All,

14 messages 2003/09/11

[#81840] Re: Dir.foreach not with patterns? — "Weirich, James" <James.Weirich@...>

I like the Dir[] form (or its "glob" alternative). I used to write

14 messages 2003/09/12
[#82500] Re: Dir.foreach not with patterns? — Jason Creighton <androflux@...> 2003/09/19

On Thu, 18 Sep 2003 15:59:25 +0100

[#81871] Duck Typing — Jim Weirich <jweirich@...>

In the Method Redefinition thread, this explanation of Duck Typing is

38 messages 2003/09/13
[#81884] Re: Duck Typing — dblack@... 2003/09/13

Hi --

[#81929] actual debian ruby packages are unuseable with tk — Ferenc Engard <ferenc@...>

Dear debian ruby package maintainers,

12 messages 2003/09/13

[#81960] Dot versus double-colon — Hal Fulton <hal9000@...>

OK, I've been thinking (always dangerous after 11 pm).

18 messages 2003/09/14

[#82012] performance and style advice requested — Alex Martelli <aleaxit@...>

I'm trying to learn some Ruby, so I want to write some Ruby code, starting

53 messages 2003/09/14
[#82028] Re: performance and style advice requested — Ben Giddings <bg-rubytalk@...> 2003/09/14

Some style advice:

[#82029] Linguistics 0.02 — Michael Granger <ged@...>

Hi fellow Rubyists,

19 messages 2003/09/14

[#82056] Test::Unit -- multiple errors in test method ??? — Johan Holmberg <holmberg@...>

14 messages 2003/09/15

[#82166] scrambler one-liner — Xavier Noria <fxn@...>

I just came across this interesting article at Slashdot that explains that

27 messages 2003/09/16

[#82206] #{} and \" don't like each other — Peter <Peter.Vanbroekhoven@...>

From the Programming Ruby book:

32 messages 2003/09/16

[#82419] wiki reccomendations — ahoward <ahoward@...>

15 messages 2003/09/18

[#82448] closing stderr — Michael Garriss <mgarriss@...>

I would like to prevent some output that is going to stderr during a

15 messages 2003/09/18

[#82547] fork not available? — walter@...

I am running windows 2000 using the PragProgs install.

14 messages 2003/09/19

[#82561] Trouble with binary files? — <agemoagemo@...>

I'm trying to write a program that will read a binary

24 messages 2003/09/19
[#82562] Re: Trouble with binary files? — Heinz Werntges <werntges@...> 2003/09/19

agemoagemo@yahoo.com wrote:

[#82583] Re: Trouble with binary files? — Tim Hammerquist <tim@...> 2003/09/19

<agemoagemo@yahoo.com> graced us by uttering:

[#82575] Article on oreilly.net on how to build Unix tools with Ruby — Xavier <NOSPAM@...>

Thought you'd like to know about this article

24 messages 2003/09/19
[#82829] Re: Article on oreilly.net on how to build Unix tools with Ruby — Paul Brannan <pbrannan@...> 2003/09/23

On Sat, Sep 20, 2003 at 06:00:21AM +0900, Xavier wrote:

[#82589] POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...>

Here's an updated version of the Ruby pop3filter that was written. This

32 messages 2003/09/20
[#82592] Re: POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...> 2003/09/20

I've made more updates. Rather than just putting them here, I've created a

[#82609] Re: POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...> 2003/09/20

On Sat, 20 Sep 2003 10:14:39 +0900, Austin Ziegler wrote:

[#82617] Re: POP3Filter for SoBig.F Virus: — "Shashank Date" <sdate@...> 2003/09/20

[#82618] Re: POP3Filter for SoBig.F Virus: — Gavin Sinclair <gsinclair@...> 2003/09/20

On Saturday, September 20, 2003, 9:03:18 PM, Shashank wrote:

[#82621] Re: POP3Filter for SoBig.F Virus: — Austin Ziegler <austin@...> 2003/09/20

On Sat, 20 Sep 2003 22:15:40 +0900, Gavin Sinclair wrote:

[#82623] Re: POP3Filter for SoBig.F Virus: — Jose Quesada <quesadaj@...> 2003/09/20

On Sat, 20 Sep 2003 23:52:39 +0900, Austin Ziegler <austin@halostatue.ca>

[#82624] Re: POP3Filter for SoBig.F Virus: — Xavier Noria <fxn@...> 2003/09/20

On Saturday 20 September 2003 18:56, Jose Quesada wrote:

[#82632] Real emails on newsgroup version (was Re: POP3Filter) — Ben Giddings <bg-rubytalk@...> 2003/09/20

This whole worm thing brings up a question:

[#82683] Re: Real emails on newsgroup version (was Re: POP3Filter) — Dave Thomas <Dave@...> 2003/09/22

[#82661] Performance: Ruby vs Java — lalit_pant@... (Lalit Pant)

I'm a newcomer to Ruby, and thought I would write a little

18 messages 2003/09/22

[#82715] Ruby package for Linux — Jim Freeze <jim@...>

Ok, I know nothing about linux packages.

22 messages 2003/09/22

[#82832] upper to lower first letter of a word — yvon.thoravallist@... (Yvon Thoraval)

Recently, i get a vintage list (more than 500 items) with poor typo, for

30 messages 2003/09/23

[#82884] When threads block — Hans Fugal <fugalh@...>

It's difficult to do any serious multi-threaded network programming when

13 messages 2003/09/24

[#82964] Re: Prove internet package for Microsoft Internet Explorer — "Anthony Neville" <anthony.neville@...>

13 messages 2003/09/25

[#83002] TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...>

I'm trying to use TCPSocket.gethostbyname to verify that a given domain

35 messages 2003/09/25
[#83006] Re: TCPSocket.gethostbyname difficulties — Peter <Peter.Vanbroekhoven@...> 2003/09/25

> I can browse to either of those hosts, so what's different about them? Any

[#83014] Re: TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...> 2003/09/26

Peter [mailto:Peter.Vanbroekhoven@cs.kuleuven.ac.be] wrote:

[#83030] Re: TCPSocket.gethostbyname difficulties — ts <decoux@...> 2003/09/26

>>>>> "N" == Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> writes:

[#83035] Re: TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...> 2003/09/26

ts [mailto:decoux@moulon.inra.fr] wrote:

[#83036] Re: TCPSocket.gethostbyname difficulties — ts <decoux@...> 2003/09/26

>>>>> "N" == Nathaniel Talbott <nathaniel@NOSPAMtalbott.ws> writes:

[#83037] Re: TCPSocket.gethostbyname difficulties — "Nathaniel Talbott" <nathaniel@...> 2003/09/26

ts [mailto:decoux@moulon.inra.fr] wrote:

[#83011] Adding, removing and redefining features at runtime — "Thomas Sondergaard" <thomas@...>

I am working on an article on the subject of implementing dynamically typed

23 messages 2003/09/26

[#83105] Fwd: FW: Porting Suggestions: Lucene to Ruby; Perl Text::Balanced — Erik Hatcher <erik@...>

I was alerted about me being mentioned on ruby-talk, as I was not

12 messages 2003/09/27
[#83117] OT: alerts - was Re: Fwd: FW: Porting Suggestions: Lucene to Ruby; Perl Text::Balanced — Hal Fulton <hal9000@...> 2003/09/27

Erik Hatcher wrote:

[#83140] Thoughts on yield — nolan_d@... (Nolan J. Darilek)

I've begun working on a music-related ruby project, and recently I've

17 messages 2003/09/28

[#83223] Article on ARTIMA — Peter Hickman <peter@...>

There is the start of a series of articles on ARTIMA with Matz.

21 messages 2003/09/29

[#83310] Making == symmetric? — elbows@... (Nathan Weston)

It has always bothered me that == is not symmetric in ruby:

22 messages 2003/09/30

Re: performance and style advice requested

From: Ben Giddings <bg-rubytalk@...>
Date: 2003-09-16 23:32:10 UTC
List: ruby-talk #82223
Alex Martelli wrote:
> Or Python -- no "access control" whatsoever, just *advisory* indications
> of what's meant to be "published" and what's meant to be for internal use
> only.

Well, that's *technically* true of Ruby as well.  You can get access to 
a private variable at any time, if you try hard enough (using 
instance_eval for example).  It's just that you're encouraged to use 
getter/setter methods, and to provide them for only the attributes you 
want exposed.

I think the only thing it buys you is that it forces you to consider 
"which of these attributes is internal state, and which do I want others 
to have access to?" whenever you're writing something.  My guess would 
be that that lends itself to a cleaner design.  It seems to me that the 
way Python works lends you to "I'll make Foo with attributes bar and 
bat, now which ones of these are really actually private?" then adding 
an underscore to their names vs. "I'll make Foo with attributes bar and 
bat, now which ones of these are actually public?" then adding an 
accessor for that variable.

Afterall, there's nothing stopping you from using structs instead of 
classes in C++.  My understanding is that the only difference is that a 
struct is by default all public, and a class is by default all private. 
   But people always use classes.  Why?  Probably that's just the way 
they learned, but maybe it's because it's more natural to start with 
everything private, then expose only what you think is necessary.

> I have nothing against this line of reasoning.  I'm still allowed to
> make the code a BIT less ugly (in my eyes) by using $_foo instead of
> base $foo, though.  By the same token, literals in your code are ugly
> (they should all be constants, right?) -- so do you object to Ruby
> letting me write a prettier (and more readable, IMHO) 1_000_000
> rather than an uglier (harder to read, must count 0's) 1000000 ...?-)

Yes, I think most literals are bad, and using constants is good, within 
reason.  I'd certainly cringe at "if x < THE_NUMBER_ZERO" though.  Do 
whatcha want when it comes to $_var, I just think it's ugly, but I think 
a lot of people's code is ugly, so don't mind me.  :)

> be the enthusiastic "more than one way to do it" philosophy of Perl
> and Ruby, vs the principle which the C Standard phrases as "provide
> only one way to do an operation", and the Python Zen phrases as
> "There should be one-- and preferably only one --obvious way to do it.".

Actually, my understanding of matz' design philosophy is that it's more 
like Python's than Perl's.  My understanding was that Python's was more 
like "There should be one -- and preferably only one -- way to do it.", 
(i.e. the obviousness didn't come into it) where Ruby's was "There 
should be one obvious way to do it (but other ways are ok too)"  So in 
Python there should never be two ways of doing something, unless 
absolutely necessary, but in Ruby there can easily be multiple ways of 
doing something, but one should be the obvious choice.  You know Python 
far better than I do though, so maybe my understanding is wrong, but I 
can say with confidence that Ruby has many more obvious solutions than 
does Perl.

>>Note it also works for non container objects:
>>
>>var ||= "new val";
> 
> Noted, thanks (I also notice the redundant trailing ";"""...?-) -- I
> guess this means that keeping variables initially undefined may be
> a sensible strategy in Ruby where it wouldn't be in C or Python.

Oops!  An artifact of coding all day in C, I'm afraid.  And a nitpick, 
in Ruby variables aren't quite initially undefined, they're set to 
"nil", the instance of the Nil class.  At least, that's my 
understanding.  I don't think you can have a truly undefined variable in 
Ruby.

> I fail to see where the speed penalties are inherent, given that the
> semantics of integer numbers in Python and Ruby are so similar now
> (e.g., fixnums, aka "int", now transparently give bignum, aka "long",
> results in Python, too).  

Sorry, most of my python knowledge is way out of date.  I used it for a 
while seriously in '97, but not too much since then.  If I recall 
correctly, at that point there was a clear distinction between built-in 
types and classes, and there were also certain classes which couldn't be 
subclassed.  But I have heard that changed.

> Anyway, I'll grow this to definitely-NOT-simple eventually.  Will
> the extra complication of the problem being solved favour Ruby's
> performance?  Stay tuned...;-).

I'd also be curious to have your impressions on things other than speed, 
like how long it took to write the programs, how maintainable they seem 
to be, how easy they are to modify, that sort of thing.  It's a bit of 
an unfair comparison since you know Python well, but this is the sort of 
area that I think Ruby tends to win out in.

> I'll accept your evaluation that you're not surprised if Python is
> faster by a healthy margin, but I'd rather a different explanation
> than the one you give.  *WHAT* do you think is NOT "an object" in
> the Python program, giving Python an intrinsic speed advantage...?

I haven't used Python 2.3 yet, and haven't used much Python at all in a 
while, but I was under the impression that integers and other basic 
types weren't quite full-fledged objects.  I seem to remember that they 
could act as objects, but there was still a distinction like Java's 
"int" type vs. "Integer" class.  Or maybe it was that they didn't all 
seem to inherit from some base "Object" class.  Maybe I'm completely 
wrong though.  I'd like to know more though.

> into a dictionary -- in Ruby, I was informed, when it LOOKS like I'm
> using a tuple to index into a Hash, in fact the interpreter is working
> hard under the covers at forming a string out of that tuple

Actually, that was a misconception, the person who told you that was 
later corrected.  I think what happens is that the object you're using 
as a hash index simply has its "hash" method called (which all objects 
get since it's defined in Object.

Anyhow, if it isn't the object-nature of the languages that causes the 
speed difference, my guess is that it's the age, maturity, and 
interpreter differences.  Python's interpreter has probably had 5x the 
man-hours put into it that Ruby's has had, so there's still lots of room 
for tweaking improvement.  I also think there's a fundamental difference 
in the interpreter, based on the fact you can have .pyc files, and .pyo 
files, but there's no such thing as a .rbc or a .rbo file.  But my 
knowledge of the internals of either interpreter is basically nonexistant.

> You might be surprised.  Try coding in standard C or assembly a program 
> that must work with integers as large as 52!, without using some finely
> tuned external library for the pupose, and we'll see what performance
> you do get...;-).  [In practice, multiple-precision arithmetic is NOT
> trivial to code with decent performance].  Sure, I could use GMP, say --
> but then I could use it for Ruby or C just as well, and the variability
> becomes unbounded.  I _am_ interested in comparing standard languages
> as opposed to languages coupled with any one of a zillion potential
> add-on libraries, after all.

Ok, but by that same token, if Python's multiple-precision arithmetic 
support has had a lot more work than Ruby's, it's bound to be much 
faster.  If so, it wouldn't be a big surprise if Python 2.3's arithmetic 
was twice as fast as that of Ruby 1.6.  Maybe that's the cause of the 
slowdown.  In any case, I wouldn't get too hung up on it.  For the 
things I tend to use Ruby for, speed isn't an issue at all.  It has 
easily reached the point where it is "fast enough".

> I know of no tasks where "a scripting language" is NOT appropriate,
> except operating systems (kernels and drivers), and _accelerators_ for
> "scripting languages"

Unfortunately, I do, in particular embedded systems where code size and 
memory size is at a premium.  With the stuff I'm working on, we're using 
scripting languages where we can, to test, prototype, etc. but in the 
end we won't have any embedded scripting language on the current product.

> (Ruby has some very elegant parts, those designed from scratch, but
> e.g. all of those $_ $` $' $! etc etc that it borrowed from Perl
> surely can't be considered *elegant*...???)...?

No, certainly not.  But then again, I have yet to come across a Ruby 
program which uses them.  In fact, I often argue against including them 
in future versions of Ruby, as well as some of the non-oo-like Kernel 
methods like "open" and "gsub" which are also Perl cruft.

I'm curious though, how do you know that Ruby has $_, $` and friends? 
Did you see it in a book, online, in a critique of Ruby, or in code? 
Like I said, I've never seen them in code, but they're mentioned in 
books, and always used in critiques of Ruby.  To me, criticizing $` in 
Ruby is like criticizing C for having Duff's Device.

> I'll move on to something else -- after all Python and Ruby are clearly
> both perfectly general-purpose languages, so it's not as if I'll soon
> run out of application domains to explore, hm?-)

Nope, and it's fun to hear your reports of your explorations.  I don't 
have much time these days to do my own explorations.  The only thing I'd 
like better is if you'd explore what I find interesting, rather than 
what you find interesting... but that's probably asking a bit too much, 
isn't it?  ;)

Ben


In This Thread