What is most surprising about this “unexpected” momentum of Python is that it is not a newcomer language, we discard the hype which 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 is due to it, as many engineers have recognized over the years.
In addition to having a wide community of developers and available resources, something fundamental to consider learning any new language. Just check out the more than 150,000 projects on the Package Python Index.
Why is Python growing so fast?
Python It is used in a wide variety of fields, from web development to devops, but It has been the increase in its applied use in machine learning and data science, which has accelerated the growth of Python. And his growing interest in the majority of programmers who are entering these disciplines. Without forgetting the evolution that the use of Python has had for web or system admin programmers over the years.
As Stackoverflow mentioned in their report, not only is Python growing but also many related topics. 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 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 frameworks such as PyBrain, NumPy or PyMySQL.
Using these tools we can do much more than collect and classify information, creating scripts to automate processes, in addition to preparing a dashboard with that information.
The entry point pTo 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 from the hand of Python
The rise of deep learning with some frameworks like Tensor Flow it has also motivated many developers to learn Python.
The exploratory nature of machine learning fits perfectly with Python, so we can find libraries such as Keras, PyBrain or scikit-learn to perform classification tasks, regression, clustering, preprocessing or generation of algorithm models.
As with the courses proposed to start with data science, in machine learning it happens 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 on Coursera or Udacity where we start with the basics of Python.
Web development with Python
Well known we find Django, the free and open source web application framework written in Python. It is also not 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 APIs or graphql with bookstores like Graphene.
Python for Devops
The accessibility and flexibility of Python is also one of the reasons for preferring this language in DevOps. It’s great for scripting and automating the process. The fact that tools like Ansible and SaltStak are written in Python demonstrate the language’s capabilities for automation and orchestration tasks. As we talked 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’s your second, third, or nth language. Its learning curve is less harsh than others, it has thousands of libraries that allow us to do what we propose in a few lines of code. It allows you to evolve quickly, in addition to delving into more complex tasks, as you gain fluency.
Obviously recommending a programming language is complicated. It depends on many factors such as the use that you are going to give it. Nor is it the same to recommend a language to someone who is just starting to program as to another programmer with extensive experience in various programming languages.
As we said above: this is not a language war but due to the current momentum of Python you should be careful, since it can be the language that helps you in your next project.