It seems whenever I bring up the subject of Python people get their emotions in a basket and clearly demark themselves as pro or against. I’m not immune to this as I have defended Python for many reasons. Its merits aside, promoting it has little to do with Python itself but with the adoption of higher level languages to enable a broader group of hackers contributing to GNOME.

I could sit pretty knowing that Red Hat, Canonical, Fluendo and other GNOME centric companies all support Python as a way of writing apps. Hell, even GNOME has somewhat sanctioned it saying there is no objection for Python apps being included in the core provided they meet all the criteria for such a placement.

I don’t sit pretty because there still is a culture of conservatism within the community that I believe holds back contributions. I believe encouraging higher level languages may bring a lot of weekend programmers to the mix, but that is what we want. We want to encourage people to learn, to play with our bits and eventually churn out quality software. Erecting a C barrier to entry just turns those developers away and we never get a chance to see what talents might have emerged.

I want to address a couple of comments to my previous blog (you can go there to see who wrote them):

I for my own believe that it’s better to have one language being used throughly inside GNOME rather than 5 different ones.

And when all you have is a hammer… Why does a user care what language was used? How many apps in the desktop does one put their hands into anyway that they care if there are multiple languages being used? I have my hands in many of the applications on the desktop and I personally care more about API’s and build systems than the languages used. Most languages are dialects anyway. There are only so many ways one can write a for loop or an if statement.

Python is by far to overhyped and it’s getting much more attention than neccesary. Rewriting apps in python offers yet again a solution for a problem that doesn’t exist.

Overhyped how? I think that is a knee jerk reaction. It is just another tool in the toolbox and has been used to great effect by many people. I’m not suggesting rewriting GNOME in Python. The new EoG maintainer blogged about rewritting the EoG shell in Python. I offered encouragement (and mostly a counterpoint to naysayers) as I believe it is a great experiment. If it falls short of solving any real issues GNOME can go along with the older versions of EoG. Lets not discourage people from trying new things just for the sake of trying new thing. You never know where it will lead (a.k.a. stop being a back seat programmer).

This is a big mistake. Check torrent clients for the best example. None of based Python, Java or any higher level language of torrent clients have manage to get low overhead, use less CPU and RAM. Any C/C++ based of torrent clients have whoops on based Python and other higher level language very far in no question.

I have to note that the first bittorrent client was written in Python. Python allowed the author to actually create bittorent. Without it it may have never been created. So what is better? A slightly more resource hungry application that is useful or no application at all?

And that is my point. All those programmers around the world who have great ideas, we don’t want to tell them it is C or nothing. It is better to have an app then have it never been created? We can always go back and fix things or rewrite portions in another language. The important part is not the language but the idea and implementing that idea. Where would Anaconda, Flumotion, PiTiVi or even Google be without Python?

That is why I push Python.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]