Finally, to place it in the context of what you may already know, people sometimes compare Python to languages such as Perl, Tcl, and Java. This section summarizes common consensus in this department.
I want to note up front that I’m not a fan of winning by disparaging the competition—it doesn’t work in the long run, and that’s not the goal here. Moreover, this is not a zero sum game—most programmers will use many languages over their careers. Nevertheless, programming tools present choices and tradeoffs that merit consideration. After all, if Python didn’t offer something over its alternatives, it would never have been used in the first place.
We talked about performance tradeoffs earlier, so here we’ll focus on functionality. While other languages are also useful tools to know and use, many people find that Python:
Is more powerful than Tcl. Python’s strong support for “programming in the large” makes it applicable to the development of larger systems, and its library of application tools is broader.
Is more readable than Perl. Python has a clear syntax and a simple, coherent design. This in turn makes Python more reusable and maintainable, and helps reduce program bugs.
Is simpler and easier to use than Java and C#. Python is a scripting language, but Java and C# both inherit much of the complexity and syntax of larger OOP systems languages like C++.
Is simpler and easier to use than C++. Python code is simpler than the equivalent C++ and often one-third to one-fifth as large, though as a scripting language, Python sometimes serves different roles.
Is simpler and higher-level than C. Python’s detachment from underlying hardware architecture makes code less complex, better structured, and more approachable than C, C++’s progenitor.
Is more powerful, general-purpose, and cross-platform than Visual Basic. Python is a richer language that is used more widely, and its open source nature means it is not controlled by a single company.
Is more readable and general-purpose than PHP. Python is used to construct websites too, but it is also applied to nearly every other computer domain, from robotics to movie animation and gaming.
Is more powerful and general-purpose than JavaScript. Python has a larger toolset, and is not as tightly bound to web development. It’s also used for scientific modeling, instrumentation, and more.
Is more readable and established than Ruby. Python syntax is less cluttered, especially in nontrivial code, and its OOP is fully optional for users and projects to which it may not apply.
Is more mature and broadly focused than Lua. Python’s larger feature set and more extensive library support give it a wider scope than Lua, an embedded “glue” language like Tcl.
Is less esoteric than Smalltalk, Lisp, and Prolog. Python has the dynamic flavor of languages like these, but also has a traditional syntax accessible to both developers and end users of customizable systems.
Especially for programs that do more than scan text files, and that might have to be read in the future by others (or by you!), many people find that Python fits the bill better than any other scripting or programming language available today. Furthermore, unless your application requires peak performance, Python is often a viable alternative to systems development languages such as C, C++, and Java: Python code can often achieve the same goals, but will be much less difficult to write, debug, and maintain.
Of course, your author has been a card-carrying Python evangelist since 1992, so take these comments as you may (and other languages’ advocates’ mileage may vary arbitrarily). They do, however, reflect the common experience of many developers who have taken time to explore what Python has to offer.