What is most surprising about this “unexpected” momentum of Python is that it is not a newcomer language, we discard the hype that some frameworks and languages do enjoy. In this case, we find a mature language that is used in production by many companies such as Google, Facebook, Instagram, Spotify or Netflix, part of the success they owe to it, as many engineers have recognized during these years.
In addition to having a wide community of developers and available resources, something fundamental to consider the learning of any new language. Just consult the more than 150,000 projects in Package Python Index.
Why is Python growing so fast?
Python is used in a wide variety of fields, from web development to devops, but it has been increasing its use applied in machine learning and data science, which has accelerated the growth of Python. And it’s growing interest in the majority of programmers who are introducing themselves in these disciplines. Without forgetting the evolution that has had for web programmers or system admin the use of Python for years.
As Stackoverflow mentioned in his report, not only is Python growing but also many issues related to it. Thus we find the increase in the use of web frameworks such as Django and Flask or Pandas, NumPy and matplotlib for data science.
Python applied to Data Science
Here we find one of the main keys to the exponential growth of interest in learn Python in recent years. Hand in hand with Data Science as one of the best valued professions, whose base is based on mathematical languages such as R and with Python thanks to libraries and framework such as PyBrain, NumPy or PyMySQL.
Using these tools we can do much more than collecting and classifying information, creating scripts to automate processes, in addition to preparing a dashboard with that information.
The entry point to start working in Data Science is to have a good base of Python. Many of the courses that we can find in Coursera or Udacity revolve around Python: Python for Data Science offered by IBM in Coursera or the nanodegree program become a Data Analyst in Udacity.
Machine Learning by the hand of Python
The rise of Deep Learning with some frameworks like Tensor Flow has also motivated many developers to learn Python.
The exploratory nature of machine learning fits Python perfectly, so we can find libraries like Keras, PyBrain or scikit -learn to perform tasks of classifications, regression, clustering, preprocessing or generation of algorithm models.
As with the courses proposed to start with data science, in machine learning it is quite similar, although we can use Java or Scala, Python is still a dominant language in the academic field since it fits perfectly when implementing the bases of machine learning.
You can take a look at a large number of related courses in Coursera or Udacity in which we start with the Python basics.
Web development with Python
Well known we find Django, the free and open source web application framework written in Python. Nor is a newcomer and is used in production by companies with Instragram, Pinterest or The New York Times.
To this Python framework we can add some equally interesting as the minimalist Flask or Pyramid. In addition to these frameworks we can highlight the importance of creating Restful or graphql APIs with libraries like Graphene.
Python for Devops
The accessibility and flexibility of Python is also one of the reasons to prefer this language in DevOps. It’s great for scripting and automating processes. The fact that tools such as Ansible and SaltStak are written in Python demonstrate the language’s capabilities for automation and orchestration tasks. As we talk about data science or machine learning courses, we can also highlight courses for System Admin using Python 3.
In conclusion, should I learn Python?
Python is a great first language, as if it is your second, third or nth language. Its learning curve is less harsh than others, it has thousands of libraries that allow in a few lines of code to do what we set out to do. It allows you to evolve quickly, in addition to delving into more complex tasks, as you gain proficiency.
Obviously, recommending a programming language is complicated. It depends on many factors such as how you are going to use it. Nor is it the same to recommend a language to someone who is starting to program as another programmer with extensive experience in various programming languages.
As we said above: this is not a war of languages but due to the current momentum of Python you should be attentive, as it can be the language that will help you in your next project.