Most of the activities we perform on day-to-day basis have lots of little steps. For e.g., an activity like send greeting card will contain small steps like go to the greeting card shop, choose it, pay for it, write the names and address, go to the post office, buy stamps, affix the stamps and drop the card in the post drop box.
In this some steps like going to the post office, buying stamps and dropping the card in the post box are time-consuming and repetitive. Where as calculating the price of all the cards we bought, paying the money to the shop-keeper and counting the change returned is error prone. These kind of steps which does not need lot of human intervention and are not person dependent can be automated using Computer Programming. Please note that no matter how many steps we automate, there will be things like choosing the right card which needs the human intervention and the personal touch.
The Computer Programming help in automating the tasks which are time consuming, error prone, repetitive, not person dependent etc., They also help in stream lining the processes, provide better experience to the end users, keeping track of historical data, analyze the data etc., Some programs are very expensive and could take 5 or more years with multiple teams working on it, while some might be relatively easy and can be built in matter of weeks by an individual developer. One can Improve their Programming Skills through Computer Programming.
Below are few examples of how computer programs changed the life in the last 15 years or so.
As explained at Computer Programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages (such as Java, C++, C#, Python, etc.). The purpose of programming is to create a set of instructions that computers use to perform specific operations or to exhibit desired behaviors. The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.