Python (programming language)
Python is a dynamic, general-purpose programming language renowned for its versatility and ease of use. Developed by Guido van Rossum and introduced in 1991, Python supports multiple programming paradigms, including structured, object-oriented, and functional programming, making it adaptable for various applications. Its design emphasizes readability and simplicity, which contributes to a lower learning curve for new programmers. Python's extensive standard library enhances its capabilities, allowing users to perform a wide range of tasks efficiently.
The language gained significant popularity due to its active community and open-source nature, fostering collaboration and innovation through Python Enhancement Proposals (PEP), which guide its development. The philosophy behind Python, encapsulated in the "Zen of Python," promotes principles such as clarity and simplicity in coding. Python's extensibility enables it to be integrated into other applications, enhancing its utility across diverse fields, including education, software development, and machine learning. It has also become the primary programming language for projects like the Raspberry Pi, aimed at making technology accessible for learning and experimentation. Overall, Python's combination of readability, flexibility, and community support has made it one of the most widely used programming languages today.
On this Page
Subject Terms
Python (programming language)
Python is a popular general-purpose dynamic programming language that allows multiple paradigms. Both structured programming and object-oriented programming are supported in full, while functional programming, aspect-oriented programming, metaprogramming, logic programming, and other paradigms are supported either in specific features or by extensions. Introduced in 1991, Python has a passionate user community. Its key strengths are its readability, flexibility, and large standard library.
Overview
Python was developed by Dutch programmer Guido van Rossum as a hobby programming project, and named for the British comedy troupe Monty Python. In the Python community, van Rossum was designated Benevolent Dictator for Life, the traditional title given to creators or other development leaders of open-source projects. In an unusual arrangement, van Rossum was allowed to spend half of his work hours developing Python while employed at Google from 2005 to 2012. By that point, Python had become one of the most popular programming languages, consistently among the most frequently mentioned in job listings, and van Rossum’s guidance was widely seen as beneficial to the community at large. (Van Rossum announced he was stepping down from his lead developer role in 2018, though he remained involved in the project.)
The goals of Python’s design were to be easy to learn, which meant code that was both easily readable and intuitive so that it was easy to remember; open source (publicly accessible and modifiable), in order to encourage a community of developers; and optimized for short development times. Some of the syntax in Python reflects an influence from the C programming language, because of its widespread familiarity and influence in the programming world, while many of the functional programming features resemble those of the Lisp and Haskell languages.
Further Python development occurred principally via Python Enhancement Proposals (PEP). The PEP process collects proposals for new features and other design decisions, as well as recording comments on those proposals made by members of the Python community. Each PEP is numbered sequentially. The programming philosophy of Python was developed by 1999, when PEP 20 was released, called the Zen of Python, consisting of twenty design aphorisms, including "Beautiful is better than ugly," "Explicit is better than implicit," "Special cases aren’t special enough to break the rules," and "In the face of ambiguity, refuse the temptation to guess." Most of the aphorisms were written by Python community member Tim Peters, who also developed Timsort, a Python sorting algorithm.
A key element of Python’s design is its extensibility. The core of the language is small enough to be embedded in applications to create a programmable interface. The language’s flexibility emerges from the combination of its lightweight design and its large standard library, which provides users with many possibilities in extensions. The strong preferences for a certain programming aesthetic in the Python community has led to the complimentary adjective pythonic, usually meaning both minimalist and readable.
Python notably became the main programming language for the Raspberry Pi project, an inexpensive single-board computer the size of a credit card. The Raspberry Pi was developed to teach computer science in developing countries, but also became very popular as a highly flexible device for computer hobbyists, thanks in part to the possibilities of Python. The language also earned widespread use in the boom of machine learning applications in the late 2010s and early 2020s.
Bibliography
Goriunova, Olga. Fun and Software: Exploring Pleasure, Paradox, and Pain in Computing. Bloomsbury, 2016.
Grus, Joel. Data Science from Scratch: First Principles with Python. O’Reilly, 2015.
Hoare, C. A. R. Communicating Sequential Processes. Prentice, 1985.
Lubanovic, Bill. Introducing Python: Modern Computing in Simple Packages. O’Reilly, 2014.
Lutz, Mark. Learning Python. O’Reilly, 2015.
"Python and Its Basics: A Beginner's Guide (2021)." Columbia Engineering Boot Camps, Columbia University, 2021, bootcamp.cvn.columbia.edu/blog/python-basics-guide/. Accessed 31 July 2024.
"Python Is Becoming the World's Most Popular Coding Language." The Economist, 26 July 2018, www.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language. Accessed 31 July 2024.
Ramalho, Luciano. Fluent Python. O’Reilly, 2015.
Roscoe, A.W. Theory and Practice of Concurrency. Prentice, 1997.
Weikum, Gerhard, and Gottfried Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan, 2001.
"What Is Python? Executive Summary." Python.org, www.python.org/doc/essays/blurb/. Accessed 31 July 2024.