The Accidental Rubyist

invalid byte sequence in UTF-8

Ruby versus Python versus …

with one comment

It’s been some years since I got off the Java bandwagon. I spent many years on it. and after getting off, it feels like I was in a concentration camp for many years. Strangely, I loved it then. But the freedom from drudgery, great to begin wit,h has left me hanging in mid-air for these four years.

Four years after being seduced by Ruby, I find it is still “getting there”. Many many things are still not present in Ruby, and the status is still the same. I tried Python back then and left it since the syntax seemed awful – all the “self” stuff, no private members — I had had enough of ugly code in Java to like the double underscores, and then the indentation is the block thing.

However, even in 2004. python already implemented a whole lotta stuff. Ruby is fine but not for corporate use, or if you have work to get done with deadlines. I cannot discover in the middle of a program that something has not been implemented in Ruby although there are clearly some classes and methods in the API. I can;t suddenly find that SMTP auth or Unicode etc is not there, or async io, and 4 years later the position on most things is the same. I goto ncurses and I am not so sure – python gives me more confidence. I look at GUI toolkits, wxRuby is almost there, but the developer doesn’t have time yet. Use FxRuby for the moment, and WHEN wxRuby is ready, migrate to that.

That was the great thing about Java. Vendor adoption (due to overhype) was great. There was just Swing, just jdbc, and all efforts were put into one thing to get it to work. No scratching your head to figure out what to use. So today, once again I am wondering whether I should just cut the Ruby hype crap and go to Python. Everything works. Everything is there.

I did find some funny things, though. Lists dont have a join method! You would say “,”.join(list) rather than list.join(“,”). There are many things that are strange in python and ruby coming from Java. I love many ruby features (block_given?) — wow !!! I hope python has all that.

Or maybe I will work on both, and keep getting confused while mangling data structures.

For web, I am thinking it is best to just do something called php. Dump your code on any server and it will work. Add to that most of the apps in high usage including wordpress, wikipedia, phpBB and many many bloggers, CMS’s etc are all in PHP. I can pick some open source software and build over that. Or use some framework.

Youtube and google seem to use python. Python never got the huge hype that ROR got, but still everything already works there. I just wrote an interesting command line app in ruby. I would like to put that up on some site. The only choices I can think of are javascript and php. Both of them I don’t know. Perhaps, i will rewrite it in php and put it up for the public to use. More on that later. I need to see how to upload files onto this blog along with a post, preferably. I hate posting them elsewhere and then linking back here.


Written by totalrecall

August 22, 2008 at 11:20 am

Posted in being_geeky, life, php, python, ruby

Tagged with

One Response

Subscribe to comments with RSS.

  1. Well, I will be one data point: Yes, move to python.
    As to your syntax issues: Python is the *only* language I know where its syntax was explicitly taken into account during its design. Read a bit of its history. Guido has significant experience with language usability. TCL, Perl, Ruby, Java, etc at best can proclaim that they are better than earlier languages but none were ever explicitly design/developed with readability, understandability and maintainability in mind. (AFAIK)

    Quentin Crain

    August 22, 2008 at 8:38 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: