The Python programming language began as a hobby in 1989, with an official release in 1991. Its creator, Guido van Rossum, has the affectionate title “Benevolent Dictator For Life,” as a result of his single-handed responsibility for the project’s direction and decisions. He finally took a “permanent vacation” from the role in 2018.
From its humble beginnings, the language has grown in use and popularity. In fact, according to the TIOBE Programming Community Index, Python has consistently ranked in the top ten most popular programming languages since 2003. As of the time of writing, it takes the third spot on the list.
Python is an interpreted language, meaning it uses an interpreter to take the code and translate it on-the-fly into something the computer can use. This differs from a compiled application, in which the source code is compiled into native code the computer can understand.
Python has a somewhat unique philosophy in its design and architecture, best explained in the Zen of Python document:
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
This philosophy is evident in how Python emphasizes finding solutions. While many languages and developer communities believe there are many equally good ways of doing something, Python emphasizes simplicity of code. As stated above, Python’s philosophy embraces the idea that “there should be one-- and preferably only one --obvious way to do it.”
Another major advantage of Python is its extensible nature. From the very beginning, van Rossum designed the language to be modular, having a small core that could be augmented with a vast library of tools and packages.
Python also plays nice with other programming languages, in many cases better than other competitors. This makes it an ideal choice for embedding in other systems, such as to handle scripting tasks.
What Python Is Used For
Python’s philosophy makes it ideal for a wide array of uses, as evidenced by the types of websites and applications that are built with it. The language is so widely used that it’s safe to say most, if not all, people use services based on Python every day without realizing it.
Dropbox makes heavy use of Python, as does YouTube, Instagram, Pinterest, Reddit, Quora and many others. Industrial Light & Magic relies on it for production scripting of graphically intensive films. Similarly, Corel’s PaintShop Pro has a Python-based scripting engine built in. Eve Online, considered to be the greatest Massively Multiplayer Online Role Playing Game (MMORPG), uses Python for both the client and the back-end servers.
In addition to web applications, scripting and server tools, there are also a number of frameworks that allow developers to create desktop applications.
What Python Developers Do
As can be seen above, Python developers can tackle a wide variety of projects and applications. These can range from web applications, to server tools, to mobile apps and desktop applications.
Increasingly, Python is being used in the development of artificial intelligence (AI) and machine learning (ML). There are multiple libraries specifically for AI and ML development. In addition, Python’s flexibility and cross-platform support make it an ideal language and one of the most popular in the field.
Python is also an ideal language for Internet of Things (IoT) development. Its lightweight, embeddable nature compliments the limitations of IoT hardware. In addition, the fact that it’s platform-agnostic is another asset. Given that IoT devices often process gargantuan quantities of data, Python’s strength in scripting, automation and data processing are a perfect match.
30 Years and Going Strong
Python may have been around for 30 years, but the venerable language shows no sign of slowing down. Over the years, it has continued to grow in popularity specifically because it is so adaptable and well-suited to such a wide variety of use cases.
As a result, any developer would do well to add Python to their toolbox, and ones that do will have no shortage of work. Learn more at the Python website.