Praising the versatility of Python
Python is often the right tool for the job because of its simplicity – an aspect of the language that dates back to its very inception. This same flexibility makes Python ideal for beginners, whether they are hobbyists, career changers, or even kids learning to code for the first time. It is the rare tool that can be used successfully by amateurs and masters alike, power applications such as Instagram with hundreds of millions of users.
While building a career in software development is a long and arduous journey, it can also be fun. For me, the development of Python and the community around it are sources of joy and inspiration. The path to a career in software development has to start somewhere, and Python is the best place to start.
Python is the premier teaching language for a pretty simple reason – it’s easy for beginners to understand. With a few hours of practice, you can begin to create programs that can do real work. Python coding can be understood with math principles that children, teens, and hobbyist programmers can understand.
There are even courses developed for beginners in Python that use math equations as an easy way to check your work and learn the basic commands of the language. By using traditional mathematical operators such as addition, subtraction, multiplication, and division, beginners can understand the relationship between different expressions within a line of code. Dividing expressions and statements into basic mathematical parts can build an early sense of confidence in a new coder.
Even at the enterprise level, Python’s intuitive sense pays huge dividends. Experienced coders can learn Python even faster. If your business is growing and hiring new developers, a Python codebase is available to a wide variety of developers, which significantly reduces training costs.
The second best language for everything
Python is the most versatile language for coding, and while there may be a better solution for any given problem, Python will always do the job 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. It would then be necessary to learn a new language. The gap between a non-Python solution and the solution to any problem with Python isn’t gargantuan – it’s more akin to buying Crispy Puffs at the grocery store rather than Rice Krispies – and learning a new coding language every time. once you have 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 strive 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 opposed the use of so-called “unitaskers” in the kitchen – appliances that take up space in your pantry but only serve an obscure purpose. No one needs meat claws to pull pork or an egg cube to make square hard-boiled eggs, because a fork will do the first and the eggs are supposed to be ovular.
The same principle applies to coding. Why learn eight coding languages when only one, Python, will solve almost any problem?
In addition to its honor as the Second Best Language for Everything, Python is also the second most popular language to C, recently overtaking Java. There is a popular and easy to learn coding language that will prepare you for a wide range of challenges. If you are going to learn just one language as a beginner, it certainly helps to master the most versatile language.
An open-source community for support
Python itself is a great tool, but the language and its frameworks aren’t the only reasons for its success over the past 30 years. The Python development community that in the spirit of open-source projects has grown to support other developers is amazing. There is an image in the minds of many that the developers are sitting alone in a room with headphones on and not talking or interacting with their surroundings. Not only is this perception harmful, it is downright false.
Write Python instantly makes you a part of the most interesting corner of the programming community, full of developers, designers, scientists and more. I host one of the biggest Python meetings in the US Midwest, the 2,500+ IndyPy members, and have personally attended 16 PyCon conferences (back to back).
The rush to meet other developers and share best practices while making lifelong social connections is so hard to beat that my company has launched its own Python web conference, which we are hosting for the third year in a row. 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 lectures and personal mentoring, the additional free resources available to you as a Python developer are almost limitless. The standard Python library ensures that new developers don’t have to start from scratch. This “stacks included” aspect of Python development means even hobbyists won’t be stuck staring at a blank screen, wondering where to start.
If the standard library doesn’t have what you’re looking for, there’s a good chance another source does. When you have solved a new problem in an interesting way, you can then contribute code to those libraries and support the next coders who end up in a pinch.
Having written Python code for the majority of its 30 years of existence, I haven’t been a beginner for a while, but the nature of the Python community means that I frequently speak with new Python coders of all ages. Seasoned 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 longtime devotees.
Calvin Hendryx-Parker is the co-founder and CTO of Six Feet Up. In 2019, he was named a Hero of the AWS Community. He is also the co-founder of IndyPy, Indiana’s largest Python meetup, and the founder of IndianAWS, Indiana’s fastest growing cloud meetup.