THE PROGRAMMING

CONCEPT
Computer programming or algorithmic programming, shortened as programming, is the process of designing, coding, debugging and maintaining the source code of computer programs. The source code is written in a programming language. The purpose of programming is to create programs that exhibit desired behavior. The process of writing code frequently requires knowledge in several different areas, in addition to the domain of the language to be used, specialized algorithms and formal logic. Programming does not necessarily involve other tasks such as the analysis and design of the application (but the design of the code), although they are usually fused in the development of small applications.


HISTORY
To create a program, and have the computer interpret it and execute the instructions written on it, it must be written in a programming language. In its beginnings the computers interpreted only instructions in a specific language, of the lower level, known like machine code, being this one too complicated to program. In fact it only consists of strings of numbers 1 and 0 (binary system). To facilitate programming, the first scientists, who worked in the area, decided to replace the instructions, sequences of ones and zeros, by words or abbreviations from English; Codified them and created a language of higher level, which is known as Assembly or assembly language. For example, to add you could use the letter A of the English word add (sum). Actually writing in assembly language is basically the same as doing it in machine language, but the letters and words are rather easier to remember and understand than sequences of binary numbers. As the complexity of the tasks performed by the computers increased, it became necessary to have a simple method to program. Then, high-level languages ​​were created. While a task as trivial as multiplying two numbers may require a set of instructions in assembly language, in a high level language will suffice with only one. Once you finish writing a program, either in assembler or in some high-level languages, it is necessary to compile it, that is, to translate it completely into machine language.1 It will eventually be necessary another phase commonly called link or link, during which They append to the code, generated during the compilation, the necessary resources of some library. In some programming languages, the compilation and linking process may not be required because they can work in interpreter mode. This modality of work is equivalent but instruction is carried out by instruction, as the program is executed.


James Gosling - Considered the father of JAVA