There are a number of data sources including code repositories, Q&A discussions, job advertisements, social media mentions, tutorial page visits, learning video views, developer surveys and more. Data is published at different times, none can be considered accurate and all have flaws — but they can be useful for spotting industry trends.
GitHut
GitHut is a relatively new resource which analyzes 2.2 million active repositories on GitHub. The top ten:
- JavaScript
- Java
- Python
- CSS
- PHP
- Ruby
- C++
- C
- Shell
- C#
Source:Githut
RedMonk
RedMonk’s language ranking for 2015 determines popularity by analyzing activity on both GitHub and StackOverflow. Their results:
Credit:Redmonk
Jobs Tractor
Jobs Tractor language trends analyzes many thousands of job postings on Twitter. The latest figures from September 2014:
- Java
- Objective C
- PHP
- SQL
- Java(android)
- C#
- JavaScript
- Python
- Ruby
- C++
TIOBE Index
The TIOBE Index rates languages on the number of skilled engineers, courses and search engine rankings.
- C
- Java
- C++
- Objective C
- C#
- Javascript
- PHP
- Python
- VisualBasic.Net
- VisualBasic
Completely Unscientific Meta-Survey Ranking
If we combine these four surveys, we arrive at this result:
- Java
- JavaScript
- PHP
- Python
- C/C++
- C#
- Objective C
- Ruby
- Visual Basic
I combined C and C++ and ignored CSS and shell scripting. CSS isn’t a programming language as such although preprocessors come close. Shell scripts are useful regardless of whatever technologies you adopt but you won’t find jobs where it’s the only language you need.
Educational resources are likely to affect results. For example, Python is commonly used to learn programming in schools and colleges. Many thousands of students are asking questions and completing projects but, in my experience, Python jobs are rare compared to PHP or Ruby despite it being higher in several charts. Java has a similar advantage since it has a variety of uses in education, web, desktop and mobile development.
Demand for native app developers remains high especially in the job-related surveys. RedMonk reports that Swift jumped 46 places to number 22 in less than six months. However, app development is a young discipline. There are far more job vacancies in web and desktop programming but they are easier to fill so adverts are possibly removed sooner.
There is no “best” language
Few developers have the luxury (or tedium?) of working with a single technology.
If you’re considering client-side JavaScript, you won’t get far without a solid understanding of HTML, CSS, image formats, tools and browser quirks. Server-side NodeJS, PHP, Ruby, .NET and Java developers normally require an understanding of web servers, HTTP, SQL/NoSQL databases and data-exchange formats such as XML and JSON. Even those writing a basic native mobile or desktop app on a single platform require web connectivity, data store, IDE and build tool experience.
The more technologies you know, the more you need to know.
Great blog post - Sanjana Kaur
BalasHapusI greatly appreciate it. I appreciate you sharing. Your blog entries are more engaging and educational. Jiya Oberoi
BalasHapus