Portal:Computer programming/Intro

Computer programming (often shortened to programming or coding) 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 language. 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.

The Difference engine(Charles Babbage):
Ever since the invention of Charles Babbage’s difference engine in 1822, computers have required a means of instructing them to perform a specific task. This means is known as a programming language. Computer languages were first composed of a series of steps to wire a particular program; these morphed into a series of steps keyed into the computer and then executed; later these languages acquired advanced features such as logical branching and object orientation. The computer languages of the last fifty years have come in two stages, the first major languages and the second major languages, which are in use today. In the beginning, Charles Babbage’s difference engine could only be made to execute tasks by changing the gears which executed the calculations. Thus, the earliest form of a computer language was physical motion. Eventually, physical motion was replaced by electrical signals when the US Government built the ENIAC in 1942. It followed many of the same principles of Babbage’s engine and hence, could only be “programmed” by presetting switches and rewiring the entire system for each new “program” or calculation. This process proved to be very tedious.

John von Neumann & Grace Hopper:-
John von Neumann was working for the Institute of Advanced Study in 1945.He formed two major principles which were milestones in the world of programming they were:-

1) shared program technique, where he stated the hardware to be programmed should be simple whereas the program written should be in complex instructions.

2) conditional control transfer, this was the most important step towards the development of modern programming language which gave rise to a notion of subroutines meaning small blocks of code should be written which could be jumped to form any point of the code.Therefore there was no need to write program as a single set of chronologically arranged instructions.

Soon after this a programming language named "Short Code" emerged in which after the programmer wrote a program/programs he had to manually convert it into binary(the basic 0's and 1's which a computer understands ), this was very inconvenient to do so.Then after 3 years that is in 1951 Grace Hopper gave birth to completely new generation utility programs 'compiler' this is a program which converts the instructions into binary making it easy for programmers to write programs.This compiler was named "A-0" and helped in further advancement of computer programming.