Python is a relatively new programming language. It can be thought of an extension of Perl. Essentially Python is an interpreter. In my current position as a Cloud Architect at Internap, I have been exclusively using it on the OpenStack project.
Though I am not an expert in Python (been using it for less than a year), I am an accomplished programmer in other languages like C. With this experience I bring a different viewpoint to the Python discussion. As a Python newbie, I understand that it has a different perspective than C. I am not opposed to change. I am not stuck in the past. I embrace the rapid progress in the computer engineering community.
Python seems to be the new hot kid on the block, and here’s my opinion about it’s strengths:
Python’s Strengths
1. INTERPRETER
It’s an interpreter; you don’t have to pre-compile your program. It is thus interactive. So in theory, a Python program that works on a given system should work on any other system.
2. OPEN SOURCE & PYTHON
A lot of newer Open Source code is written in Python. By that I mean it is in wide use. Thus the engineering community is focused on its use. This should result in Python becoming refined over time.
3. DO YOU HAVE STANDARDS?
There is a serious effort put into standardization. Excellent examples are Pep8 and Pylint.
4. DOCUMENTATION
There’s a wonderful document generator called Sphinx that is similar to Doxygen. I am a big fan of using Doxygen in my C programs. The basic idea of Sphinx is that the program comments should be good enough to generate proper design documents. This means Python functions need to have comments (surrounded by “””). Such comments are in fact required by pylint.
5. DATA TYPES
It supports high level data types like lists, dictionaries, and tuples. This makes it much easier to design data structures.
For those Python experts out there, what strengths have you experienced? I invite you to share your thoughts about my analysis.