From: Warren Postma Date: 2000-06-14T11:56:13-04:00 Subject: [ruby-talk:03407] Waffling between Python and Ruby I was looking at the Ruby editor/IDE for windows and was disappointed with RubyWin, although it is definitely coming along. I noticed the smalltalk like immediate mode (Type code, hit ctrl-J, results inserted into the buffer) but did not see any debugging features. Are such features (debugging, syntax highlight) in the works for this? Is there going to be a cross-platform gui other than Tcl/TK for Ruby? I love Python and I love the wxPython effort, but I also like a few things about Ruby better than python. They are: Chief Irritants In Python: 1. After using Python seriously for 6 months, I must confess I still dislike the "whitespace as syntax". I like the fact that Ruby uses block markers (begin, end) instead of tabs. This means cheifly to me that I don't need to worry about how my editor handles tabs and spaces. Having something look correct on the screen, but not work because of misuse of tabs versus spaces, or incorrect indentation, is something that still continues to bug me. 2. Python uses ":" to introduce a new scope, something I find extraneous, and more irritating than begin/end or Ruby's def and end for functions, for example. 3. Python is much slower than Ruby, in my informal tests. So here are the things I'm still wondering, and perhaps there is a "Python to Ruby FAQ" somewhere to answer it: 1. What is the Ruby equivalent of Python's ability to import a module and view its contents through code: import somemodule print dir(somemodule) 2. What is the Ruby equivalent of eval, and exec? 3. Is there a decent Language Reference guide similar to Pythons? 4. Is there a reference guide to writing extensions in C for Ruby similar to Pythons? I am by no means going to abandon Python, as it is more mature, it solves many problems, and Python has extremely advanced Windows integration (the windows extensions give more COM and DCOM and WinAPI functionality than Ruby) and a more thorough set of GUI toolkits, and a better set of database toolkits, and I can live with the whitespace-as-syntax as long as I have the right kind of editor. Python is truly a joy to work with. However, I forsee room for both Python and Ruby in my repertoire in the future, and I see that Ruby will be a success as both a scripting and an application development language. You want a killer Ruby feature? I suggest static typing and a Ruby to C converter that accelerates 2x or more over ruby. Ruby is a great language. If I had to make it even, by criticizing something in Ruby, it would be that I am not sold on some of the Perl idioms ($_ anyone? Blech). But I like Ruby's syntax, and I don't have to use the perl headspace if I don't want to. :-) Warren