A new survey by HackerRank shows a worrying divide between the programming languages students are taught and those in demand by employers.

For itsStudent Developer Report 2018 HackerRank set out to identify trends in developer education. A total of 10,351 software developers were recruited via email and through social media sites to complete the 10-minute online survey.

In its 2018 Developer Skills Report, which we reported on in January HackerRank revealed that three quarters of developers were largely self-taught, although 70 percent said that school or university has also contributed to their coding education. Among the student developers surveyed in late October, the most common anwer to "How did you learn to code" was School & Self-Taught. Almost two thirds of them were partially self taught while school played a role in introducing coding to a slightly greater proportion.

The HackerRank report notes:

Developers have an insatiable thirst for learning. On average, students are learning 6 languages, while more senior developers are learning 4. Developers in the Asian Pacific region are the most ambitious, with the average student planning to learn 7 programming languages!

It goes on to reveal differences in the resources used by students and professionals in learning how to code:

While Stack Overflow was the most popular option overall, it was used less by students than professionals, while more students than professional favored YouTube. Books, MOOC and Online Tutorials attracted more professionals than students, but more students use Competitive Coding Sites than do professionals, however, notice that the question asks "Besides HackerRank".

The report included two interesting findings regarding languages.

This chart show the languages students know versus those they intend to learn:

C is known by over three-quarters of respondents but only 11% want to learn it. Ruby is the most prevalent "will learn" choice (40%), followed by Python and JavaScript.

This chart below shows that JavaScript is the language where demand by employers exceeds supply by students, providing a good reason for learning it:

On the other hand, the chart shows the demand for C to be relatively low and that Java and Python are better choices for first languages from a career point of view. On the other hand C can be seen as a good teaching language because of the way it is close the the hardware.