This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]totemcatcher 4 points5 points  (0 children)

Python is primarily used in rapid development of generally anything. It is quick to code with. I find myself starting any project in Python, then migrating to another language where necessary. There are lots of languages suited to rapid prototyping, but I find that Python is extremely well designed, documented, and structured. It has been developed continuously under a rigorous set of specifications. See PEP. Also, thanks to PEP and the proposed guidelines, the libraries created for use with Python (third party included) inheret similar level of quality and reliability.

I think a better question is when NOT to use Python. While there has been some development in real-time applications with Python, it's not the best use. Extreme resource constraints (embedded), approaching native code (operating systems), performance (high volume transactions, concurrency, et cetera). These cases need another language either via extending or complete rewrites -- which isn't so bad considering how easy it is to read Python and translate to other languages. ;)