I am currently developing online courses and learning material for programming beginners. In my research, I came across the following interesting chart:

Data Source: www.google.com/trends

As you can see (according to Google Trends) in November 2015, for the first time ever, more people were searching for "learn python" than for "learn java". Looking at the last 5 years, the demand to "learn python" was constantly rising.

So what does this mean for the future of those 2 languages? More and more people are learning Python – that's for sure. Python has already become the number 1 programming course for beginners in many universities years ago [1]. The main reason for this is simple: Python is simple. I think it has the simplest and most intuitive syntax from all programming languages. It can be read just like pseudo-code. To illustrate this, let's compare those two code snippets …

Python: an Array, Some Basic IO and a Loop:

words = [ "This", "is", "a", "Test" ] for word in words: print word

Even a non programmer can read this and will understand what the program does.

Java: Array, Basic IO and a Loop (+Compile & Run):

public class SimpleTest { public static void main(String[] args) { private String[] words = { "This", "is", "a", "Test" }; for (String word: words) { System.out.println(word); } } }

OK, for a Java developer this still looks simple. But for a programming beginner - it is a big difference. But is this a “real world example”? Enterprise applications are far more complex, right? Yes, that's right. Java is very popular for developing complex enterprise applications – and I don't want to say that there is anything wrong with that. Java is a great, mature language, it has powerful frameworks and there are a lot of good JEE developers out there. Until now, I have only seen a few enterprises that are using Python to build their applications – and I don't think that this will dramatically change in the next years. Anyway I want to say that one can definitely build scalable enterprise applications with Python (and many startups do). A lot of famous applications are actually build on Python - even largest scale apps like www.reddit.com[2] or www.youtube.com[3]. I have often heard people say: “Python is not enterprise ready and does not scale” or “Python is just another scripting language” - maybe these people have never really worked with Python ...

Anyway, let's take a look at the following chart:

Data Source: www.google.com/trends

You can see, that the search volume of “python developer” compared to “java developer” is pretty low. That probably means: companies still search for Java (EE) developers – as they do it since years. But take a look at the yellow line. There is a strong growing demand for data scientists.

Big Data and Machine Learning tools like Apache Hadoop, Apache Spark, Mahout, HDFS, NoSQL Databases, Tensorflow and others have started to change our world a couple of years ago. And in the Big Data world – Python is very popular for data analysis. So if you want to jump on that train, you might as well be interested in learning Python.

Another big movement, that is changing the IT world, is DevOps or “automating your sysadmins as much as you can”. Many great new tools like Ansible (a configuration management and deployment automation tool) or OpenStack (an on premise cloud/IaaS solution) are written in Python. And many sysadmins, penetration testers and office workers use Python to automate their repeating tasks.

Conclusion

Python is getting more and more popular. If you are a programming beginner, a sysadmin or into DevOps or Big Data – it might be a good idea to take a closer look at it. If you want to learn Python and don't know where to start – you might want read this article: http://slash4.net/blog/python/what-is-the-best-way-to-learn-python-in-2016.html



