The Case For Python

by Caleb Tennis

Aaron Seigo, a noted developer for the KDE project, recently blogged about a case for python. The gist is that he feels that python is a suitable language for people to just get into (think VBScript).

This lead to a couple of responses from other KDE developers on the merits of Ruby.

Which came back to Aaron and his response that he in fact hearts Ruby too, though he thinks it doesn't have the same selling power as python to the VB crowd.

Aaron's point (at least as I understand it) is that he thinks that the open source desktop communities should try and center around one main scripting language to support, and he think that python has the gravitas to be that language. He even states the case that he prefers Ruby and would personally like to use it instead.

While I think Aaron's python stoicism is well intentioned, it doesn't seem necessary. If the history of the open source desktop shows us anything, it's that that having multiple choices seems to be way preferred way of business. Look at the Ubuntu project, which targeted creating a Linux distribution that set everything up for the end user in one certain way. Oh, there were choices, but the default system was predefined so as to make it quote-unquote-easier for the end user.

For Ubuntu, the preferred desktop was Gnome. It wasn't long after that Kubuntu was released - a KDE based Ubuntu distribution.

The point is that if the desktop communities unite around python, it won't take long for a group of rubyists to create a project that does the same thing. Similarly, if the desktop communities unite around ruby, a python project will most likely get started.

The KDE and Gnome projects are already used to this. They have a combined goal, but competing methodologies.

In the language issue, you should just choose whatever works best for you. After all, you've already done the same for your desktop.






7 Comments


2006-05-02 08:57:22
Choice is good. I personally would like to see the Ruby community rally around something other than rails. IMO, Python seems to have a much more diverse user base, and hence a great deal of applications and libraries outside the web application domain. I would like to see Ruby similarly well-rounded -- but unfortunately, I suspect that many (perhaps most) people come to Ruby because they want to do Rails and not some of they many other cool things that are possible and would require a similary diverse base such as with Python.

2006-05-03 08:34:55
I agree...I've been using Ruby to script administration tasks for Windows and Linux for the last couple of months and it's been working great.


It just feels easier to learn Ruby, for me anyway, then it is to learn Perl or Python. There's a ton of great documentation out there, but Ruby just feels more forgiving for a complete noob anyway. Also, it seems infinetely more powerful than VBScript for Windows tasks.


My 2 cents anyway.

grumpY!
2006-05-04 14:44:26
who is the "they" that imposes one language on "us"? and who is "us"? the open source ecosystem replaces the old-market acyclic directed graph of vendor->user with a crazy tangle of vendors who are users, users who are vendors, etc.


bindings, libraries, etc will emerge as people want them to emerge, not when some master plan says so. look at .net, look at java...has the centrally-planned toolkit created any more harmony or created any real consolidation????

grumpY!
2006-05-04 14:46:55
by the way, i still hold out hope for the parrot project to put a foundation under all of these languages. it really shouldn't matter what syntax you prefer, if the VM is defined properly (and it appears parrot is), then code from python, ruby, perl etc should be able to comingle. this may be the ultimate conclusion to the tool wars....
Simon Hibbs
2006-05-05 09:26:18
I've used Python to write text munging scripts, wxPython desktop utilities, to script Excel through COM, even to write a simple Windows background service. I'm currently playign with PyGame. How many other languages offer that kind of flexibility? I'm currently rewriting a (reasonably clear and well commented) VB program in Python and it's far more readable in Python. It's even properly indented because, well, it has to be ;)
M. David Peterson
2006-05-08 19:06:09
Very good post! (and point :)


Diversity is the only thing hackers will ever settle on, so it simply makes no sense to make ANY attempt at trying to rally around anything other than personal choice.


That said, I think Python is a FANTASTIC choice.


For me. (and a lot of other folks, but a lot of other folks like language X, Y, Z, etc...


NOTE: Whoever believes in earnest that it would even be possible to start such a "revolution" amongst the hacking communities needs to spend MORE time around hackers, and less time in marketing meetings scheming up ways to make money off of the hacking communities.


The term herding cats is a term for a reason.

Simon Hibbs
2006-05-11 08:06:50
Herding cats is right.


The real shame is that people have to make such a choice. I'd love to have the option to write GUI apps in wxRuby. I think an SDI based RubyGame would be interesting. The trouble is that if such libraries did bcome available it would increase choice, but also increase fragmentation. Any sample apps or libraries for PyGame wouldn't be usable from a RubyGame and vice versa.


The nearest thing to an interoperability standard to solve this problem is COM and COM+, which is essentialy windows only despite (as I understand it) rudimentary Unix implementations. Even environments like the JVM, Mono and Parrot doen't realy solve the general problem. They just create bigger boxes of stuff that still don't interoperate with other boxes of stuff.