Python is so often the right tool for the job because of its simplicity – an aspect of the language dating back to its very founding. This same flexibility makes Python ideal for use by beginners, whether hobbyists, career switchers or even children learning to code for the first time. It’s the rare tool that can be successfully employed by amateurs and masters alike, powering applications such as Instagram with hundreds of millions of users.
While forging a career in software development is a long, arduous journey, it can also be fun. For me, Python development and the community that surrounds it are sources of joy and inspiration. The path to a career in software development has to begin somewhere, and Python is the best place to start.
Python is the premier teaching language for a fairly straightforward reason – it is easy for beginners to pick up. With a few hours of practice, you can begin building programs capable of performing real work. Python coding can be understood with principles of mathematics that kids, teens and amateur programmers can intuit.
There are even courses developed for Python beginners that use math equations as an easy way to check your work and learn the basic commands of the language. Using traditional math operators such as addition, subtraction, multiplication and division, beginners can understand the relationship between different expressions within a line of code. Breaking expressions and statements into basic mathematical parts can establish an early sense of confidence in a new coder.
Even at an enterprise level, Python’s intuitive sense pays massive dividends. Experienced coders can pick up Python even more quickly. If your company is growing and hiring new developers, a Python codebase is accessible to a vast array of developers, cutting training costs significantly.
The second-best language for everything
Python is the most versatile language for coding, and although there might be a better solution for any given problem, Python will always get the job done well. At PyCon 2018, Dan Callahan said of Python: “If it’s the second-best language, why not use the first-best language?”
The answer is quite simple, really. You’d then have to learn a new language. The gap between a non-Python solution and the solution to any problem with Python is not gargantuan – it’s more akin to buying Crispy Puffs from the grocery store rather than Rice Krispies – and learning a new coding language each time you need to solve a problem is a very difficult method of learning to code.
Solving any problem with software solutions takes time, and when time is a limited resource, you should aim to work efficiently. There is no tool more powerful than Python because there is no tool more versatile than Python.
Celebrity chef Alton Brown has long railed against the use of so-called “unitaskers” in the kitchen – appliances that take up space in your pantry but only serve one obscure purpose. No one needs meat claws to pull pork or an egg cuber to make boiled eggs square because a fork will do the former and eggs are meant to be ovular.
The same principle applies to coding. Why learn eight coding languages when one, Python, will empower you to solve nearly every problem?
In addition to its honour as the second-best language for everything, Python is also the second-most-popular language to C, recently overtaking Java. There is a popular, easy-to-learn coding language that will prepare you to tackle a diverse array of challenges. If you are going to learn a single language as a beginner, it definitely helps to master the most versatile language.
An open-source community for support
Python itself is a wonderful tool, but the language and its frameworks are not the only reasons for its success over the past 30 years. The Python development community that has, in the spirit of open-source projects, sprung up to support fellow developers is amazing. There is an image in the minds of many that developers sit alone in a room with headphones on and don’t speak to, or engage with, their surroundings. Not only is this perception harmful, it’s flat-out wrong.
Writing Python instantly makes you a part of the most interesting corner of the programming community, full of developers, designers, scientists and more. I operate one of the largest Python meetups in the US Midwest, the 2,500-plus member IndyPy, and have personally attended 16 PyCon conferences (in a row).
The rush of getting to meet other developers and share best practices while establishing life-long social connections is so hard to beat that my company launched its own Python web conference, which we are hosting for the third year running. Through my work as an open-source developer, I have given and received help from hundreds of like-minded coders who challenge me to do better.
Outside of conferences and personal mentoring, the no-cost additional resources at your disposal as a Python developer are almost limitless. The Python Standard Library ensures that new developers don’t have to start from scratch. This “batteries included” aspect of Python development means that even amateurs won’t be stuck staring at a blank screen, wondering where to begin.
If the Standard Library doesn’t have what you’re looking for, the chances are that another source will. When you’ve solved a new problem in an interesting way, you can then contribute code to these libraries and support the next coders who find themselves in a pinch.
Having written Python code for the majority of its 30-year existence, it has been a while since I was a beginner, but the nature of the Python community means that I frequently talk with new Python coders of all ages. Experienced developers share their war stories with newcomers and each new generation identifies new use cases for Python, even as the language enters its fourth decade.
Python is easy to learn, fun to master and offers so much to long-time devotees.
Calvin Hendryx-Parker is the co-founder and CTO of Six Feet Up. In 2019, he was named an AWS Community Hero. He is also the co-founder of IndyPy, the largest Python meetup in Indiana, and the founder of IndyAWS, Indiana’s fastest-growing cloud meetup.