[#18974] Perl/Python/Ruby common backend (Perl6) — ptkwt@...1.aracnet.com (Phil Tomson)

There is a thread about using .NET's CLR as a backend for Ruby, but how

17 messages 2001/08/01

[#19064] ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — David Alan Black <dblack@...>

17 messages 2001/08/03
[#19184] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — John Carter <john.carter@...> 2001/08/06

On Fri, 3 Aug 2001, David Alan Black wrote:

[#19185] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — David Alan Black <dblack@...> 2001/08/06

Hello --

[#19186] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — John Carter <john.carter@...> 2001/08/06

On Mon, 6 Aug 2001, David Alan Black wrote:

[#19125] My 1st look @ ruby: No prototypes and problem with String#gsub — stesch@... (Stefan Scholl)

My first ruby program:

23 messages 2001/08/04

[#19192] Some remarks from a nembie in Ruby — Renaud HEBERT <renaud.hebert@...>

After having read the book "Programming Ruby: The Pragmatic Programmer's

38 messages 2001/08/06

[#19269] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — ptkwt@...1.aracnet.com (Phil Tomson)

In article <72X97.12093$9i1.972452@e420r-atl1.usenetserver.com>,

50 messages 2001/08/07
[#19349] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — Mathieu Bouchard <matju@...> 2001/08/08

[#19456] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — Harry Ohlsen <harryo@...> 2001/08/09

Ned Konz wrote:

[#19451] Re: Help! I'm still confused about threadin g in the ML — "Morris, Chris" <chris.morris@...>

> Is there an Outlook option to turn on In-Reply-To or References

14 messages 2001/08/09
[#19453] Re: Help! I'm still confused about threadin g in the ML — Dave Thomas <Dave@...> 2001/08/09

"Morris, Chris" <chris.morris@snelling.com> writes:

[#19506] the way class variables work — David Alan Black <dblack@...>

Hello --

51 messages 2001/08/10
[#19511] Re: the way class variables work — Chris Uzdavinis <chris@...> 2001/08/11

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

[#19524] order and freedom in Ruby (was: Re: Re: the way class variables work) — David Alan Black <dblack@...> 2001/08/11

Hello --

[#19517] Why not?: Assigning to self — furufuru@... (Ryo Furue)

Hi there,

55 messages 2001/08/11
[#19689] Re: Why not?: Assigning to self — Ron Jeffries <ronjeffries@...> 2001/08/14

On 13 Aug 2001 20:59:54 -0700, furufuru@ccsr.u-tokyo.ac.jp (Ryo Furue)

[#19694] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 05:09 am, Ron Jeffries wrote:

[#19695] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19696] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 07:51 am, you wrote:

[#19697] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19700] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 08:27 am, you wrote:

[#19701] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19703] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 09:05 am, Guy Decoux wrote:

[#19704] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19708] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 09:27 am, you wrote:

[#19709] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19713] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 09:45 am, you wrote:

[#19750] Re: Why not?: Assigning to self — matz@... (Yukihiro Matsumoto) 2001/08/15

Hi,

[#19819] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/15

On Tuesday 14 August 2001 08:14 pm, matz wrote:

[#19852] Re: Why not?: Assigning to self — matz@... (Yukihiro Matsumoto) 2001/08/16

Hi,

[#19857] Re: Why not?: Assigning to self — "Florian G. Pflug" <fgp@...> 2001/08/16

On Thu, Aug 16, 2001 at 11:05:59AM +0900, Yukihiro Matsumoto wrote:

[#19858] Re: Why not?: Assigning to self — matz@... (Yukihiro Matsumoto) 2001/08/16

Hi,

[#19867] Re: Why not?: Assigning to self — "Pit Capitain" <pit@...> 2001/08/16

Just a followup at (my) current end of the thread:

[#19550] Forced garbage collection — Lars Christensen <larsch@...>

14 messages 2001/08/11
[#19562] Re: Forced garbage collection — "Nat Pryce" <nat.pryce@...13media.com> 2001/08/12

From: "Lars Christensen" <larsch@cs.auc.dk>

[#19551] /.ed again — Tobias Reif <tobiasreif@...>

Ruy gets slasdotted again ;)

19 messages 2001/08/11

[#19650] Ruby Newbie mailing list — Michael Pence <mikepence@...>

Hello all.

14 messages 2001/08/13
[#19656] RE: Ruby Newbie mailing list — "Louis Brothers" <lcb134@...> 2001/08/13

We had a similar discussion on the OmniWeb Objective-C mailing list not to

[#19659] Re: Ruby Newbie mailing list — Michael Pence <mikepence@...> 2001/08/13

I appreciate your references to Objectionable-C ;-)

[#19685] Compiling Ruby with cygwin and Tk support — Manuel Zabelt <ng@...>

Hello!

13 messages 2001/08/14

[#19718] General (GUI/license) questions — Ryan Tarpine <rtarpine@...>

First: Kero commented in the description of his new Ruby Agenda program

18 messages 2001/08/14

[#19755] "new" returning nil: how to report the failure of object creation — furufuru@... (Ryo Furue)

Hi there,

14 messages 2001/08/15

[#19758] The GUI poll is in, and the results are surprising — Dave Thomas <Dave@...>

40 messages 2001/08/15
[#19774] Re: The GUI poll is in, and the results are surprising — Lars Christensen <larsch@...> 2001/08/15

On Wed, 15 Aug 2001, Dave Thomas wrote:

[#19784] Re: The GUI poll is in, and the results aresurprising — "Lyle Johnson" <ljohnson@...> 2001/08/15

> Please don't forget what Ruby is all about in this discussion! I think

[#19824] Ruby GUI — "Hal E. Fulton" <hal9000@...>

The concept of a new GUI is somewhat appealing,

16 messages 2001/08/15

[#20033] Ruby Article — Joshua Drake <jd.nospam@...>

Hello,

38 messages 2001/08/20

[#20127] Another Possible RCR - Wrappers via Mixins — Stephen White <spwhite@...>

The main difference between mix-ins and multiple inheritence is (to my understanding) that parent classes do not call child code, but mix-ins do.

15 messages 2001/08/22

[#20135] Bruce Eckel's criticism of Ruby — Ned Konz <ned@...>

Python.org links to http://www.mindview.net/Etc/notes.html#Ruby , saying

24 messages 2001/08/22

[#20183] ++ Operator — kamphausen@... (SKa)

Dear Community,

35 messages 2001/08/23
[#20234] Re: ++ Operator — Dave Thomas <Dave@...> 2001/08/24

matz@ruby-lang.org (Yukihiro Matsumoto) writes:

[#20236] Re: ++ Operator — matz@... (Yukihiro Matsumoto) 2001/08/24

Hi,

[#20209] In Ruby 0 is true but nil is false.. or how to shoot yourself?.. — Guillaume Cottenceau <gc@...>

I have a simple Audio-CD database (using CSV format). I was writing a

11 messages 2001/08/23

[#20254] File.readline(s) — Michael Husmann <michael.husmann@...>

I am reading a 55MB ASCII file by using File.readline(s) which takes on

14 messages 2001/08/24

[#20303] New Windows InstallShield version of Ruby — Andrew Hunt <andy@...>

19 messages 2001/08/24

[#20307] Backwards language — "Sean Middleditch" <elanthis@...>

Greetings,

30 messages 2001/08/24

[ruby-talk:19192] Some remarks from a nembie in Ruby

From: Renaud HEBERT <renaud.hebert@...>
Date: 2001-08-06 08:24:47 UTC
List: ruby-talk #19192
After having read the book "Programming Ruby: The Pragmatic Programmer's
Guide" with an open mind (I hope), I took some notes about what I
like/dislike about the Ruby language.

I translated in English the notes on the things that I dislike, and I
submit here these notes hopping than it can generate some interesting
discussion (no flame war please).
Don't feel that I'm criticizing the language, I like it very much but I
thought that the things that "shocked me" could engender useful
discussion/thoughts.


1) Ruby's syntax seems a little complicated, it must give nightmares to
those who code text editors with color highlighting :-). It has many
different types of blocks delimiters: do .. end, { .. }. 
This added complexity has no obvious advantage in readability IMHO, and
is bad for vi as the "%" command only works with simple delimiters.
 
2) When you create an object, you use the new method which call the
constructor method called initialize.
Why the constructor is not simply named new ?

3) Minor nitpicking: The operator === isn't commutative that is to say
A===B isn't equivalent to B===A.
I find it bothersome, because "visually" it looks like a "superset" of
==.
Maybe naming the operator "in?" or "contain?" would have been better
IMHO...
OTOH, = is not commutative so...

4) To replace a single backslash with two, you need to write gsub(/\\/,
'\\\\\\\\')!! Ouch!

5) It is too bad that the book says that you should use the notation
obj.method and advise instead using the obj.method().. It was a very
good point of Eiffel, apparently the usage of obj.method can lead to
problems in some cases, maybe these problems are caused by the "dynamic"
nature of Ruby and can't be avoided, it would be nice if they could be
solved though.

6) I like the multiple affectation very much! But by default it drops
silently non-affected values, I find this quite dangerous.
I would prefer the following usage:
a,b = 1,2,3 --> Warning (or maybe error?).
a,b,.. = 1,2,3 --> dropping silently the 3. (The ",.." is just an
example here.)

7) I find the following discrepancy quite annoying/dangerous:
	print "toto" while false; # --> doesn't output anything
whereas
	begin
	  print "toto"
	end while false; --> outputs "toto"	

8) Between
	[ 1, 2, 3, 5 ].each {|val| print val, " " }
and
	foreach val in ([ 1, 2, 3, 5 ]) {print val, " " }
I find that the second is much more intuitive: It reads nearly as en
English sentence.
The first one is "pushed" quite heavily in the book, but isn't very
readable IMHO.

9) Another construct that could be improved IMHO: 0.step(12,3) ...

10) I'm wondering why Ruby  use the brain dead C/Unix convention that
010 == 8 ?
A much better construct would be 0o10 for octal and 010 == 10.
Maybe to avoid mistakes, a warning could be printed when there is a
number which starts with a 0,
this warning could be easily disabled of course.

11) I prefer elif instead of elsif ;-)

12) I like very well the way array index are used but I do not find the
meaning of a[5,2] as a[5..6] very natural. The way FORTRAN does it
a[5:2] is better IMHO.
It may cause a conflict with the "? :" operator, though.

13) About the ranges: I like having "closed" and "semi-open" ranges, but
I find that .. and ... are too easy to mistake one for the other.
Something closer to the mathematical notation would be nice.

14) The 0 and "" are evaluated as true !!
I'm not sure if it has any benefits but IMHO it must be quite easy to
make a mistake..
It would be much better to either :
	* evaluate them as false
	* not evaluate them as boolean at all.

15) I don't see the need for "&&" and "and" only for precedence reason..
I think that when expressions get complicated, one should use
parenthesis, otherwise it is just asking for troubles..
On the other hand, there may be a need for both "short-cut" and
"non-shortcut" logical operators (ADA has both).

16) If I understand well, mix-in are used to do the same thing as the
multiple inheritance, why not use the same multiple inheritance scheme
as Eiffel ?
It seems simpler to me.

17) the "automatic" declaration of local variables may be dangerous,
does the equivalent of Perl "use strict" exist? Same question with the
equivalent of "perl -w".

18) The command-line arguments of ruby are quite weird IMHO.

19) I would have preferred "%{variable}" instead of "#{variable}", as %
is already "special" for strings..
This way, the meaning of # would be simpler: It would only be used for
commentaries.

20) Reading a line in a file: Why gets or getlines return the line with
the end-of-line?
99% of the time, the first action will be chop! or chomp! to get rid of
the end-of-line, and it has to be done carefully in order to avoid
portability problems (an end-of-line is two character on Windows or
MacOS).
IMHO, it would have been much better if by default:
gets and getline return without the end-of-line and there are other
methods which returns the line with the end-of-line: get_full_line for
example.
 
 
21) The readability of "here documents" isn't very good. Instead of
aString = <<END_OF_STRING
   text
END_OF_STRING
something like
aString = <<DELIM
    text
DELIM>>
may be easier to read IMHO.


So here it is, I hope that maybe some points can be interesting.
Have a nice day.
-- 
Renaud Hebert
mailto:renaud.hebert@alcatel.fr

In This Thread

Prev Next