Ruby Impressions
Phil Tomson
ptkwt at shell1.aracnet.com
Fri Jan 11 03:21:06 EST 2002
OK, you asked for a follow up on your 7 items as they relate to Ruby...
In article <f3baf765.0201100904.2049cd96 at posting.google.com>,
IB <borovik at hotmail.com> wrote:
>Hello, Paul:
>
>Just a thought here...
>
>I am new to Python too and before diving into it I spent some time
>researching what language would satisfy the following:
>
>1. Must be free open source
Ruby is free open source (under GPL and a loosened GPL)
>
>2. Must be true multiplatform with ports to Windows, Linux and MacOS.
>
Ruby runs on Windows, Linux and MacOS including OSX (BTW: there are some
nice Cocoa bindings for Ruby now - very nice for scripting OSX apps)
>3. Must have same or comparable to Perl's number of packages covering
>GUI, databases, expert systems, numerical programming, web, TCP/IP and
>graphics programming. The main packages must be updated on a regular
>basis for new versions of the language and must have ports to all of
>those major platforms.
Ruby doesn't have as many packages (modules) as Perl does ... we're
working on it.
>
>4. Must be easily extendable and imbeddable. (Then it must have a good
>selection of books on it. Otherwise you have to supply general
>documentation on the language with every application where you imbed
>it.)
>
Extensions: It is very easy to extend Ruby with C (and it even works with
the Garbage collection :)
Embedability: While I've written Ruby C extensions, I have not embedded
Ruby in another application - though I'm told it's quite easy.
Books:
There are currently four English language books on Ruby (I'm told that
there are something like 15 in Japanese!):
*"Programming Ruby: The Pragmatic Programmer's Guide" by Dave Thomas and
Andrew Hunt (full text available online at:
http://rubycentral.com/book/index.html ) A great intro and reference to
the language.
*"Ruby in a Nutshell" by Yukihiro Matsumoto (Ruby's creator) from O'Reilly
a good reference
* "The Ruby Way" by Hal Fulton - covers a lot of advanced topics
* "The Ruby Developer's Guide" by Michael Neuman and Robert Feldt (will be
available in early February 2002)
>5. Applications must be rather easy to distribute.
How do you define 'easy to distribute'? Actually, the RubyGems project is
addressing this.
>
>6. Must support OOP with possibility to mix it with functional
>programming.
>
Ruby is very a very OO language, comparable to SmallTalk. It also
supports some functional programming styles.
>7. Preferrably clean and clear syntax.
>
Seems to be a matter of opinion - I certainly find Ruby to be clean and
clear.
>The best two candidates were Perl and Python.
Perl doesn't make it in the 'clean and clear' department, nor does it
support OO well (well, you can do OO in Perl, but what a pain!)
>Python won by the last
>item - its syntax. (Actually, I had another item on the list - the
>language should be rather common to 3D graphics community. I believe
>Python is unsurpassed here. Just to name few examples - Blender,
>PoserPro and trueSpace use Python. VTK has bindings for Python.)
>
>I have not look into Ruby, though. I thought it is just Yet Another
>Programming Language. It would be interesting to see how items 1-7
>apply to Ruby and see how Ruby does in comparison to Python and Perl.
>I would appreciate if someone will continue the thread with a follow
>up on this.
I programmed in Perl for about seven years, did some OO perl. Like the
originator of the thread, I really used to like Perl, that is until I
started to do OO programming in Perl, then I started having my doubts. I
tried Python for a few days about a year and a half ago - I really
intended to move to Python then(even bought the "Learning Python" and
"Python Essential Reference" books) - but after a few days it just didn't
seem to 'click' with me (OK, I'll say it at risk of great flame danger in
this ng: I didn't like that indentation thing and I didn't like all of
those __*__ method names ;-) and I went back to Perl. Then about a year
ago Dr. Dobb's ran an article on Ruby. As I read through the article I
thought it looked kind of cool, but it was the part about Ruby's
Distributed Object system, dRuby that really convinced me to download it
and try it out - I really needed a Distributed Object system for a project
I was doing at work and dRuby was a great fit. Anyway, to make this
short, dRuby convinced me to try Ruby, but the more I programmed in Ruby
the more I really liked it - it just seems to 'make sense'.
Phil
More information about the Python-list
mailing list