Skip to content

Python or Ruby?

I’ve really needed to get round to learning a powerful object oriented scripted or interpreted programming language to replace windows batch files (which I currently use) for a while now.  As Microsoft seems determined to gut their functionality with each new Windows release and I find myself wanting more functionality and power than batch scripts can provide.  So I have been looking for a high level scripted or interpreted language for platform independent scripting, rapid application prototype and generally messing about with at home.  Ideally the language is scripted or interpreted (so no compilation required), has a unit test harness available, ideally some form of IDE/debugger, some decent solid libraries (e.g, database, visualisation/graphing etc) and is object oriented.

I know I don’t want to use the following languages mostly for reasons of personal taste:

  • Perl as I can never remember it’s syntax and I can’t seem to read any script I’ve written in Perl after a week or so.
  • php as I already use it for web development (and like it a lot) but it does not really seam suitable for scripting or quick application development that is not running on a web server.
  • Java I’ve never gotten on with, but that was probably more to do with falling out with my Java lecturer at university.  Although I should probably revisit Java at some point as it seems very popular at the enterprise level.
  • I also want something not Microsoft specific, as much as I love C# I want something I can use easily on my Mac or Linux boxes at home without compiling.

So far I’ve narrowed it down to either Python or Ruby.  Originally I was going to learn Python as I like its use of white space for scoping, its wide range of libraries and maturity as a language.  However there seems to be a lot of buzz about Ruby these days, especially its Rails framework and all the buzz has piqued my interest.  Further investigation into Ruby has me now leaning towards learning it mostly for the trivial reason (as the languages are equally matched in my mind) that Ruby has the similar concept and syntax of public, protected and private for methods which is familiar to me as a C++ and C# programmer.

In fact I am more then leaning towards Ruby as I bought a copy of ‘The Ruby Programming Language‘ at lunchtime, mostly as it was getting good reviews online and because the original developer of Ruby was a co-author.  I always enjoyed Bjarne Stroustrup’s ‘The C++ Programming Language‘ book, getting the language creators view on their creation is always fascinating and provides valuable insights.

So expect to see more posts about Ruby as I work my way through the book and experiement.  I can even post code snippets with syntax highlighting thanks to the Google Syntax Highlighter in the form of a handy plug-in for Wordpress!

One Comment

  1. Both Python and Ruby are great languages, I think you would be hard pressed to go wrong learning either one.

    I’m also a little biased toward Ruby myself, right now, since I do most of my work in it. A great language.

    Monday, November 10, 2008 at 17:01 | Permalink

One Trackback/Pingback

  1. Ruby or Python: Round Two! at Endlessly Curious on Friday, November 14, 2008 at 01:07

    [...] in my post about web development frameworks, I mentioned I would be revisiting my previous post on whether to learn Python or Ruby.  So this post is a continuation of that earlier discussion.  [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*