Where is Python language used?
With a few exceptions, Python is used pretty much wherever a programmer who knows Python wants to focus on solving a problem instead of struggling with implementation details. You'll find it in games, web applications, network servers, scientific computing, media tools, application scripting, etc. (There's a somewhat old list of some organizations that use it here.) People who know it well tend to love it because it strikes a very rare balance of conciseness and clarity, and (perhaps to a lesser extent) because it has a rich set of useful libraries.
Some places where Python isn't used as much:
- Web browser scripts (because browsers implement JavaScript, not Python, though there are ways around that)
- Large GUI applications (perhaps because good GUI bindings are relatively new)
- Graphics engines (for performance reasons, but note that Python is sometimes used for the controlling logic that makes use of a graphics engine)
- Small embedded devices (although some folks have had success with compact, stripped-down and special-purpose implementations of Python, and we're starting to see python tools for building applications on smart phones and tablets.)
All the languages you've mentioned are Turing Complete, so in theory there is nothing one can do and another can't. In practice of course, there are differences, especially in productivity and efficiency. Compared to C, C++ and Java, which are static typed, Python is a dynamic language and can help you write the same code in significantly fewer lines. Python has a moto "batteries included", which means that the standard library offers all the things needed to build a complex application. Other languages would need external libraries for this. On top of this, since Python is an old and mature language (older than Java), many external libraries (for game development and scientific calculations just to mention a few) have been evolved. So Python can be used to program desktop applications and in fact in some cases more efficiently than other traditional languages.
Python is also a scripting language. This means that you can easily and quickly write scripts and simple tests with it.
More recently python is also used for web frameworks. Since there is a big code base and many python programmers, this was a logical thing to do. These web frameworks follow the practice mainly introduced by Ruby on Rails.
Python started as a scripting language for Linux like Perl but less cryptic. Now it is used for both web and desktop applications and is available on Windows too. Desktop GUI APIs like GTK have their Python implementations and Python based web frameworks like Django are preferred by many over PHP et al. for web applications.
And by the way,
- What can you do with PHP that you can't do with ASP or JSP?
- What can you do with Java that you can't do with C++?