Programming is the task of writing a set of clear instructions to make a computer perform some task.
We usually write these instructions in a programming language (or code). In 'high-level' programming languages this code may be quite similar to written English. In 'low-level' languages this code may be quite strange and alien, and different from a language that we can read in a straighforward manner.
Programming languages (or code) are usually compiled from a high-level language to a low-level language that the computer can understand, or to an intermediate language that is interpreted by some other program. It is possible to write programs directly in a low-level language, but we don't usually do this unless we enjoy pain. The easier the high-level language is to understand, the easier it will be for us to write clear instructions that we can understand, which helps to make the code more maintainable.
It is important when we write code that we make the instructions for the computer as clear as possible. Despite their sophistication and shinyness, and even with over 75 years of programming as a field[^1], Computers really are not clever.
Today Year 2 learnt the importance of making instructions really clear and easy to follow. Who knew making a jam sandwich would be so difficult?🤷🏼♀️🥪 #instructions #Year2 pic.twitter.com/vjM46RYOkO
— MissReeves (@MissReeeves) October 6, 2020
To write clear instructions, we need to understand the fundamentals of programming - what we can do with code, how we can do it, and why we would do it that way.
[^1]: ENIAC, the first digital, general purpose, programmable, computer was completed in 1945, though there's an argument for Colossus, which was earlier, though this was not Turing complete. You could even argue the field goes back to Ada Lovelace and her work with Charles Babbage's proposed Analytical Engine. We've been at this a while and it should probably be easier than this by now.