Paul Van Delst
11/21/2007 4:37:00 PM
deltaquattro wrote:
> Hi,
>
> I'm a Fortran scientific programmer, and recently I have had to write
> a lot of shell scripts which let different codes communicate by means
> of I/O files. Right now I'm using awk and (to a lesser extent) perl to
> do this. However, I'd like to learn a newer scripting language and at
> the same time learn OOP, so I'm choosing between Python and Ruby. The
> applications I have in mind are:
>
> 1) (easy) automatic I/O files manipulation. Calculations, comparisons,
> etc. among values contained in tables, and correspondent modfication
> of the table entries;
> 2) (less easy) semi-automatic generation of graph, images, report,
> etc., based on data in huge binary files (O(Gb));
> 3) (hard) create GUIs for scientifc codes, which could enable
> unexperienced users to run the codes;
>
> Which are the main differences between Ruby and Python? Which is
> easier to learn? I've seen a lot of numerical libraries/extensions for
> Python: does Ruby also support scientific programming? Thanks,
Hello,
I use ruby to glue together a great deal of my Fortran executables. More importantly for
me, I also use ruby to generate a lot of boilerplate Fortran code. I've never used ruby
for graphing or GUIs since I have a large IDL library for the former (although the tioga
link is intriguing), and I'm not too interested in the latter (for my work stuff at least.
"Users? What users?" :o).
I started stone cold comparing Ruby and Python a couple years ago to teach myself about
OOP (in preparation for Fortran2003 compilers [still waiting!] that have OO-capabilities)
and settled on ruby because its basic technical premise is easy for me to grok:
"everything is an object". And Yukihiro Matsumoto's words in the Foreword to the "Pickaxe"
book made up my mind: "I believe that the purpose of life is, at least in part, to be
happy. Based on this belief, Ruby is designed to make programming not only easy but also fun."
Crikey. How can you argue with that?! :o)
cheers,
paulv
p.s. I'm sure this is true of other popular scripting languages but, being primarily a
Fortran95 coder, I am constantly amazed at the speed and quality of innovation in the ruby
community. It may be because I'm used to the glacial pace of Fortran language standard
updates, but it's amazing nonetheless.