Waffling between Python and Ruby

Warren Postma embed at NOSPAM.geocities.com
Wed Jun 14 11:56:13 EDT 2000


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





More information about the Python-list mailing list