By learning from both his system admin experience in a research lab and from his knowledge of programming languages, Guido van Rossum saw the need for a high-level, cross-platform, scripting language which had well-implemented exception handling and could make system calls to the operating system. He then created Python to fill this niche.
As a result of these design principles, Python has become the go to language for many different types of programming projects.
Python Continues to Borrow Ideas from Other Languages
Python continues to incorporate good ideas from other languages. Recently, Van Rossum has spoken about how more restrictive typing systems—like those found in C# and TypeScript—are better for writing and maintaining projects with huge amounts of code:
"I learned a painful lesson, that for small programs dynamic typing is great, for large programs you have to have a more disciplined approach and it helps if the language actually gives you that discipline"
Dynamic typing has long been touted as a key feature of Python which makes the language easy to learn and use, especially for those new to programming. What’s great for novices, however, can turn into a pain for professional developers. That’s why many firms (including Facebook and Dropbox) utilize Type Hints in their codebases. Type Hints were introduced in 2015 (with Python 3.0) and are optional annotations to the code that developers can add so that a type checker can verify that the correct data types are used in methods and classes. It’s important to note that the static typing implemented by Type Hints and dynamic typing can co-exist within the same code.
Incorporating static typing in this way keeps Python relevant as professional-grade language while at the same time keeping the language and its power accessible to newer and younger coders.
A Coding Program for Kids Takes Off in Detroit
That’s great both for the future of the language and for the future of those budding developers, because when young minds discover and learn a tool as powerful as Python, they can acquire the skills to thrive in an increasingly digital world.
Qumisha Goss, a librarian at the Parkman Branch of the Detroit Public Library, has seen evidence of this firsthand. Goss was able to transform a bunch of bored kids into avid Python programmers. driven by their interest and confidence in solving problems and creating on their own.
The original coding program of 20 children doubled in size, but Goss is working toward a different kind of growth:
"I believe that the mainstays of learning computer science are learning critical thinking and problem-solving skills. My hope is that these lessons will stay with the kids as they grow and pursue futures in whatever field they choose. In addition, I'm hoping to inspire some pride in creatorship. It's a very powerful feeling to know 'I made this thing,' and once they've had these successes early, I hope they will approach new challenges with zeal."
That combination of critical thinking, confidence, and problem solving (not to mention actual Python skills) can be liberating for any child, but more so for those who face social and economic disadvantages in addition to gender-based stereotypes of what they can accomplish.
Programming is creating, and once you give someone the power to create and express both their creativity and ingenuity, you create new opportunities for them to thrive.
And that may be Python’s greatest success.
Copyright © Python People