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)