This is an introduction to Computer Programming, the process of making programs for accomplishing desired computing results. We will discuss how Computer Scientists created languages to translate their instructions into a form which computers can understand. We call these LANGUAGES because they have their own syntax and semantics. These languages are called computer languages or more precisely programming languages.
What is a Programming Language?
Programmers write their instructions in the form of statements by following the syntax of a language. This is called coding or source code writing. Language used in this process is called a High-Level Language as is easily understandable by humans. This source code is then converted into processor level deep down instructions called Assembly or Binary Language. This type of language is also termed as Low-Level Language.
History of Computer Programming and Introduction to Programming Languages
This started with giving instructions through the front panel switches of the 1st generation computer systems. No compiler was required for instructions to be translated. These instructions were given and executed directly by the Central Processing Unit (CPU). As next generations of computers were being made more advanced and productive, Low-Level programming with assembly language was achieved. This too was very difficult to understand by the programmers. When a program was written for one machine was not portable to the other. Then came the High-Level languages. These were read and written easily by the programmers with seamless portability from machine to machine.
Starting with Short Code, the first High-Level Language, Autocode languages like COBOL and FORTRAN, the first most influential language ALGOL, it went all the way to C, the mother language of all the modern programming languages.
Nowadays, the term ‘Programming Language’ usually refers to a High-Level Computer Language, such as C, C++, Java, Python etc. These languages have a special syntax and set of their own keywords for organizing program instructions.