Epilogue - Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (2014)

Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns (2014)

A. Epilogue

This book has explained many valuable techniques and introduced several useful libraries. And through doing so, the book has hopefully provided ideas and inspiration for producing better programs using Python 3 (www.python.org).

Python continues to grow in popularity and use across application domains and across continents. Python is an ideal first language with its support for procedural, object-oriented, and functional-style programming, and its clear, lightweight, and consistent syntax. Yet, Python is also a superb language for professional use (as, for example, Google has demonstrated over many years). This is particularly due to Python’s support for rapid development and for the production of highly maintainable code, as well as its ease of access to powerful functionality written in C or other compiled languages that support the C calling conventions.

There are no dead ends in Python programming: there is always more to learn and further to go. So, while Python can comfortably meet the needs of novice programmers, it has the advanced features and intellectual depth to satisfy even the most demanding experts. Not only is the Python language open in the sense of licensing and the availability of its source code, but it is also open with regards to introspection, right down to the byte code if we want it. And, of course, Python itself is open to those who want to contribute to it (docs.python.org/devguide).

There are probably many thousands of computer languages in existence—although only a few dozen languages are very widely used—and nowadays, Python is certainly among the most popular. As a computer scientist who has used many different languages over the decades, I would often get frustrated with the languages that my employers required me to use. And I suspect like many other computer scientists, I kept thinking about creating a better language; one that would have none of the problems and inconveniences of the languages I was used to, and one that would incorporate all the best features of the languages I’d learned or knew about. Over the years, I came to realize that every time I dreamed up an ideal language, it turned out to be Python, albeit with a few unpythonic features—constants, optional typing, and access control (private attributes). So now I don’t dream of creating my ideal programming language—I use it instead. Thank you, Guido van Rossum and all the other Python contributors, past and present, for giving the world a programming language and ecosystem that is incredibly powerful and useful, that works pretty well everywhere, and that’s a pleasure to use.