[#3109] Is divmod dangerous? — Dave Thomas <Dave@...>

14 messages 2000/06/06

[#3149] Retrieving the hostname and port in net/http — Roland Jesse <jesse@...>

Hi,

12 messages 2000/06/07

[#3222] Ruby coding standard? — Robert Feldt <feldt@...>

16 messages 2000/06/09

[#3277] Re: BUG or something? — Aleksi Niemel<aleksi.niemela@...>

> |I am new to Ruby and this brings up a question I have had

17 messages 2000/06/12
[#3281] Re: BUG or something? — Dave Thomas <Dave@...> 2000/06/12

Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

[#3296] RE: about documentation — Aleksi Niemel<aleksi.niemela@...>

> I want to contribute to the ruby project in my spare time.

15 messages 2000/06/12

[#3407] Waffling between Python and Ruby — "Warren Postma" <embed@...>

I was looking at the Ruby editor/IDE for windows and was disappointed with

19 messages 2000/06/14

[#3410] Exercice: Translate into Ruby :-) — Jilani Khaldi <jilanik@...>

Hi All,

17 messages 2000/06/14

[#3415] Re: Waffling between Python and Ruby — Andrew Hunt <andy@...>

>Static typing..., hmm,...

11 messages 2000/06/14

[#3453] Re: Static Typing( Was: Waffling between Python and Ruby) — Andrew Hunt <andy@...>

32 messages 2000/06/16

[#3516] Deep copy? — Hugh Sasse Staff Elec Eng <hgs@...>

Given that I cannot overload =, how should I go about ensuring a deep

20 messages 2000/06/19

[#3694] Why it's quiet — hal9000@...

We are all busy learning the new language

26 messages 2000/06/29
[#3703] Re: Why it's quiet — "NAKAMURA, Hiroshi" <nahi@...> 2000/06/30

Hi,

[#3705] Re: Why it's quiet — matz@... (Yukihiro Matsumoto) 2000/06/30

Hi,

[ruby-talk:03652] Re: Perl and Ruby: an Irony

From: Conrad Schneiker <schneik@...>
Date: 2000-06-24 21:20:17 UTC
List: ruby-talk #3652
Hi,

Dat Nguyen wrote:

> I am rewriting a Perl program in Ruby to see the difference.
> Follows is a segment of the Perl program:
>
> while (<>) {
>         if (/1999/) {
>                 ($date, $hour, $name, $id) = split;
>                 print "$date:$hour:$name:$id\n"
>         }
> }
>
> And follows is the counterpart in Ruby:
>
> while(gets())
>         if /1999/
>                 date, hour, name, id = split
>                 print "#{date}:#{hour}:#{name}:#{id}\n"
>         end
> end
>
> I am not sure which one, Perl or Ruby, is more readable here. This is a
> curious observation: to get rid of the $ on one line, one has to pay #{} on
> the following line. Is this the principle "pay it now, or pay it later ...
> with interest!" ?

No, this is an example of (1) the fallacy of generalizing from one data point
(or, more generally, of generalizing from unrepresentative or incompletely
representative data samples), of (2) the fallacy of false presumption, and of
(3) overlooking what you almost certainly already know.

To reiterate the obvious, programming languages are designed as systems, not as
independent collections of "atomic" features. (We are talking about so-called
high level general purpose languages such Smalltalk, Perl, Ruby, Python, and
Java here.) Such programming languages are designed for a wide range of
applications that span many degrees of complexity. Their features are not
(typically) selected in isolation and out of this overall context, but rather
with the aim of providing a useful overall system, subject to whatever
tradeoffs those involved deem best overall. Building blocks that are too simple
often make moderately-to-substantially complex things much more cumbersome.
Uniformity and overall simplicity are often compromised under such conditions
as well.

You don't have too look very far to find more complicated cases of Perl
interpolation. Indeed there are lots of  things in Perl that are initially very
convenient and compact for simple tasks, but which tend to become increasingly
counterintuitive and messier for more sophisticated tasks.

--
Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)


In This Thread