Why I like Python

No, that’s not a kind of snake. Python is a programming language.

I don’t do too much programming nowadays, but when I do, Python is my programming language of choice.

I like Python for several reasons:

  • It is object-oriented, which means you can work with an abstract data type that combines data and methods in a single object. Objects foster reusability.
  • It has built in code testing facilities, which makes catching new errors easier when you modify code
  • Because it uses words instead of cryptic symbols, it is essentially self-documenting. Code that I wrote several months ago still make sense when I read them today.
  • By using indentation as part of the language to indicate program structure, it cleans up the code significantly. There is no need for curly braces or keywords like end, endif, endwhile, and other clutter.
  • Python has very good facilities for lists, tables, arrays, dictionaries, file I/O and other data structures, which can be combined to create more complex objects.
  • I probably could have used Ruby as well, but Python seemed to suit me better.

I used Python to implement the online SMS-based reporting system Halalang Marangal used in the 2007 national elections. The system was implemented in Linux/GNU with MySQL and a small but very fast Web server called FAPWS (fast asynchronous python web server), which was also written in Python. Gnokii took care of the cellphone/SMS interface. Python made it easy to put the different systems together. The whole thing was easy to maintain and quite fast too.

Python is really good.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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: