First we shall understand some basic things like need and the idea behind the programming. This discussion will be somewhat lengthy but it will be very helpful for understanding not only basic things but also it will help to understand this concept i.e. what exactly means “The Programming”?
The term programming which is related with the computer has somewhat different meaning than we consider and most of the people are completely unknown about this. So let us see and understand these things.
When we say that any machine /device is automatic, then there is such arrangement in that machine and so the work done by the machine appears to us as automatic. Means the events or processes are carried out in various sections of machine one by one or step by step and finally we get the desired result/output/product. Now if there is any problem in the particular section of machine then it cannot be solved unless the user repairs it.
Today’s modern machine/devices and their work appear like wonder or miracle however, it’s not a miracle but just a piece of simple science behind it.
We have a very simple example, when we turn ON the switch to run the fan what happens is that, the current flows in the coil of motor, an electromagnetic action takes place and the torque is produced which gives the rotational motion to the rotor and the blades are connected to this rotor which when rotates provides the air. Now as this process is carried out within seconds or just by pressing one button, we can say it is automatic. But remember that, the fan will rotate continuously unless the current flowing in the coil stops. Therefore when we turn OFF the fan the current stops flowing in the coil, an electromagnetic action disappears and therefore the torque is absent and thus the fan will stop rotating.
Thus from above example we can say that there is a simple science behind it. It would be automatic really if it could rotate without any supply or current.
Therefore for any device/machine/or computer the things are arranged such a way that their work appears as automatic.
Now again the question arises such that some latest devices, like CD player, when there is no disc in its tray player shows the message “no disc”. In Xerox machine, when there is no paper in the tray or paper is trapped in the roller, no ink etc. it gives the particular message on the display.
How this happens?
The answer is that, the sensors are used in such machines and the arrangement of the components of machine is made such that it (machine) comes to know about the problem.
Now here comes the key point i.e. if the appeared problem is different than the regular one and which cannot be detected by the sensors or arrangement made to know about the problem then it will give the message “unknown error or problem”.
So the conclusion of above discussion is that nothing can happen automatically without any arrangement or reason, specifically the scientific reason. And these things are applicable to any electrical, electronic, non- electrical i.e. mechanical and all kinds of machines.
Also as we discussed above many times the work or process is done in various stages or in various sections step by step, in such case the outcome of one stage is given to other stage and finally the output is received or taken at final stage.
Also one important thing is that when any machine/device works whether it is electrical or mechanical device then that device works on the principle of transformation of energy from one form to other form. And the outcome of any machine or device is just a result of chain reaction in various stages, also the interaction, co-ordination, and collective response of actions taken by various parts and sections of that device which only and basically works on the principle of science.
Remember that when any machine works without electrical supply then that machine or device must be using other type of energy, force or fuel. We must keep in our mind that any kind of machine unless & until it uses a suitable source of energy or means of motivation to operate or work then that machine will never be able to carry out the desired work.
In this way, we now understood that how the things are carried out or how any machine or device works by using the kind of energy with proper design and arrangement within them.
The term Programming which is related with the computer has somewhat different meaning. So, now let us understand the basic idea behind the programming.
In general when we talk with each other or with our friends, we just ask our friend that, what’s your tomorrows plan or very often what’s your program on tomorrow? And then our friend answers that tomorrow is my brother’s birthday so I will get ready early in the morning then we are going to market to do some shopping. Then, at evening we will celebrate my brother’s birthday with my family only. After that we will go to Essel-World, from there we will have a great dinner in famous restaurant, after that by watching a late night matinee show we will return to our home. And next day my regular routine will start.
Observe the things!
Now if we observed here the things, we find that it is proposed or pre-planned things. Here in above example the things or events are decided or planned in accordance with the occasion and with respect to time. Also if we think properly when these planned events like shopping, birthday celebration, dinner, etc. collectively, or all the events collectively together will form the whole day program. And thus when all the planned events will get done then we could say that the program was successful.
Now we will consider one more example. It is that, when we talk about any program or use the term program, in general we think about the big event or function or ceremony. And if so, then we will require a proper planning & preparation to make it successful .Let us see, how?
This is now pre-arrangement required for program and we must keep these things in mind to understand rest of the things properly later on.
So, here we suppose that we have to organize a big event i.e.”Award distribution function” or program. For that purpose the first thing required as a part of plan or pre-arrangement is that, a committee of near about ten people so that the various works and responsibilities can be distributed among them. After that following responsibilities will be decided & distributed among them.
- Stage arrangement and decoration.
- Sound system.
- Electric supply and light arrangement.
- Flower and bouquet arrangement.
- Seating arrangement.
- Guest responsibility.
- Award items to be distributed.
- Security and safety. etc.
- Thus above is the pre-arrangement required & will be done & arranged by the respective person in committee.
Now on the day of program or at the time of program when it will actually start, it will follow the follow the following sequence of events.
- Welcome and bouquet offering to guests.
- Outline or introduction of program and guest.
- Inauguration of program.
- Speeches of peoples regarding the program.
- Award distribution.
- Speech and guidance of guest.
- Acknowledgement and thanking program.
- End of program.
- Thus in this way the above sequence wise each event or together all the events are over, then we can say that the program is over successfully.
So if we observed the things we come to notice that, the program is carried out on the basis of or with the help of pre-arrangement that was done and is executed in proper sequence.
Thus when smaller events come together in proper series or sequence it will form a big event or program.
And friends this is the basic idea behind the computer programming. But please! have a patience and wait for some more time. Because we do the programming with computer means we actually program the processor. And what is this processor? Let’s see this in following section.
What is processor?
All of us have been heard about the processor whether it, in consult of computer or mobile. Now this term ‘processor’ is actually the term “microprocessor”, which is an electronic programmable device that performs the arithmetic and logical functions and operates on digital techniques or digital signal.
This microprocessor is nothing but the IC i.e. “Integrated Circuit “, inside which the millions of transistors and thousands of microcircuits are designed and fabricated by using a special integration technique like VLSI and ULSI, and now a days SULSI. In this way the thousands of microcircuits are available on the single chip. And as these thousands of microcircuits work together and processes the data or signal, hence the name “microprocessor”.
Now this IC or the circuits inside the processor, as said above works on digital signal i.e. 0’s and 1’s. These 0’s and 1’s are actually nothing but the voltage levels. Now there are various logic techniques and depending on that there may be different voltage levels. In case of TTL-Transistor Transistor Logic, the signal ‘0’(zero) means 0-1.2 Vdc signal and ‘1’(one) means 3.2-5 Vdc signal. i.e. signal between 0 to 1.2 V is considered as logic ‘0’ and signal between 3.2 to 5 V is considered as logic ‘1’. This means microcircuits present inside the processor are operated by these voltages i.e. 0’s and 1’s and desired results are obtained. And our processor is nothing but an ‘electronic machine’ and as this machine operates on 0’s and 1’s, it is called as the “machine language”.
Here we go now for programming. Suppose that if we want to do any task or work with the help of computer then how one can tell the computer to do that work? Now here we must understand the very basic and important difference between us and computer is that, we are the living beings or human beings and computers or machines are the non-living things. Thus here is the key point, as we are the human beings we have the capabilities to observe, think, understand, learn, decide, talk and hear. By the virtue of which we can understand, learn and manage the things very easily. Also we can take the correct decision depending upon the situation.
Now we know that what is processor and how it is operated and as all the micro-operations are performed by the processor, it is the most important part i.e. brain of computer, without which we can’t imagine the computer.
But our problem or question remains as it is, that how one can tell the computer to do the work or how we can get the work done by it? And the answer is that, there is one way to tell him in such a way that it can understand i.e. in his own language which is nothing but the machine language i.e. in the form of 0’s and 1’s. Remember that both, ‘Input’ to the processor and ‘output’ of or from the processor is only in the form of 0’s and 1’s.
As we discussed above, we have the capabilities to understand, decide and self organize the things, but the processor doesn’t have. Therefore it needs to tell the processor each and every possible thing to carry out the work. Means we need to provide each and every information to instruct and guide the processor, so that it will be able to do work correctly. In very simple word, by providing the information to the processor we have to operate the microcircuits inside it, such that we can get the desired output signals or results.
We have to remember that whether the signal is input or output, in both cases it will be in the form of 0’s and 1’s only.
Again there is new problem now, every time how one can provide the I/P (input) to the processor not only in the form of 0’s and 1’s but also without any mistake. And also how one can understand the O/P (output) generated or given by the processor which is also in the form of 0’s and 1’s. Just relax now! this problem can be solved.
But before it, we know that when two persons with different languages want to communicate with each other, then the will require a translator to carry out the communication between them. In the same way here also we are using the translator or method of communication between us and processor by using ‘Assembly Language’ and ‘High Level Language’.
These languages provide the means of communication with processor. Obviously as we are using these languages as translator, these are understandable to us and processor also. In other way we can say that these languages are able to understand our aim and also able to tell the processor, what and how? the processor can do to achieve that aim.
For that purpose we have to provide all the necessary information in the form of ‘codes’ or ‘commands’ or ‘instructions’ in case of High Level Language. And ‘Mnemonics’ in case of Assembly Language. And such set or group of instructions or codes is called the “PROGRAMMING”. The information provided in the form of program is also called “data”.
Now, its time to recall the previous discussion that we have done about the working of any automatic device or machine, that we consider as miracle or magical, and specially recall the discussion about the Award distribution function or program. Also recall the pre-arrangement done for the program and how the program was actually run and carried out. Also just remind the basic difference between the capabilities of human beings and the processor. We are recalling all these things again, because here is the consult. Just link these things with each other and the ongoing discussion and see how these are related and connected with each other.
Let’s see. How it happens!
Here pre-arrangement for the program is nothing but the program that we will write and thus we will provide all the necessary information to the processor and that also in a proper sequence. As our Award distribution program was carried out in sequence wise events, in the same way here also all the information is read by the processor with the help of ‘Assembler’ in case of Assembly language, and ‘Compiler’ in case of high level language.
And thus the assembler and compiler plays the role of assistant and checks whether the information provided to the processor is understandable or not, correct or not in all the way. And if there is some problem or error then the particular error message is generated by that assembler or compiler, depending upon programming language used.
Thus this message generated helps the programmer to do the necessary corrections. Also one of the most important role of assembler or compiler is to guide the processor to access the data and the various resources available. In this way the errors can be corrected, and once the program written or provided to the processor is correct in all the way, the necessary data and the resources are ready, then the program actually runs and executes. Thus we get the desired results.
Now the results or the O/P produced or given by the processor is also in the form of 0’s and 1’s, which will be converted in such a suitable form that we can understand or access in proper way. Thus the O/P produced may be in the form of text, graphics, video or sound, etc.
Now here the considerable thing about the capabilities between us or human and the processor is due to the reason that, unless we provide the correct information to the processor we could not get the desired results.
Because the processor doesn’t know what are wrong and write things, also it cannot think. Here the assembler and compiler are just like a standard error checking tool which is also designed by the human being. Therefore we must keep in mind that to get the desired work done or desired results we must and necessarily provide only correct and all possible information in proper sequence.
Thus the information written in program understand by the processor with the help of assembler and compiler which is nothing but finally in the form of 0’s and 1’s. And thus processor knows from provided data or information that, what work he has to do?, when?, how?, where?, etc. This means all the necessary information is now available to processor and thus he also will do his job correctly without any mistake.
The computer or processor or machine is the non living thing and is not capable to do anything and will never do anything at its own. It doesn’t have the capabilities as like humans. And hence by considering all these things, if we want to get work done by the computer, we or programmer must provide all the possible and correct information or data with necessary resources in proper sequence and in a proper way. And thus the method or way of providing this information is nothing but the “PROGRAMMING”.
– Author, Vishal Waykule, Teacher