Published on Mon 13 February 2017 by Gary Hall in Programming with tag(s): programming
A programming language is a set of commands, instructions, and other syntax use to create a software program. Languages that programmers use to write code are called “high-level languages.” This code can be compiled into a “low-level language,” which is recognized directly by the computer hardware.
Low Level Languages
Low level computer languages are machine codes or close to it. Computer cannot understand instructions given in high level languages or in English. It can only understand and execute instructions given in the form of machine language i.e. language of 0 and 1. There are two types of low level languages:
1. Machine Language
The set of instructions executed directly by a computer’s central processing unit (CPU) is called Machine code .In machine language each and every instruction performs specific operation. The machine code is in the form a numerical code (i.e. not assembly code) and is the lowest-level representation of a compiled and/or assembled computer program .Machine language is also called as a primitive and hardware-dependent programming language. Writing programs directly in numerical machine code is tedious task.
2. Assembly Language
A personal computer has a microprocessor of its own that manages the computer’s arithmetical, logical and control activities. All these operations are managed through a set of instructions by each family of processors. These operations are handled by getting input from keyboard and displaying information on screen and performing various other jobs. These set of instructions are called machine language instructions.
Machine language instructions are in the form of strings of 1’s and 0’s. Machine language is quite obscure and complex for using in software development. For this very reason low-level assembly language is designed for representation of all the instructions in a symbolic code yet in a more understandable form for a specific family of processors.
Writing programs was made easier with time. Earlier languages that were developed ,during the development of computers required knowledge of the internal workings of the computer,hence attempts were made to ease the programming where the knowledge on the the internal workings of the computer was not required .
High-level programming languages allowed the specification of writing a program closer to those used by human beings. With the advent of high level languages, programming became far easier, less error-prone and also removed the programmer from having to know the details of the internal structure of a particular computer. Fortran II was one of the first high level language introduced in about 1958.
Key components for high level languages
An assembler is used to convert the assembly language into machine language (i.e. 0 or 1). This language consists of mnemonic codes which are difficult to lean and is machine dependent.
A compiler is a special program which reads a program in source language and translates into an equivalent other language. Also it reports the errors in the source program to its user, if there are any.
Types of Error: Errors are either syntactic or semantic: Syntax errors are errors in the program text. Semantic errors are mistakes concerning the meaning of a program construct.
A high-level programming language translator that translates and runs the program at the same time. It converts one program statement into machine language, executes it, and then proceeds to the next statement. This differs from regular executable programs that are presented to the computer as binary-coded instructions. Interpreted programs remain in the source language the programmer wrote in, which is human readable text.
In loading, a routine of a program is not loaded until it is called by the program. All routines are kept on disk in a re-locatable load format. The main program is loaded into memory and is executed. Other routines methods or modules are loaded on request. Dynamic loading makes better memory space utilization and unused routines are never loaded.
Linking as the name suggests is the process of combining various pieces of code and data together to form a single executable that can be loaded in memory. Linking can be done at compile time, load time (by loaders) and at run time (by application programs) too.
In computers, debugging is the process of locating and fixing or bypassing bugs (errors) in computer program code or the engineering of a hardware device.
Examples of high level computer programming languages
Many high level languages have developed over the years (and many have also disappeared!), among the most widely used have been:
Generations of computer programming languages
First generation languages
1GL or first-generation language was (and still is) the machine language generation.It refers to the level of instructions and data that is fed to the processor of a computer. (which in conventional computers is a string of 0s and 1s).
Second generation languages
2GL or second-generation language is the assembly language generation. An assembler converts the assembler language statements into machine language.
Third generation languages
3GL or third-generation language is a “high-level” programming language, such as C /C ++or Java.
Fourth generation languages
A 4GL or fourth generation (programming) language is a grouping of programming languages that attempt to get closer than 3GLs to human language, form of thinking and conceptualisation. 4th generation language, is known as the domain specific language, or a high productivity language. 4GLs are the programmer-friendly generation of programming. They are easier to write and hence improve the programming efficiency by using words and phrases close to the English language, with appropriate, use of icons, graphical interfaces and symbolical representations. 4GLs have also increased the number of professionals to be able to develop skills set in software development.
Fifth generation languages
5GL or fifth-generation language is a programming language that has a visual or graphical development interface to develop the source code but compiled with a 3GL or 4GL language compiler. There are several business corporations that make these languages such as the Microsoft with their Visual Studio product.