Hi,

Yes, I now recall that the indentation-based syntax sometimes could really
get in the way, and when I just wanted to temporarily comment-out a
section of code, I had to reindent the whole section; it was indeed a
pain.  On the other hand, for some reason, my eyes prefer to see Python's
format to Ruby's format (at least usually the Python block is one line
shorter and if we don't use a blank line, that is two lines shorter).  But
overall, taking also into account Matz's reasons regarding the
indentation, if I am to design my own language, probably I will also stick
to the Ruby format :) .

Which brings us to the second point.  Perl was kind of a
"maximalist" language; there are almost always more than one way to do
something.  Python claimed to be a "minimalist" language.  When I switched
from Perl to Python, it really felt like a breeze, because everything was
in order.  Therefore, when I switched from Python to Ruby, I felt it was
like a step backward in this regard.  I don't mind that a language
provides many constructs/methods as long as each one has different purpose
and/or has different performance.  Otherwise, I think it will become more
burden to the programmer.  Does anybody know why Ruby didn't aim to be a
"minimalist" language?

(For example, both "if" and "unless" are given instead of just "if"; I
haved used both regularly, but still I cannot avoid having "!" from time
to time, in which case probably then only "if" is sufficient.  Also both
"!" and "not" are given, and further they have different precedence; I
think even in Perl they are just synonymous; I think it is probably better
to simply use parentheses whenever precedence is in doubt instead of
relying on the precedence table, just like many programming books say.)

Regards,

Bill
============================================================================
Peter Hickman <peter / semantico.com> wrote:
> William Djaja Tjokroaminata wrote:

>>
>>    1) Indentation-based syntax
>>

> I've used Python and although I soon got used to this I had a major 
> problem. I indent my code as I'm developing but I put the debug code 
> hard on the left margin. This makes inserting a print statement or 
> whatever easy and detecting it when it requires removal is also easy. 
> However Python required my debug code the indent correctly and therefore 
> my debug code 'disappears' into the body of the code. Adding comments to 
> mark the code starts to become a real chore. What was 5 print statements 
> ends up as 15 lines added to the code.

> An editor macro helps but the 'paperwork' starts to build up and bulk 
> out the code. At this point the language is starting to get in my way.

>>
>>    2) "There is only one way to do it"
>>
> 1) Makes code maintenance nice and easy
> 2) It had better be a sensible 'way to do it' (Think Java classes v.s. 
> Ruby classes)