Python programming language stands out as a boastful yet simple language in the programming sphere. In my last two years as a programmer, Python has emerged as my go-to programming language whenever I want to complete any task from automation of my spreadsheets, scraping sites and even doing simple school projects such as data analysis. The programming language enjoys huge popularity in the programming community ranking first with a market share of 31.17% (Carbonelle, 2020). So, what makes programmers’ hearts pound whenever they hear Python? First, let us take a look at what Python is. According to Mehta (2019) “Python is an object-oriented, multi-paradigm and a structured programming language” (para. 1). My interactions with this undecorated yet robust language got me thinking to how far this language has come from since its inception in the late 1990s. Python programming language has moved from a hobby project of its creator to one of the most powerful and the most popular programming language in the world.
The genesis of this language was modest. Guido Van Rossum was the brain behind this intriguing language. Some of us in the programming sphere just to him as “Python’s Benevolent dictator For Life” (Fairchild, 2018, para. 1). He earned the title because he always had the final say in Python’s decisions. Khamlichi (2015) quotes Guido saying “Over six years ago, in December 1989, I was looking for a hobby programming project that would keep me occupied during the week around Christmas” (para. 17). He was explaining how he came up with Python. Khamlichi (2015) quotes him further saying “I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers” (para. 17)
Furthermore, one may be quick to conclude that the language’s name is that of the breed of snake referred to as ‘python.’ Guido credits the name of the language to a popular comedy show in the 1970s that he liked. According to Mehta (2019) “Van Rossum was a big fan of a popular BBC comedy tv show which used to air in the 1970s called as Monty Python’s Fly Circus” (para. 5). Python’s original blueprint was to inherit from the ABC language and was released in 1991. (Srivastav, 2016). This new baby language had been equipped with some new features not seen in other languages. Pramanick (2019) states “it had more than enough capability to provide classes with inheritance, several core data types exception handling and functions” (para. 2)
Python has had various versions being released over the years since its inception. As just a novice programmer with a few months of experience (about nine months or so), I have gotten the chance to interact with its third version i.e. Python 3.0 particularly its latest release version 3.8.1. But long before version 3.0 there was 0.9.0, 1.0 and 2.0. The first version was released in 1991 (Wolfe, 2018). Python version 1.0 was released in 1994 (Manoj, 2019). Manoj (2019) found it had “features like functional programming tools filter, reduce, map and lambda” (para. 3). Though this version was released a long time ago, I still use some of its inherited features such as the ‘lambda function’ which helps in programming mathematical problems.
Later in 2000, Python 2.0 was released. Wolfe (2018) says that this version was “more of an open-source project from members of the National Research Institute of Mathematics and Computer Science” (para. 5). He states further “This version of Python included list comprehensions, a full garbage collector, and it supported Unicode” (Wolfe, 2018, para. 5). Python version 2.0 shares a lot of similarities with Python version 3.0 with some minor tweaks here and there.
The current version (version 3.0) that most of us Python programmers are using was released in 2008. It is also referred to as “Py3K” or “Python 3000” (Manoj, 2019). This version brags of simplified features and most of us prefer this to the other versions. These features include changing of print statement to now being a function, use of easier rules in arranging comparisons and use of views and iterators instead of lists (Manoj, 2019). What mostly I have enjoyed in using this version is the use of formatted strings which is not found in very many programming languages. It allows one to insert code expressions directly (Sturtz, 2020). The formatted strings have been very influential in reducing clutter in my code and saving on time.
Python’s industry strides have been redefining. Its standard library gives every programmer of this language a reason, a reason to exist. It has grown from a very small library to a vast library of various modules. According to James (2019) “Python is the “batteries included” language” (para. 1) giving praise to the standard library. “The Python Standard Library is a collection of exact syntax, token and semantics of Python” (DataFlair, 2019, para. 5). Further, DataFlair (2019) states “A python library is a reusable chunk of code that you may want to include in your programs/projects” (para. 4). The standard library has been one of my most favourite elements of Python. It saves on time, money and effort as it gives one access to a pool of code written by Python which one can just import and use instead of writing the whole code from scratch. I especially enjoy importing the math module from the standard library which contains useful mathematical functions that I use in my programs.
In addition to the standard library, there is also the Python Package Index (PyPI). James (2019) describes it as “the standard software repository for Python” (para. 3). These two have advanced Python and it is one of the core motivators for the language’s popularity. I love using the package index especially with projects dealing with automation. It has a vast library of automation packages that help make your code cleaner, simpler and braver. One of the packages I enjoy using is ‘openpyxl.’ This package is notorious for its ability to automate excel files and has helped in making my work effortless and efficient. Through it, I have been able to automate repetitive tasks in excel allowing me more time to focus and be more productive.
Likewise, in talking about all this library stuff, you can’t forget about pip. Sarkar (2019) defines the following:
Pip is a package manager for Python that allows you to install additional libraries and packages that are not part of the standard Python library such as the ones found in the Python Package Index. It is a replacement for easy install (para. 1)
Pip has evolved from being used as a complement to Python to being a feature of it. According to Jaiswal (2019) “Python 3.4 and later include pip (pip3 for Python 3) by default” (para. 29). Pip is what enables us as programmers to be able to download those packages not found in the standard library. Therefore, it serves as a paramount tool for us programmers.
The popularity of Python can be attributed to various elements. To begin with, the language has an enormous community that allows greater support to beginners who are getting into the language. My decision to learn Python was mainly attributed to this. This huge community gave me the comfort that indeed if I encountered any challenges navigating this language, the community would be my compass for finding the right track. Since I started programming, Python’s community forums such as ‘Stack Overflow’, a community site, have helped me solve some complex and complicated problems in my programs. This support has encouraged a lot of people to choose programming with Python rather than other languages making it a really popular language.
Similarly, Python boasts of a very simple syntax of any programming language. As per DataFlair (2019) “Python is a popular language because of its elegant syntax structure” (para. 3) Most programming languages are characterized by semi-colons everywhere but Python does not have this. The only thing you have to take care of is indentation. This makes python very easy to write and very readable.
Also, as mentioned earlier its wide and vast library of packages make it very popular. It saves a lot of programmers including me the struggles of writing other scripts from scratch. Nevertheless, sometimes when one is spoilt with choices it can become very difficult to choose the right package for your project. This has happened to me a couple of times especially with my web scraping projects fighting over ‘selenium’ and ‘beautiful soup’ which are packages that help in the extraction of data from sites. Still, Python edges out other languages because of this wide library.
Lastly, Python’s popularity can also be attributed to its use by technology giants. It is also one of the paramount reasons I decided to learn Python. After reading on how Spotify used Python to predict the kind of music one should listen to, I got so interested in learning the language. Meer (2013) states “At Spotify the main two places we use Python are backend services and data analysis” (para. 2). This data analysis is what is responsible for the prediction as they gather a listener’s data and use it to predict the kind of music one should listen to. Netflix, a streaming company also uses Python. They say they “rely on Python to help surface insight from the vast quantities of data produced by the organization” (Rapoport, Moyles, Cistaro, & Bertram, 2013, para.11). Therefore, its use by technology leaders has also helped to increase Python’s popularity.
Python has various applications in the real world. One major application is in the field of data science. Sharma (2019) describes data science as “a blend of various tools, algorithms, and machine learning principles with the goal to discover hidden patterns from the raw data” (para. 12). Simply it involves taking out knowledge from data and using that knowledge to make decisions, especially in business.
Again, Python is also involved widely in machine learning. According to Lateef (2019) machine learning “provides machines the ability to learn automatically and improve from experience without being explicitly programmed to do so” (para. 8). This field has recently got my attention and I have been learning how to create machine learning models using Python.
Python is also involved in website development. Some notable websites built by Python include Uber, Google, Netflix and Spotify (Castiglione, 2020). Website development is an exciting field it being the major application of Python.
In conclusion, though Python has evolved to become the most popular coding language, I still feel it has a long way to go. Python has little or no roots in the mobile and tablet world which I feel is the future as more people move away from laptops and desktops. Python needs to add functionalities to help in the development of apps for smartphones and even games. This is where programming languages such as Java beat it. It is only when Python masters the recipe for the smartphone and tablet world that it would be the king.
References
Carbonelle, P. (2020, May). PYPL popularity of programming languages. Retrieved from https://www.pypl.github.io/PYPL.html
Castiglione, C. (2020, January 10). 10 famous websites built using Python. Retrieved from https://learn.onemonth.com/10-famous-websites-built-using-python/
DataFlair. (2017, December 18). Python syntax—take your first step in the Python world. Retrieved from https://data-flair.training/blogs/python-syntax-semantics/
DataFlair. (2019, June 27). Python libraries – Python standard library & list of important libraries. Retrieved from https://data-flair.training/blogs/python-libraries/
Fairchild, C. (2018, July 12). Guido van Rossum stepping down as python’s benevolent dictator for life. Retrieved from https://www.linuxjournal.com/content/guido-van-rossum-stepping-down-role-pythons-benevolent-dictator-life
Jaiswal, S. (2019, November 7). (Tutorial) The PIP python package manager. Retrieved from https://www.datacamp.com/community/tutorials/pip-python-package-manager
James, M. (2019, May 22). Python—dead batteries included. Retrieved from https://www.i-programmer.info/news/216-python/12791-python-dead-batteries-included.html
Khamlichi, M. el. (2015, October 27). Guido van Rossum the python creator. Retrieved from https://www.unixmen.com/guido-van-rossum-python-creator/
Lateef, Z. (2019, April 22). Introduction to machine learning | machine learning basics. Retrieved from https://www.edureka.co/blog/introduction-to-machine-learning/
Manoj. (2019, December 4). Python version. Retrieved from https://intellipaat.com/blog/tutorial/python-tutorial/python-version/
Meer, G. van der. (2013, March 20). How we use python at Spotify. Retrieved from Spotify: https://labs.spotify.com/2013/03/20/how-we-use-python-at-spotify/
Mehta, R. (2019, June 13). A brief history of Python programming. Retrieved from www.digitalnest.in/blog/a-brief-history-of-python-programming-language/
Pramanick, S. (2019, May 2). History of Python. Retrieved from https://www.geeksforgeeks.org/history-of-python/
Rapoport, R., Moyles, B., Cistaro, J., & Bertram, C. (2013, March 11). Python at Netflix. Retrieved from https://netflixtechblog.com/python-at-netflix-86b6028b3b3e
Sarkar, P. (2019, October 30). What Is ’pip ’In Python? Retrieved from https://www.knowledgehut.com/blog/programming/what-is-pip-in-python
Sharma, H. (2019, June 20). What is data science? A beginner’s guide to data science. Retrieved from https://www.edureka.co/blog/what-is-data-science/
Srivastav, H. (2016, February 4). The evolution of Python language over the years. Retrieved from https://medium.com/@HarriSrivastav/the-evolution-of-python-language-over-the-years-20651360df4d
Sturtz, J. (2020, February 7). A Guide to the Newer Python String Format Techniques – Real Python. Retrieved from https://realpython.com/python-formatted-output/
Wolfe, J. (2018, March 5). A Brief History of Python. Retrieved from https://medium.com/@johnwolfe820/a-brief-history-of-python-ca2fa1f2e99e