Is Python the solution?

Before I got involved in the Ubuntu community I was briefly involved in the Fedora Infrastructure. Most of the tools they used were written in Python. When I got more involved in the Ubuntu community I noticed that Python was used a lot there too. I’m curious why two major Linux distributions choose to use Python so intensively. During my Fedora time I noticed many Python related activities weren’t being picked up and I asked the following on the Fedora mail list:

Just out of curiosity but why are our webapps written in Python and not in Perl for example?

I have a feeling there is more Perl knowledge among infrastructure specialists as there is Python.

The reply was simple, somebody started in Python a while back and Python was structured and when using Perl it’s very easy to create unreadable code.

I don’t agree that Python won’t lead to unreadable code as well. Now I don’t know Python but I know several other programming languages. I’ve been programming for over 25 years and have seen my share of good code and absolute garbage and it didn’t matter what language was used. I truly believe the difference between good code and garbage is the programmer, not the programming language. Sure certain programming languages can help in setting up a good structure and therefor it should make it a little bit easier to write readable code. I used to program in Cobol and I can say that was one programming language with lots of rules and structure. It sure helped but I had coworkers who’s code was horrible to debug or near impossible to extend.

Again, I don’t know Python, I have seen some programs and that’s it, so I don’t know how easy it is to write good code or make it completely unreadable. I will be teaching myself Python over the next few months as I would love to help out with some of the Python issues I see in the Ubuntu community as well. Maybe I even start a new blog series: “Teaching myself Python”. I don’t know how big the learning curve is but I’ll give it a shot.