Who’s the winner: Python vs. Java, C/C++?
If there is one debate that never dies in the language community then it is this: Who’s the winner: Python Vs Java, C/C++. Obviously each has its own pros and cons, but in which language do the pros outnumber the cons or which language has better cons than others! For some it just comes down to familiarity, they like what they like!
But as far as the rest of the language world goes, the debate is still out there. By last count, Java, C and C++ were still winning. According to the Tiobe language popularity index, Java, C and C++ still take the top three counts.
The survey that questions vendors, Java Developers India and courses to gauge language popularity, found Java, C, C++ far ahead of Python and C#. Java scored 12.667%, C scored 7.382%, C++ got 5.565%, while C# and Python scored 4.779% and 2.983% respectively. Interestingly, all five languages saw a drop in their popularity.
The popularity of a language does not necessarily mean that it is better. However, there are many reasons why Java, C and C++ remain at the top of the ladder. This is despite the fact that Python was predicted to beat the rest for some time now. Some programmers even prefer C++ over others. Yet in popular use, Java still seems to rule the roost.
Some argue that C++ and Java are just simpler to use and easily portable. C# suffers because it is still seen as an exclusively Microsoft-linked language. Adoption elsewhere has remained low. Python, despite being popular with many developers, scores lower possibly because it is dynamically typed. This makes it unsuitable for large software systems.
The figures are slightly different in the PYPL (PopularitY of Programming Language) Index. Although Java is still the winner Python and PHP is at 2nd and 3rd position, respectively. Interestingly, it also shows that while in India and Germany Java remains a firm favourite, the tide may be changing in France, US and UK where Python has removed Java.
The Top 5
Java: Primarily used to build server-side applications for mobile apps and video games, Java’s popularity peaked because it is the core foundation for Android apps. It is also designed to be highly portable with its WORA philosophy (write once, run anywhere). So, even though it is one of the oldest running languages, Java remains highly popular.
C++: Still popular with developer’s for its speed, efficiency and memory, C++, like Java, has remained a firm favorite despite its age. It also benefits from an excellent ecosystem and a dynamic community. In short, it is efficient, used widely, easy to use with a vast array of support.
C: This wins because it is still one of the most popular language on campus. Its easy to run and handle. But it scores ever because we have enough C compilers to give it a wide functionality.
Python: Long heralded as the one predicted to beat them all, Python indeed packs a good punch. It’s biggest advantage is its functionality. Whatever you want, chances are that Python has the framework for it. It has a simple syntax, making it an easy language to learn. It has also gained from its association with Google , which has made significant investments in Python.
C#: With a syntax that is close to Java, C# is an easy language for Java users to adapt. But what makes it popular is its association with Microsoft apps. It is the language used to develop Microsoft apps.
Although Java, C, and C++ Keep their firm hold on programming languages, there are enough indications to show that things are changing. Even the top 5 (and the top 7) remained unchanged, they are actually losing the market share. They are losing it to other languages, which are coming up hard and fast!
In fact, some see the biggest winner to be Google’s GO, which jumped from 38th slot in ’16 to 14th position this year. Clearly the entire pack of languages is now expanding. One of the reasons is that apps are no longer written in a single language, breaking a language monopoly and creating a more level playing field. Clearly we are in for an exciting time!