From: Ryan Leavengood Date: 2001-10-27T03:43:28+09:00 Subject: [ruby-talk:23487] Re: Issues with white space [was Re: Bruce Eckel's opinion of Ruby] Lexer and parser idiosyncrasies is one of the last reasons I would ever use in choosing a programming language. But it is nice that Python does it as you would expect. Regarding the whole Python vs Ruby thread I might as well throw in my opinion. I learned of Python years ago when I was doing Java servlet work. I thought it was quite neat in the beginning but never really got around to learning it really well. I used Jython (back when it was called JPython) quite a bit to test my Java classes (before I learned about JUnit and unit testing.) Besides using Jython I didn't do much with Python. But I could definitely see how certain things were easier to do in Python than Java and that did have a certain appeal. Then in about January of this year a friend forwarded me an email he had gotten from a book seller web site mentioning a book on a programming language called Ruby. He knew that I had an interest in learning new programming languages and that I might find this Ruby thing interesting. Boy was he right. I went to www.ruby-lang.org and explored the tutorials and FAQ to try and get a feel for what the language was about. Certain new concepts, like blocks and iterators, were a little strange at first, but also quite mesmerizing in their power. But it wasn't until I started reading the Programming Ruby book that I really started to fall in love with Ruby (and yes programming languages can be an emotional issue.) I'm sure I've mentioned this before, but I really think the passion that Dave and Andy have for Ruby shows in the book and spreads to its readers. It certainly spread to me. And oddly enough, having only one English Ruby book was actually a positive thing for me. There was no need to spend time doing research trying to find the best English Ruby book, there was only one. I was able to gauge its quality by actually reading it first online, which then prompted me to buy it and also The Pragmatic Programmer since I could see that these guys were quality authors. I now carry both with me all the time. But I digress since Dave and Andy's heads are probably getting too big to handle at this point ;) Also for me at least, the fact that Ruby is fairly new is a good thing. It means that a young unknown programmer like me can actually make a contribution that makes a difference. In the world of Perl or Python I feel like I'd be just another brick in the wall (but that could be a misconception since I haven't spent much time in those communities.) Speaking of communities, I must also mention that the Ruby community is a fantastic one. Just reading Bruce Eckel's opinion of Ruby has caused me to never ever want to touch Python again. I've also heard (possibly incorrectly) that Guido also insults Ruby. When leaders of a community act like children in a schoolyard ("No!! Your Digimon backpack is nothing compared to my Pokemon Gym Bag!!!"), I have no respect for that community. Also at my work we (unfortunately) use Python for a few scripts here and there and despite previous emails saying Python was quite maintainable those scripts are quite a buggy mess. But that may be more the programmer's fault than the language. But it just goes to show that any language can be written badly no matter what lengths its designers go to avoid that. I also hate the significant white-space in Python, but that is just my opinion. Well I think I've rambled on enough. Sorry for the long post, but I've been "read-only" on ruby-talk for some time now, so I have a lot to say :) Ryan Leavengood > -----Original Message----- > From: Paul Prescod [mailto:paul@prescod.net] > Sent: Friday, October 26, 2001 2:05 PM > To: ruby-talk ML > Subject: [ruby-talk:23484] Re: Issues with white space [was Re: Bruce > Eckel's opinion of Ruby] > > "Raja S." wrote: > > > >... Unlike Python, Ruby has some ability to automatically detect when an > > expression is spanning multiple lines: > > Well, since you mentioned Python... > > Python also automatically detects, but in different situations. > > > 1 + 2 + # sees a plus and correctly assumes the expression > is > > 3 => 6 # not yet over; smart parsing ! no need for > explicit > > # continuation > > >>> print (8 + > ... 20)/2 > 14 > > The parens are a very explicit way of saying that an expression is not > over. > > > 1 + 2 # presumes the expression is over > > + 3 # this is an entirely different line of code > > Ruby's behaviour confuses even Ruby programmers like Johann, SER and > you. The behaviour they expected is precisely the Python behaviour. > > Paul Prescod