Computerworld - Among the languages favored by Web developers and innovators, particularly those in the open-source community, three of the most popular are the alliterative Perl, PHP and Python.
Previous QuickStudies in Computerworld have covered Perl and PHP , but thus far we've neglected Python, which is emerging as a powerful alternative to the more traditional choices.
Python is attractive because of its ease of use; its high level of abstraction from the hardware; its extensive support for housekeeping activities such as I/O, memory management, data typing and variable binding; and, perhaps most important, the fact that programmers can be highly productive with the language.
Python was created in the late 1980s by Dutch programmer Guido van Rossum and was named after the BBC television comedy series Monty Python's Flying Circus.
You can consider Python either a scripting language or a "regular" programming language. It offers an interactive mode for quick development and testing, as well as a noninteractive mode for ease of reuse.
In fact, Python doesn't actually contain anything new -- every feature has been taken from some other language. These practical capabilities are wrapped up in a simple package that's available for anyone to download and use without restriction; not even the GNU Public License applies.
Like Java, Python has a small core and a large, extensible library of functions and procedures. Thus, most of what a programmer is likely to need already exists in written, tested form and can be used with simple library calls glued together with a small amount of new code.
One measure of Python's programmer-friendliness is its reliance on a simple indentation hierarchy for grouping sections of code, which eliminates the need to match Begin/End statements or to count parentheses, brackets or curly braces.
Even so, Python is a general-purpose programming language that offers far more structure and support for large programs than simple shell scripts and much more error checking than lower-level languages such as C.
Python is object-oriented with built-in, high-level data types, including flexible arrays and dictionaries. It can be applied to much larger problems than languages such as Awk or even Perl can, yet it remains as easy to use as those languages.
Python's Appeal
In a 2000 interview with Linux Journal, programmer, author and open-source advocate Eric S. Raymond recounted his initial experience with Python:
"A couple of hours into the project, I noticed (allowing for pauses needed to look up new features in Programming Python) I was generating working code nearly as fast as I could type. ... This was my first clue that, in Python, I was actually dealing with an exceptionally good design. Most languages have so much friction and awkwardness built into their design that you learn most of their feature set long before your misstep rate drops anywhere near zero. Python was the first general-purpose language I'd ever used that reversed this process."


- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- Workload Automation Challenges and Opportunities
- This Executive Brief discusses IDC's perspective on how enterprise workload management requirements are changing and highlights the ways that workload automation solutions can...
- Protecting Against Database Attacks and Insider Threats: Top 5 Scenarios
- Read this new eBook to learn the top five scenarios and essential best practices for preventing database attacks and insider threats.
- Database Activity Monitoring Is Evolving
- Read the analyst report and learn how you can leverage the core capabilities of a DAP solution for better database security.
- Establishing a Strategy for Database Security is No Longer Optional
- The options for securing increasingly valuable databases are very broad and deep, and can be confusing. This research provides an overview of three...
- Thinking Outside The Data Warehouse
- This high level, business problem focused eBook uses 5 customer scenarios to show how people and organizations are tackling real issues using IBM... All App Development White Papers
- Distributed Database Security with Real-time Monitoring
- View this demo and learn how IBM InfoSphere Guardium database activity monitoring can help protect your sensitive data in distributed DBMS environments with...
- InfoSphere Warehouse Packs Demo
- These flash modules make warehousing more tangible and relevant to business users through detailed explanations of the InfoSphere Warehouse Packs.
- Delivery Management -- Extending Lifecycle Management
- Date: Wednesday, June 20, 2012, 1:00 PM EDT
Siloed organizations continue doing the wrong things and doing things wrong, leading to increased costs,... - Leverage automation today to reduce IT complexity
- Date: Tuesday, June 5, 2012, 2:00 PM EDT
Whether your B2B complexity is caused by multiple technologies due to M&A, business or application specific... - Redefine Expectations in the Data Center
- Need to do more with less? Watch this video to learn how HP ProLiant Gen8 servers can help your business deploy servers three... All App Development Webcasts