Programming languages

By Martin McBride, 2017-04-29
Tags: none
Categories: none

When you write code, you will probably use a language such as Python, Basic, Java, C# etc. These are called high level languages. They are written in a form which is easy for a human to understand, using English language keywords such as if, for and while.

There are dozens of different languages which are commonly used in computing, and hundreds more which are slightly less well know. Some languages are specially designed for particular applications, for example SQL is used for database programming. Some languages support a particular style of programming, for example procedural, object oriented or functional programming. In many cases, though, it is a matter of preference which language you use - each has its good an bad points, but whichever one you choose you will be able to create a program that does what you want it to.

Code written in a high level language needs to be translated into machine code - the language the CPU understands. There are 2 main ways of translating high level languages into machine code - interpreting or compiling. We will look these methods in this section.

It is sometimes necessary to write code in lower level languages - code created in this way is more efficient and can do things which aren't possible in high level languages (such as directly controlling the computer's hardware devices). But it is difficult and takes a lot longer. Code like this is usually written in assembly language, which is then translated into machine code using an assembler. We will also look at machine code and assembly language in this section.

This topic isn't yet complete. Join our mailing list to be updated when new sections are added.

See also

Sign up to the Creative Coding Newletter

Join my newsletter to receive occasional emails when new content is added, using the form below:

Popular tags

555 timer abstract data type abstraction addition algorithm and gate array ascii ascii85 base32 base64 battery binary binary encoding binary search bit block cipher block padding byte canvas colour coming soon computer music condition cryptographic attacks cryptography decomposition decryption deduplication dictionary attack encryption file server flash memory hard drive hashing hexadecimal hmac html image insertion sort ip address key derivation lamp linear search list mac mac address mesh network message authentication code music nand gate network storage none nor gate not gate op-amp or gate pixel private key python quantisation queue raid ram relational operator resources rgb rom search sort sound synthesis ssd star network supercollider svg switch symmetric encryption truth table turtle graphics yenc