Skip to Main Content
University of York Library
Library Subject Guides

Coding: a Practical Guide

Coding languages

Coding languages

How do you write code? And how do you choose which coding language to learn?

On this page we'll look at some of the different coding languages out there and how you might pick which one to start learning.

What are coding languages?

Coding languages (aka programming languages) are ways of writing your commands for the computer. These are then 'run', which means they are translated into something the computer can interpret and then the computer tries to do these commands.

There isn't just one coding language because there are so many different things you might need to do with computers and many different kinds of computers. Each coding language has been designed by people, often with particular tasks in mind.

What do coding languages look like?

Below are some examples of code that would display Learn to code! on the screen in different coding languages. Above each example is the name of the language, in case you're interested.


print("Learn to code!")


<p>Learn to code!</p>


Puts 'Learn to code!'


console.log("Learn to code!");


Scratch code say learn to code!

How do you decide which coding language to learn?

if coding-language == "right" {
    learn coding-language
} else {
    keep looking for coding-language

Sadly, there's no code like that above, which would tell us which one to learn. Instead, you have to make your own decision, based on what you want to do and what might be useful to you. If that sound daunting, we've got some tips on things to consider and some information on the different kinds of coding you might want to do.

What kinds of coding are there?

When choosing what to learn, it can be useful to know about some of the broad categories of kinds of coding languages there are, and to think about what they might allow you to do. Here are a few different kinds of coding and some languages used for them.

  • Block-based coding is a great way to start coding, as you drag and drop jigsaw-like 'blocks' of code together rather than having to type anything. It was designed for teaching coding in schools so is good for learning coding concepts and thinking like a computer. Tools like Scratch and Thunkable allow you to make games, animations, and apps with block-based coding.
  • Web coding is another common starting point, giving you the ability to make and edit websites. Firstly, you'll want to learn HTML, or HyperText Markup Language, which is how the content on the web is structured, and CSS (Cascading Style Sheets), which is how that content is made to look good. The third part of the trilogy is JavaScript, a scripting language that makes the web interactive and is best to learn if you already know the basics of HTML and CSS.
  • Working with data can also be done using coding, and particular coding languages are often used with particular kinds of data. For example, R is often used for statistical work, and more generally, Python is used for a lot of data handling and visualisation. You can also use coding tools just to visualise your data, such as Processing and p5.js.
  • Coding mobile apps is also very popular, and depending on your goal you might use a tool like Thunkable or MIT App Inventor that uses block-based coding to make simple apps, or learn a particular coding language that makes apps for the platform you're looking to have your app on.

Think about why you're interested in learning coding, using these questions to help:

  • Is it for work/study? If so, do you have to use a particular language?
  • Have you done any coding before?
  • What do you want to be able to make a computer do?
  • Are you looking for skills that might look good to a future employer?
  • How much time do you have or want to commit to learning coding?

Now, look through our criteria below and then through the pages on different coding languages to see what matches up with your answers.

Criteria to help you evaluate coding languages

When you're new to coding, it can be hard to know what to look for. Using the criteria below to help you evaluate which coding language(s) to learn when looking through our pages or searching online to research different coding languages or ways of coding.

  • Can the coding language do what I want it to do?
    Sounds simple, but if you've got a specific project or piece of work in mind, you probably want to choose a coding language that can do what you need. Reading through guides to particular coding languages might help you get a sense what you can do, or searching online for something like 'best coding language for [task]' might bring up suggestions. If you're not quite sure yet what the project might need but still want to start learning coding now, it's worth choosing something quite general like Python to learn the basics of coding and then reevaluate once you know what you want to be able to do with coding.
  • What do people do with that coding language?
    If you're not sure what coding languages can do and introductory guides online aren't making things any clearer, a good thing to do is to look for what other people have done with a particular language. Search online for something like '[coding language] examples' and you'll find a range of projects and ideas to see what people have done. You can always do this with more than one and see which catches your interest.
  • Who is using the coding language?
    Coding languages with a large number of people using them often have a better chance of having lots of online documentations, tutorials, and people helping each other in forums. The more obscure you go, the harder it can be to find lots of help online, but there may be a very helpful little community somewhere!

Always remember that it doesn't matter too much which coding language you choose, as all of them will help you learn key concepts and make it easier to learn another one in the future. There are a lot of transferable skills, like the computational thinking we looked at on the Introduction to coding page.

How do you find free materials for learning to code?

This practical guide has our resources on learning to code generally and materials on learning specific coding languages, but we can't cover everything! So how do you find other material and evaluate what might suit you?

How do you want to learn?

Materials and courses on coding can vary not only in terms of which coding language they teach or what kind of programs you create, but also how they are delivered and how you might interact with them.

MOOCs, or massive open online courses, are a way of taking an online course that has structure and can have exercises or assignments to create. These can take a couple of weeks or many, may have a specific start date or be generally open, and are often designed and run by universities and tech companies. Sites like Futurelearn and edX have a huge range of MOOCs, not just on coding, that you can find and join (be aware that although these are generally free to take part in, you may only be able to access some features if you pay for a premium upgrade).

Books and websites can be designed as a self-paced course, perfect if you don't have a large block of time to devote to learning coding at once and would prefer to set your own schedule.

Most coding languages also have a range of reference sites, which are places that contain lists of the commands and features of that coding language and guidance on how it works. This material can be useful if you already know some basics and want to know more. Often these sites have some introductory materials or exercises too. These are entirely self-directed and don't always have a clear structure to work through.

Face to face or live online courses can be useful if you like structure and time set aside to learn something, but these are less likely to be free. Members of the University can book onto our upcoming training sessions (we often run sessions on coding).

What device(s) and time do you have?

When looking for and evaluating courses and online learning material, you'll need to keep an eye on any prerequisites in terms of prior knowledge and also what device you might need. Some coding courses require a particular operating system (e.g. some courses for creating iOS apps require you to have a Mac computer) or the ability to install certain software.

Also think realistically about what time commitment you can make. If you don't have much time for learning coding, maybe that 12 week course is a bit ambitious to start with. A shorter course or single set of exercises can help you learn some coding and feel like you've achieved something without needing to make a bit commitment.

Evaluate the resources you find

Just as you might do with other kinds of information, you need to be critical and evaluate the information and online courses you find.

Look at who is providing the course to see if they might have any bias. For example, a course made by a technology company might be focused on using that company's products - which may or may not be what you're looking for!

Also keep an eye out for if the materials or course are free, and if so, if there's any limitations placed on the free version. Lots of free online courses are only free if you 'audit' the course, meaning you can see the materials but not do any assessments or graded exercises. You may also not be able to get a certificate to prove you completed the course.


Use the material on this page to consider which coding language you want to learn, if you don't know already.

Below you'll find links to pages we have on specific coding languages, and help on finding good sources of advice and free materials for other coding languages.

If you're still not sure what to learn, you could try Codecademy's quiz to find your "programming personality" to give some suggestions.

You could also explore our creative coding page for inspiration on what kinds of coding to try.

Languages we have resources for

You might find it useful once you've read the page to look through the pages on specific coding languages to get more of an idea of their features and how you'd go about learning them.

Coding languages we have support pages on:

More pages and resources will be added as this guide grows. Use the 'Feedback' button on the side of this page if you have any suggestions for future content.

Not quite so "traditional" coding

You might want to try out something that is less traditionally like coding, but still has elements of coding. For example, spreadsheets' formulae can work like coding (they even have IF functions). Lots of interactive story tools like Twine use coding-like language, and even allow you to incorporate web coding like CSS and JavaScript into your creations.

For more inspiration on "creative" coding and how you might fit coding into your work, see our Digital Creativity Practical Guide.

Doing data analysis?

If you're looking to do data analysis with coding and need some help with what methods you might use, which coding languages to try, or how to get your data into the right format/shape for analysis, see our Analysing Data Skills Guide.