Thursday, August 20, 2015

Why is the number 1 programming language on the rise?

Why is the number 1 programming language on the rise?

This is an interesting chart where we see the "trendy programming language" to learn. A few years ago when I as starting my online media site, my technical partners were all very eager to discuss what development tools they were going to used. At one point everybody was talking about Python and a few developers were suggesting Ruby. After a few months, Node.js were mentioned more and more.  I eventually used the same old Content Management System (Drupal based on PHP) to build the site and override my developers' suggestion to learn a new language (Python) and develop a commercial site instead.  My business is in Hong Kong and the supplies of technical talents in the latest and greatest programming language and framework is simply not as great as in US silicon valley. I believe my decision was correct and we were able to launch the site early enough (just to say it nicely). As a ex-programmer, while I have the tendency to learn the latest and great programming language, it does not mean the old-and-proven does not work!

Anyway, the morale of the story is that when we build a software platform, we have to balance both the human resources consideration as well as the technical issues. The above chart (from VentureBeat) shows a popularity of various programming languages from projects on GitHub. Looking at the trends reminds me of my experiences mentioned above just a year ago. The popularity of Ruby and Python has been, at least in my circle in Hong Kong, has been dropping. I haven't heard about those terms for a while now. But Node.js and AngularJS is gaining popularity. Node.js are AngularJS of course, based on Javascript. It matches the raising trends of the Javascript or Java. Good old PHP is there stable and I don't think it's going to go away soon.

The gaining popularity of Javascript is indeed a logical one as most of the functions of the Web App or Mobile Apps are mostly on very sexy and user friendly user interface. And most of these advance functions are actually on the client side instead of server side. That means the use of Javascript will be more and more. I can see that near 100% of the user interface and software process can be developed entirely on the client side (within the browser) and the server is only serving as database server or messaging serves server. The advancement of HTML5 also heavily depends on Javascripts so the rise of Javascript make sense to me.

If I were to recommend a new computer to web development world, I would recommend them to master javascript. Then go into php but not just plain simple php but also a proven php framework such as Symfony or Laravel.