Why is Python so Popular?
Python has undoubtedly become one of the most influential languages in the 21st century. With a trend chart from overflow we can see how technologies have trended over time based on the use of their tags. It is clear that many other programming languages are in a state of decline except R and Python.
On Stack Overflow, almost 14% of the questions are tagged “Python”. The growth of Python has become unprecedented and unstoppable. Here are a fews reasons that are driving this continued growth in the use of Python.
Python was initially designed by Guido van Rossum in 1991 and developed by Python Software Foundation. The development of Python focused on improving code readability and programmers are able to express concepts with shortened lines of code under a simpler syntax.
But why is python still so popular?
Convenient and easy-to-use
The syntax of Python is easy to learn and use. In Statically-types language (e.g. C and Java), each variable needs to be explicitly declared. This is not the case in Python, which skips the process of specification.
For example, In C if you want to declare a numerical variable you may need to do this:
Int Num = 0
However, In python the equivalent operation is as following:
Num = 0
We see in Python data types are dynamically inferred instead of explicitly declared.
The flexibility of Python in the use of syntax has made itself rather convenient and easy-to-use comparing other languages.
1.2 Good for beginners
Is Python equally good as other programming languages? Well, let’s talk about this later. But Python is undoubtedly suitable to become people’s first programming language.
Python as a high-level programming language makes the code look clean and easily readable. Some of the Python syntax deliberately resembles everyday English. (I.e. in Python “b = = True” can be written as “b is True”). It is more understandable and friendly to people who have never had programming experiences before.
Meanwhile, Python reinforces the use of indentation.
It is uncommon that anyone who has never used Python before will encounter many “Indentation errors”. However, it forces the user to write proper indentation and develop a good habit of writing well-structured and clean code.
1.3 Good for Ai and Machine Learning
Python as a general-purpose language is not only good for beginners but also good for professional developers who want to pursue a career in a variety of directions such as machine learning and web development.
The graph from Francois Puget, who is from IBM’s machine learning department, suggests that Python has always been the most popular language for Machine Learning.
With the conciseness and simplicity of its code, Python does an incredibly good job in supporting a variety of algorithms such as linear regression and decision tree to produce effective and reliable analysis. Python also has a large number of frameworks and libraries which simplifies the implementation of different functionalities. Someone examples are:
- Scikit-learn and TensorFlow, those are ML libraries
- Pandas and Numpy, those are for general purpose data analysis
1.4 Software and Web development
Python is also good for web and software development. In fact, many companies implement their technology stack using Python, for example, Instagram uses Python to allow users to post and share their stories in a personal digital album. Spotify uses Python for data analytics to manage its Radio and Discover features.
Why use Python for web and software development?
Python has a less-limited programming approach compared to languages like Java. That is, Python has multiple paradigms and can support a multitude of programming styles including procedural, object-oriented (OOP) and functional ones. Python has made OOP easier as the overall operation of OOP is simplified in Python, so development costs less and takes a shorter time. ‘
Additionally, Python provides many frameworks for web development including Django, Pyramid and TurboGears that simplify the development process. Python makes software testing much more streamlined. Many QA automation specialists choose Python because it has a simple learning curve and is less technically demanding. With Python’s unit-testing frameworks, QA process becomes a breeze.