- Computer Fundamentals Course
- Computer Fundamentals Tutorial
- Block Diagram of a Computer
- The Generation of Computers
- Types of Computers
- Classification of Computers
- Characteristics of Computers
- Applications of Computers
- Central Processing Unit
- Input Devices
- Output Devices
- Computer Memory and Types
- CD, HD, Floppy, and PenDrive
- Types of Computer Languages
- Types and Language Translator
- Number System with Types
- Decimal to Binary
- Decimal to Octal
- Decimal to Hexadecimal
- Binary to Decimal
- Binary to Octal
- Binary to Hexadecimal
- Octal to Decimal
- Octal to Binary
- Octal to Hexadecimal
- Hexadecimal to Decimal
- Hexadecimal to Binary
- Hexadecimal to Octal
- Algorithm and Flowchart
- Selection Sort
- Insertion Sort
- Bubble Sort
- Linear Search
- Binary Search
- Bitwise Operators
- Binary Number Addition
- EBCDIC & ASCII Code
- BCD, Excess-3, 2421, Gray Code
- Unicode Characters
Types of Computer Programming Languages
This post was written and published with the intention of elaborating on the various categories of computer programming languages, as well as providing definitions of and examples for their various applications.
There are basically two types of computer programming languages, as given below:
Low-Level Languages
The programming languages that are very close to machine code (0s and 1s) are called low-level programming languages.
The program instructions written in these languages are in binary form.
Types of low-level languages
These are the two types of low-level computer languages.
Machine Language
Machine language, also known as machine code, refers to the binary instructions that can be directly understood by the central processing unit (CPU) of the computer without the need for translation.
The very first iteration of programming languages is sometimes referred to as the machine language generation. The most fundamental language of computers is known as machine language, and the instructions for writing programs in this language are represented as binary numbers.
This language is implemented differently on various computer systems.
The machine language is not simple to pick up and understand. This is due to the fact that 0 and 1 are the only characters that can be used when writing in machine language, which means that all of the codes and programs must be written using those two characters. Because of this, the program not only becomes more difficult to write and comprehend, but it also extends beyond what is reasonable.
Advantages of Machine Language
The only advantage of machine language is that the program runs very fast because no translation program is required for the CPU. You can also refer to "machine language" as the fastest language available.
Disadvantages of Machine Language
Here are some of the main disadvantages of machine languages:
- Machine-dependent: just as the internal design of every computer is different from every other type of computer, machine language also differs from one computer to another. Hence, after becoming proficient in the machine language of one type of computer, if a company decides to change to another type, then its programmer will have to learn a new machine language and will have to rewrite all existing programs.
- Difficult to Modify: It is difficult to correct or modify this language. Checking machine instructions to locate errors is very difficult and time-consuming.
- Difficult to Program: Although a computer executes a machine-language program directly and efficiently, it is difficult to program in machine language. A machine-language programmer must be knowledgeable about the hardware structure of the computer.
Assembly Language
Because the instructions for a program written in this language are so similar to those written in machine language, it is considered to be another low-level programming language.
Assembly language is also known as a second-generation programming language.
With assembly language, a programmer writes instructions using symbolic code instead of binary codes.
Symbolic codes are meaningful abbreviations such as "SUB" for substation operation, "MUL" for multiply operation, and so on. Therefore, this language is also called the "low-level symbolic language."
The set of program instructions written in assembly language are also called "mnemonic code."
Assembly language provides facilities for controlling the hardware.
Advantages of Assembly Language
The following is a list of some of the primary benefits of using assembly language:
- Easy to understand and use: In comparison to machine language, it is significantly simpler to understand and put into practice due to the utilization of mnemonics in place of numeric op-codes and symbolic names for data locations in place of numerical addresses.
- Easier to locate and correct errors: When writing programs in assembly language, programmers make fewer mistakes overall, and the errors that they do make are much simpler to find and fix. This is due to the fact that the programmers do not need to keep track of the storage location of the data and instructions.
- Easy to modify: Assembly language is simpler to comprehend, and it is also much simpler to find and correct errors in, as well as make changes to, the instructions within an assembly language program.
- Efficiency of machine language: A program written in assembly language will have the same length as the machine language program that is produced from it. In light of this, if we disregard the amount of time spent translating by the assembler, we can compare the actual amount of time it takes to execute a program written in assembly language to one written in machine language.
Disadvantages of Assembly Languages
The following is a list of the most significant drawbacks associated with using assembly language:
- Machine-dependent: Assembly language programs are dependent on machine language because each instruction of an assembly language program is translated into exactly one instruction of machine language.
- Knowledge of hardware is required: Because assembly languages are dependent on the machine on which they are executed, an assembly language programmer needs to have a solid understanding of the qualities and logical structure of his or her own computer in order to write effective computer code written in assembly language.
- Machine-level coding: The process of switching out one instruction in machine language for one instruction in assembly language is an example of machine-level coding. As a result, writing a program in assembly language is not only challenging but also time consuming, just like writing programs in machine language.
High-Level Languages
Programming languages that are the most similar to the language (English) spoken by humans are known as "high-level languages." The following are some examples of high-level languages:
The high-level languages are very similar to the English language. The instructions for the program are written using English words, such as "print" and "input," amongst other examples. However, when it comes to writing program instructions, each high-level language has its own set of rules and grammar. The structure of these rules is referred to as the syntax of the language.
Before being able to be utilized, the computer program that was written in a high-level language needs to be converted into machine code. There is a translator program designed specifically for each high-level language.
Advantages of High-Level Languages
Programming languages with a high level of abstraction come with a number of benefits. The following are the most significant benefits:
- Easy to learn: Learning low-level languages is significantly more difficult than learning higher-level languages. The statements that were written for the program are very similar to statements that are written in English.
- Easy to understand: The fact that the instructions for the program are written in a language that is analogous to English makes it possible for one programmer's high-level language-written program to be easily comprehended by another.
- Easy to write a program: A new program can be written quickly and easily in a very short amount of time when using a high-level language. The development time for larger and more complex software can range anywhere from a few days to several months.
- Easy to detect and remove errors: Finding and fixing the bugs that are present in a program is a simple process. The process of compiling brand-new programs is where the vast majority of programming mistakes are made.
- Built-in library functions: When developing new software using a high-level language, developers have access to an extensive library of pre-defined functions and procedures that can be utilized to carry out a variety of predefined tasks. The programmer will economize a significant amount of time by doing things in this manner.
- Machine Independence: A program written in high-level language is machine-independent. It means that a program written for one type of computer can be executed on another type of computer.
Disadvantages of High-Level Language
There are two main limitations of high-level languages:
- Low efficiency: a program written in high-level languages has lower efficiency than one written in a machine or assembly language to do the same job. That is, programs written in high-level languages result in multiple machine-language instructions that may not be optimized, taking more time to execute and requiring more memory space.
- Less flexibility: high-level languages are less flexible than assembly languages because they do not normally have instructions or mechanisms to control a computer's CPU, memory, and registers.
Types of High-level Languages
The high-level programming languages can be further broken down into the following categories:
Procedural Languages
Procedural languages are also known as third generation languages (3GLs). In a procedural language, a program is designed using procedures.
A procedure is a sequence of instructions with a unique name. The instructions of the procedure are executed with reference to its name.
In procedural programming languages, the program instructions are written in a sequence or in a specific order in which they must be executed to solve a specific problem. It means that the order of program instructions is very important.
Some popular procedural languages are described below:
- FORTRAN: It stands for "formula translation." It was developed in 1957 for IBM computers. It was the first high-level programming language used to introduce the concept of modular programming. It has been revised many times. Its commonly used version is FORTRAN 77.
- COBOL: It stands for "common business-oriented language." It was developed in 1959. This high-level language was specially developed
for business and commercial applications. It was suitable for handling large amounts of data, such as:
- to prepare payroll.
- To process credit and debit accounts
- to control inventory systems and many other business applications
- Pascal: This programming language is named in honour of Blaise Pascal, a mathematician and scientist who invented the first mechanical calculator. In 1971, structured programming languages became popular in computer science development.It is suitable for the scientific field.
- ADA: It was created in 1980 and named after Lady Augusta ADA. She was the first computer programmer. The high-level structured language Pascal was used as a model for the development of the ADA language. This language is mainly used for defense purposes, such as controlling military weapons like missiles, etc.
- C language: Dennis Ritchie and Brian Karnighan developed it in 1972 at Bell Laboratories. It is a high-level language, but it can also support assembly language codes (low-level codes). It is because C is also referred to as a middle-level language. The program written in C can be compiled and run on any type of computer. In other words, programs written in the C language are portable. The C language is a structured programming language. The main feature of the C programming language is that it uses a large number of built-in functions to perform various tasks. The user can also create its own functions.
Non-procedural languages
Non-procedural programming languages are also known as fourth-generation languages. In non-procedural programming languages, the order of program instructions is not important. Its importance is given only to what is to be done.
With a non-procedural language, the user or programmer writes English-like instructions to retrieve data from databases. These languages are easier to use than procedural languages. These languages provide the user-friendly program development tools needed to write instructions. The programmers do not have to spend a lot of time coding it.
The most important non-procedural languages and tools are discussed below:
- SQL stands for "structured query language." It is a very popular database access language and is specially used to access and manipulate the data of databases. The word "query" indicates that this language is used to make queries (or inquiries) to perform various operations on data in a database. However, SQL can also be used to create tables, add data, delete data, update data in database tables, etc.
- RPG stands for "report program generator." This language was introduced by IBM to generate business reports. Typically, RPG is used for application development on IBM midrange computers, such as the AS/400.
Object-Oriented Programming Languages
It wasn't until the late 1960s that the idea of object-oriented programming was first presented, but in recent decades, it has emerged as the dominant method for creating new software.
The software is developed through the use of a collection of interacting objects when object-oriented programming is used. A component of a computer program is known as an object. This component includes a data structure and a collection of modules. Accessing the data contained within an object is accomplished through the use of the modules, which are also referred to as methods. An object-oriented approach is the most up-to-date method that can be used to design the program. Using objects to build programs is the focus of this approach, which makes the process very straightforward. After being designed for one piece of software, an object can be repurposed for use in any other piece of software.
C++ and Java are currently the two object-oriented programming (OOP) languages that have the most users and are used the most frequently.
« Previous Tutorial Next Tutorial »