10 Reasons To Snuggle Up To Python
Python is one of the most popular languages in education and commercial programming. Here are 10 reasons it should be the next language in your programming repertoire. For IT leaders, choosing Python as a core development language means you should easily be able to find talent that can wrap around any problem your project presents.
![](https://eu-images.contentstack.com/v3/assets/blt69509c9116440be8/blt5bfe0cf75d8d46de/64cb468ac98515efc3ceaf58/Image_1.jpg?width=700&auto=webp&quality=80&disable=upscale)
In November I wrote an article on scripting languages. I didn't include Python in that roundup because I don't really think of Python as a scripting language. While I readily admit it started out as a scripting language, it's become so much more than that over time.
Scripting languages do what they do by manipulating other software and systems. In my view, Python has moved beyond that to become a language allowing people to write code that does stuff "on its own." You, the loyal readers, disagreed with me on my Python take. A lively discussion ensued.
So I decided that I should take a closer look at Python. It is, after all, the most popular language used to teach programming at universities, and one of the most popular programming languages used in business projects. If it's that popular, it obviously has a number of things going for it.
We'll talk about why you should consider snuggling up to your very own Python, if you haven't done so already. There actually are a number of solid reasons why Python should be in your programming toolkit, and they're not all about the numbers.
[Just getting started? Read 10 Top Programming Languages For Learning To Code.]
Having said that, one of the things I know about programming languages is that the choice of a language is often about far more than simple technical concerns. You can easily get a discussion going on the elegance of code, the readability, the initial learning curve, and even the beauty of the code that you can write -- all legitimate issues that are very subjective.
So, my question to you is this: Do you code in Python? If you do, what made you pick it up the first time? If you don't, why have you resisted for so long? I'd love to know in either case.
Once you've reviewed my 10 reasons to build on Python, I look forward to hearing from you in the comments section below.
**Elite 100 2016: DEADLINE EXTENDED TO JAN. 15, 2016** There's still time to be a part of the prestigious InformationWeek Elite 100! Submit your company's application by Jan. 15, 2016. You'll find instructions and a submission form here: InformationWeek's Elite 100 2016.
Python can seem like a paradox. It is very simple in its basic structure, quite extensible through libraries, but philosophically discouraging of purely free-form programming. It's a language that comes complete with a manifesto. In short, Python is built around ideas that include:
Beautiful is better than ugly
Explicit is better than implicit
Simple is better than complex
Complex is better than complicated
Readability counts
The advantage of a language that is philosophically well defined is that extensions developed and language used can be measured against the goal. There is a pleasantly slithery freedom, but things never get completely out of hand.
One of the reasons that Python is used in so many different situations is that there are programming frameworks and environments that make development for specific types of applications much easier. In Web development, for example, Python users can employ frameworks such as Django. For scientific work, there are environments such as SciPy. Other frameworks and environments are available to make work faster when developing system admin applications, fresh GUIs, general-purpose applications, and more.
What all of this means is that programmers can be productive faster and more effectively in Python than in most other languages. And who wants to wait around when it's time to bring an application to final deployment?
One of the great things about most scripting languages is that a lot of the complication is hidden in the software or system that you're controlling. You don't have to worry about shift registers or memory boundaries. The layer below the scripting language is handling all of that. Python started as a scripting language, so a lot of the deep complexity is dealt with through other software, libraries, or plug-ins. Because of those libraries and plug-ins you can now use Python to develop nearly any sort of application you need -- and you can still approach the project like a scripting run.
Python is popular. Really popular. It's the most popular language for teaching university students to program. Once those students get out into the real world, Python remains the fourth most popular commercial language, behind Java, C, and C++.
The bottom line is that time spent learning Python is an investment in your career. For managers, choosing Python as a core development language means you should easily be able to find talent that can wrap around any problem your project presents.
Python got its start in the late 1980s. While that doesn't make it old when compared to languages like COBOL and Fortran, it does mean that Python has been around long enough to have developed a multi-generational user community. It also means most of its early rough spots have been worn down.
Equally important as its longevity is the fact that Python's founder, Guido van Rossum, is still involved in the language's maintenance and development. The combination of longevity and continuity is rare. Add in the well-defined philosophy of Python, and you have a language that exists in a stable, feature-rich state.
Python can be used to develop software for practically any purpose. That's been well established. When you need to write software to handle system admin tasks, though, Python really starts to shine. Much of the shine is due to extensions, such as Ansible and Salt, that bring dedicated system administration capabilities to the language. System admin tasks are where the scripting heritage of Python is most readily apparent, since so many of those tasks involve manipulating features and utility apps built into the operating system.
This capability is yet another reason that Python is good in an educational setting. It can be a relatively easy way for students to write system utilities and learn the basics of administration while getting practice with a new language. It's a win from any direction.
There are languages that are easy to learn and limited in capability. There are languages that are very powerful, but come complete with a nearly vertical learning curve. Then there's Python, which is easy to use and powerful.
Python is the rare language that allows you to build practical business applications as projects while you're learning. You do not have to be satisfied with printing "Hello, world!" over and over again. Learning ease is important when you're teaching programming to college students. It's critical when you're using a language as a tool to build skills in working professionals.
The landscape is littered with languages that can help you learn to program and then be by your side as you write your first simple applications. Python isn't one of those languages. Yes, Python is a good language to use as a learning tool. It's also able to grow with you when you need to develop more complex applications, after you've left the "young student" phase of your programming life. Python's relationship with frameworks and programming environments means that you can easily build on the Python you already know by adding framework code to build capabilities. You don't have to learn an entirely new language or new way of doing things when a new project is on tap.
The growth curves are smooth and powerful in Python.
While Python is powerful, it's not the best solution for every single function. That's why Python's ability to play well with other languages is so important. It's relatively straightforward to insert blocks of C, C++, Java, or other code into the middle of a Python program. If a programmer needs to reach down through layers of applications and operating systems to directly manipulate the hardware, it can be done. Python also can be used as the framework or wrapper for existing code written in other languages. If you're already proficient with another language but want to learn Python (or need to use Python due to corporate standards), the ability to incorporate other languages can optimize your programming effectiveness while optimizing your learning experience. Who doesn't like that?
Writing a program is one thing. Debugging, commenting, and sharing programs are other things entirely. For the latter three, being able to actually read and make sense of the code is important, and readability is an area in which Python stands out. I'm not saying that Python is quite as human-friendly as COBOL, but it's nearly as literary while being much less verbose.
While you're learning, having an instructor or colleague read your code and make useful comments is incredibly valuable. When you're a working programmer, being able to look at your code eight months after writing the program is critical. With Python, you can look at code and sort out the details, which is critical -- without meaning there's no debugging.
So there they are, 10 reasons why snuggling up to Python is a great idea for you and your career. Are you ready to pick up Python? Is there another language that's next on your list? Let me know in the comments section below.
Writing a program is one thing. Debugging, commenting, and sharing programs are other things entirely. For the latter three, being able to actually read and make sense of the code is important, and readability is an area in which Python stands out. I'm not saying that Python is quite as human-friendly as COBOL, but it's nearly as literary while being much less verbose.
While you're learning, having an instructor or colleague read your code and make useful comments is incredibly valuable. When you're a working programmer, being able to look at your code eight months after writing the program is critical. With Python, you can look at code and sort out the details, which is critical -- without meaning there's no debugging.
So there they are, 10 reasons why snuggling up to Python is a great idea for you and your career. Are you ready to pick up Python? Is there another language that's next on your list? Let me know in the comments section below.
-
About the Author(s)
You May Also Like