Programming languages are specific languages that allow us to give instructions to a computer. A computer is not an intelligent machine, it can not make decisions or conclusions. For every single task, we need to give it some sort of instruction. That set of instructions is typically called a computer program.
There are primarily two types of programming languages
- Low-level languages
- High-level languages.
This type of language can be understood directly by the computer without having the need to compile or interpret the code. It can be categorized further into machine language and assembly language.
a) Machine Language – Machine language consists of everything (instructions) in the form of binary numbers(0’s and 1’s). Machine language is the only language that can be understood by the computer directly. It is very difficult to learn machine language.
Below given an example to convert ‘codevocab’ into binary form –
01100011 01101111 01100100 01100101 01110110 01101111 01100011 01100001 01100010
Advantages of machine language
- Since the programs written in this language need not be translated, their execution time is much faster comparatively. In addition, it does not need a large amount of memory.
Disadvantages of machine language
- Since all the instructions can only be written in the form of binary numbers, it is very difficult to program and debug in this language.
- Programming in this language is time-consuming.
b) Assembly Language – Assembly language is also a category of low-level languages because to program in this language requires detailed knowledge of hardware specification. Unlike machine language, this language uses mnemonic code rather than 0’s and 1’s. The code is further converted into machine code by an assembler. The resulting code is known as object code. The assembly language is also called the second generation of programming languages.
Advantages of Assembly language
- Programming in assembly language is comparatively easier as compared to machine language since it uses mnemonic codes. For example ADD for addition, SUB for subtraction, and so on.
- Debugging (Error Finding) in assembly language is much easier than machine language.
Disadvantages of Assembly Language
- Instructions written in this language can not be understood directly by the computer. The code first needs to be translated to machine language by an assembler.
- This language is a machine-dependent language, therefore programs written are not portable.
2. High-Level Languages
Instructions written in a high language are identical to the words of the English language and that is why high-level languages are easier to understand by us humans. Programs written in a high-level language is first needed to be translated to machine language by either a compiler or an interpreter.
High-level languages can be further categorized as –
a ) Procedural Oriented Language – Procedural Programming Languages are those which follow the methodology which focuses on modeling the problem to be solved by finding out the steps including their order to reach the desired state. For example Pascal, COBOL, Fortran, C.
Advantages of procedural oriented languages
- They are flexible, therefore are able to solve a number of different types of problems.
- Programs written in these languages are portable.
Disadvantages of procedural oriented languages
- These languages need a higher processor and a large amount of memory.
- Their execution time is more because they need to be translated.
b) Problem-oriented languages – These languages are a step ahead of procedural languages. They allow the developers to specify the output without describing the details regarding the manipulation of the data to produce the desired output. They include database query languages as well.
For example – C#, Basic, PHP.
Advantages of Problem-oriented languages
- Programming in these languages is comparatively much easier.
Disadvantages of Problem-oriented languages
- Execution time is more as they need to be translated.
- Needs a higher processor and large memory.
c) Natural Language – These languages are still in the development phase. They would intend to execute
statements that would look like normal sentences.
Note: Some languages are called scripting rather than a programming language. Let us see, what is the difference.
Scripting languages –
Scripting languages are those languages that are often procedural (though not necessarily) and are not full-fledged programming languages. They are not compiled rather are interpreted.
Differences between programming and scripting languages
|Programming Languages||Scripting Languages|
|Programming languages can make an application from scratch.||Scripting language needs to be combined with some other languages.|
|Programming languages use a compiler for translation.||Scripting languages use an interpreter.|
|Creates a .exe file.||Scripting language does not create a .exe file.|
|Programming languages are more complex.||Scripting languages are comparatively less complex.|