Knowing which programming language will best meet your needs can be daunting for new developers.

To shed light on this question, developer hubs such as Stack Overflow and GitHub release data on the most popular languages on their platforms.

Below are the programming languages that have topped the biggest developer surveys / round-ups in 2018.

Here’s what you need to know about each language, the jobs that require them and how to get started learning.

    1. JavaScript

    What is it used for? While JavaScript originated as a web-scripting language, today it is used on everything from node.js backend servers to internet of things devices via Node-RED. That said, most jobs asking for JavaScript are web-related.

    Historically, JavaScript had a chequered reputation, due to unpredictable behavior and its idiosyncratic approach. However, more recent releases of the language have addressed some of these concerns and derivatives such as TypeScript allow developers build larger and more complex programs.

    Typical jobs: Web developer, full-stack developer, front-end developer.

    Tutorial for getting started: The official Mozilla tutorial.

    Alternate language: There are an array of JavaScript spin-off languages, although use of TypeScript is growing fast and with a bit of effort can be used in place of JavaScript.

    Online communities: Stack Overflow, and the Learn JavaScript and JavaScript subreddits.

    2. Java

    What is it used for? Java is the workhorse of modern enterprise, having been the language of choice for writing server-side business software for more than decade. Beyond business, Java is also an official language used for developing Android apps, and is also used for games and web apps.

    Its ubiquitous nature means that Java developers continue to remain in high demand. While Java is now on release 10, the most commonly used version remains Java 8.

    Typical jobs: Software engineers, software architects and DevOps engineers.

    Tutorial for getting started: The official Oracle tutorial.

    Alternate language: Kotlin, an official Android programming language that combines modern language features with 100% Java interoperability, and whose popularity is exploding.

    Online communities: Stack Overflow and Learn Java subreddit.

    SEE: IT Hiring Kit: Programmer (Tech Pro Research)

    3. Python

    What is it used for? The current machine-learning boom has fuelled a sharp uptick in the number of developers learning Python. Outside of the language’s use in big-data analytics, Python’s versatility is evident in its range of uses, from web and desktop apps to orchestrating system operations.

    Python code is relatively easy to read and understand, supports multiple programming paradigms, has a wide range of software libraries that can be dropped into code, and can be scaled to large applications.

    Jacqueline Kazil, board director of the Python Software Foundation (PSF), predicted Python’s popularity will continue to grow, alongside demand for machine learning, due to the language’s accessibility and usefulness.

    Typical jobs: Data engineer, full-stack developers, software engineers.

    Tutorial for getting started: The official tutorial for learning Python.

    Alternate languages: R for data science, Ruby for DevOps

    Online communities: The community, Stack Overflow and the Learn Python subreddit.

    4. PHP

    What is it used for? A longstanding and oft-criticized language, widely used across the web to help serve web pages and apps.

    Despite garnering harsh criticism for shortcomings in its design, PHP has survived for decades, and still underpins popular CMS systems such as WordPress, as well as still being used by major sites such as Google and Facebook. Like Java, PHP’s widespread nature means demand for developers is unlikely to go away.

    Typical jobs: Web developer, WordPress PHP developer

    Tutorial for getting started: PHP The Right Way

    Alternate language: A good alternative server-side scripting language might be Python or JavaScript running in a node.js environment.

    Online communities: The #phpc channel on, Stack Overflow and the Learn PHP subreddit.

    5. C#

    What is it used for? Microsoft’s object-oriented language has the benefit of being well-documented, relatively easy to learn, with a lot of useful software libraries to avoid developers reinventing the wheel.

    The language, created in 2000 as a rival to Java, runs on Microsoft’s .NET framework and is popular for building Windows desktop applications, as well as web and, more recently, mobile apps. Its uses continue to grow as Xamarin tools enable C# to be used to write apps for Android, iOS and other mobile devices.

    Typical jobs: Full-stack developer, .NET developer, web developer.

    Tutorial for getting started: This Microsoft course on C# fundamentals.

    Alternate language: C++ for Windows applications, JavaScript with a framework such as React for web apps.

    Online communities: C-Sharp corner, Stack Overflow, and CSharp and Learn CSharp subreddits.

    6. C++

    What is it used for? C++ is a favorite for games and complex business applications, largely due to being able to run extremely efficiently and offering precise control over memory use.

    Its ability to squeeze the best performance from systems means it’s a popular choice for software running on microcontroller boards, as well as for low-level software on PCs, such as operating systems and hardware drivers. The downside is that C++ can be difficult to learn due to the complexity of the language.

    Typical jobs: Embedded engineer, games engine software engineer, system software developer.

    Tutorial for getting started: The Learn C++ site.

    Alternate language: Although still a work in progress, Mozilla is aiming to give the Rust programming language similar performance to C++, while adding fine control over memory management.

    Online communities: Stack Overflow and C++ subreddit.

    The languages above are those that featured in the top 10 across the following lists: the most popular technologies in StackOverflow’s 2018 Developer Survey and RedMonk’s Programming Rankings.