The advent of complex software applications, languages and paradigms has further enshrouded the concept of computer programming into more obfuscation. With the preponderance of programming languages, it’s becoming more difficult to explain what programming is in a very lucid form.
Here’s how I defined programming to my younger brother:
Human and Computers are similar. You give humans instructions and they execute them. For instance, I give you a written list of chores to perform at home on a Saturday and you perform them sequentially until you’re done. A computer works in a similar fashion; you give it instructions and it executes them. Now, the list of chores I give to you may not be written in your native language which you can comprehend. In fact, there are hundreds of possible language I could employ in writing the list of instructions. In such a case, you will need to a translator to translate the set of instructions into your native language. You have two choices: A translator who takes the list of chores, rewrites them into your native languages and passes it back to you or a translator who takes the list of chores, translates a single instruction, waits for you to execute and proceeds to the next. In the computer’s context, these two forms of translations are carried out by special programs called Interpreters and Compilers. They both translate a set of instructions (programs) from one language to the computer’s native language, which are series of 0s and 1s known as Binary.
Humans have to remember what they are do. Going back to our instance, you have to remember that Oh I am going to do the dishes at 3pm and Clean my room by 5pm. This function is carried out by your brain. A computer also has a memory which enables it remember it’s instructions. These are in the forms of RAMS and ROMS. You can think of RAM to be the active part of your brain which holds the most urgent instructions and the ROM as the passive part of the brains which holds the less urgent ones. If running late, you may decide to do two things at the same time (multi-tasking). You can also prioritize certain tasks over the other based on importance, duration of task and other metrics. A computer’s processor does this too. A computer processor is the part of a computer that executes the tasks, very similar to our brain. However, a processor is much faster. You can think of a processor as an octupos with many hands as compared to humans with just two hands. The processor takes the translated instruction as executes it for us to see as output just as you would wash a dish and wave it for everyone to see. I hope you now understand what computer programming is.
Share your thoughts in the comment section.
P/S: If you are on the look-out for someone who to write article for blog regarding anything web development, I am avialable!
Kindly hire me on Fiverr HERE