Understanding high and low level programming

In essence, a computer can only understand 0's and 1's in what is known as 'binary' language. However, in order for us to tell computers what to do, it is not efficient to code using binary.

Binary is a machine-friendly language; something a machine easily understands, but a human-unfriendly language.

The letter H for example, will require dozens of 0's and 1's. In order to make sense of binary, people invent computer languages to translate the unreadable code into something more readable. This means we need a higher level of programming language such as Assembly.

Arduino is programmed using a relatively low level programming language called C++

Assembly is more human-friendly in terms of readability, but it is still very hard to read and write for. Engineers invent other programming languages to make it even more readable like C.

Python is a higher level language, so it is easier to understand and learn

Higher level programming languages exist to be more human-friendly at the expense of code efficiency. Python is one of these higher level languages that are easy to read, but still quite efficient compared with the highest level programming blocks used in Scratch and EV3.

Ultra high level programming like these Osmo blocks are great for young children to learn but less suited for efficient programming

In short, low level languages are better for building efficient programs, while high level languages are easier to learn and understand.


Leave a comment

Please note, comments must be approved before they are published