What's the Best Programming Language to Learn in 2015?

Originally published at: http://www.sitepoint.com/whats-best-programming-language-learn-2015/
I’ve been following programming language statistics for several years. 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:


  1. JavaScript

  2. Java

  3. Python

  4. CSS

  5. PHP

  6. Ruby

  7. C++

  8. C

  9. Shell

  10. C#

Source: GitHut

RedMonk

RedMonk’s language ranking for 2015 determines popularity by analyzing activity on both GitHub and StackOverflow. Their results:


  1. JavaScript

  2. Java

  3. PHP

  4. Python

  5. C#

  6. C++

  7. Ruby

  8. CSS

  9. C

  10. Objective-C

Credit: RedMonk

Jobs Tractor

Jobs Tractor language trends analyzes many thousands of job postings on Twitter. The latest figures from September 2014:


  1. Java

  2. Objective-C

  3. PHP

  4. SQL

  5. Java (Android)

  6. C#

  7. JavaScript

  8. Python

  9. Ruby

  10. C++

TIOBE Index

The TIOBE Index rates languages on the number of skilled engineers, courses and search engine rankings.


  1. C

  2. Java

  3. C++

  4. Objective-C

  5. C#

  6. JavaScript

  7. PHP

  8. Python

  9. VisualBasic.NET

  10. Visual Basic

Completely Unscientific Meta-Survey Ranking

If we combine these four surveys, we arrive at this result:


  1. Java (all)

  2. JavaScript

  3. PHP

  4. Python

  5. C / C++

  6. C#

  7. Objective-C

  8. Ruby

  9. 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.
Continue reading this article on SitePoint

1 Like

I am not sure if this resource fits here.

I find all your resources very interesting. As you said, just build things.

I used to like that framework benchmark shootout. But on close inspection it is really crappy. The code for the tests is built completely differently even for the same language making scientific comparison impossible. Basically they compare apples and oranges and then make some flawed conclusions based on the incorrect data.

1 Like

Even if it was correct, CPU performance of a web language should not guide your decisions on what you should choose. CPU is rarely the bottleneck in a web app... and if it does become the bottleneck, it's going to be more likely it's the programmer's fault.

By the time execution speed matters, your site should big enough to hire people to optimize those parts.

2 Likes

Interesting that Swift didn't show up on the list. Does this mean it really hasn't been adopted much for Mac software?

It's just above Scala at #18 on the full list and ranked as one of the fastest growing, #3 on New Forks and #1 on New Watches. It probably won't ever make top 10 overall, simply because of it's limited scope.

Plus, this is based on Github repositories. Swift hasn't even been out a year and even making top 30 in number of repositories is a pretty big achievement.

mawburn is spot-on. Swift is doing well for a new language and may eventually replace Objective-C but it'll take some time. If you have a choice of learning either, I'd opt for Swift. That said, I stopped the OS-specific development nonsense many years ago and embraced the web!

4 Likes

Interesting. Surprised SQL dropped off your meta analysis, but with so many sql/data abstractions, is SQL going the same way as Asm? i.e Data access handled by tools.

SQL dropped off the meta chart because it was only high in Jobs Tractor and outside the top 10 of the others.

It's normally a requirement for most server-side and many desktop jobs. But SQL-only vacancies are relatively rare and it may not be mentioned in other job adverts because it's presumed to be essential.

Framework abstractions may influence the ranking but, for anything reasonably complex, you'll still require SQL skills.

Completely agree with the "just build stuff" advice. It's great to keep a pulse on what languages are currently relevant, but I've found that overanalyzing the best language at a particular time to be a zero-sum game. With some exception, any language can be used well or poorly to achieve particular ends -- and you are absolutely right -- like learning a foreign language, bits and pieces along with overarching paradigms are often readily transferrable.

Great Artical !

What I recommend is :

learn MEAN.js , it have every thing you need to build an app

You do and it's a reasonably quick way to get into web/app development if you already have some programming experience.

My only hesitation is the Angular part of MEAN. It does a lot of magical stuff, intermingles content with functionality and hides what's really going on. v2 is also completely different to v1. It may be preferable to learn the basics of HTML, CSS and JavaScript first.

Unfortunately, dropping the 'A' means you like using MEN which can lead to some misunderstandings...

3 Likes

AMEN...

*sorry, couldn't resist...

1 Like

Well, said. Surveys, as you correctly put it, do not tell you the whole story. And the secret lies in finding problems whether personal or otherwise and then building. I wanted to code viruses in Middle School so I picked up assembly language. By the time I was in High School I developed an appetite for web development so I pursued PHP. I played around with JavaScript to enhance user experience on my websites. Finally, now I plan on transferring my project to Android so I will have to learn JAVA!

Or you could develop a web app in HTML, CSS and JavaScript which has offline capabilities?...

I guess I would even argue about focusing on programming languages alone. Where I see the biggest money and scale is by building websites..or even apps and helping clients to get results, not just being a hired programmer. Then your expertise will become so much more scalable. - (http://www.1stwebdesigner.com/what-programming-language/)

I would go either with WordPress/PHP path by leveraging premium WordPress themes, frameworks to build out websites quickly and focusing then on bringing results client desires.

Or yes..for programming path - definitely mobile app development. Where you just take your pick..for Apple, for Android..?

Third one is Ruby on Rails - for startups, again heavy programming path.

I have decided to learn PHP and have tied to use this to My Websites and its look better now!

Great advice! Find problems and build solutions with a language that gets the job done.

So what would be the best language to start learning in? Is JavaScript fine?

It's a "C" language. You could do worse.