History of Programming Languages:
- In 19th century, programmable looms and player piano scrolls were implemented. These are the examples of domain-specific languages.
- In between 1943 and 1945, the first high-level programming language Plankalkul was implemented by the German Z3 by Konrad Zuse.
- In 1950’s, the third generation languages 3GL are more abstract and portable.
- ALGOL 60 was introduced in 1950’s and continued as ALGOL 68.
- APL implemented array programming and affected functional programming.
- COBOL was invented in 1959. Simula was the first language to support object oriented programming language and was introduced in 1960.
- C is a system programming language, introduced between 1969 and 1973.
- C++ is the combination of object-oriented and system programming language.
- The United States government standardized Ada, a system programming language is extracted from Pascal by defense contractors.
- UNIX scripting tool was released in 1985 after Java was introduced for server side programming.
- The 4 GLs are domain specific languages. These are manipulated and return data groups. Example SQL
Types of Languages
The programming languages are classified into two types, they are:
1. Procedural Languages
2. Non-Procedural Languages
Procedural Languages: Procedural languages explain the step by step performance of a task. These languages consist of the sequence, selection and repetition.
- A sequence is known as step by step process.
- Selection is nothing but choosing among the given options.
- Repetition is repeating the specific process.
- Early programming languages are usually procedural languages.
Non-Procedural Language: Non–Procedural Languages do not contain the features of procedural languages.
- These languages do not support sequence, selection and repetition
Classification of Programming languages:
There are three types of programming languages, they are:
1. Machine Language
2. Assembly Language
3. High-level Language
Machine Language: It is also called as first generation language. It is the only language that the computer can understand.
- If a program is written in any other language, that program must be converted into machine language for execution.
- These are machine dependent, which means if any program is written in one computer, it cannot be executed on another computer.
- Earlier, the computer programs were written at the level of binary arithmetic in machine language.
- Machine languages use some bits to represent tasks like mathematical calculations and this language is difficult to read and write.
Assembly Language: It is the second generation language.
- It uses the meaningful abbreviations of words to represent basic computer instructions. It is a machine dependent.
- Assembler is a program, which can convert assembly language into machine language. It uses the mnemonic codes.
- It requires you to have the complete knowledge about computer architecture.
- It is a low-level language.
High-level language: It is the third generation language. Any program written in a high-level language is called source program.
- It is machine independent, and it must be converted into machine language before execution.
- The high-level language is converted into machine language by using compiler and interpreter.
- The compiler is a program used to create an object program from source code in machine language during execution.
- The compiler can execute the entire code at a time.
- An interpreter is a program that converts source code into machine language. It does not create an object.
- The main difference between a compiler and interpreter is, the compiler can execute the entire program at a time but Interpreter executes line by line.
- This language consists of syntactic and semantic rules.
- Syntactic rules explain the grammar of source code.
- Semantic rules refer to the meaning of the code.
- Some high-level languages are
COBOL: Stands for Common Business Oriented Language, used in commercial applications and mainframe computers.
FORTRAN: It stands for Formula Translation, and is generally used in scientific and engineering applications.
BASIC: It stands for Beginner’s All – purpose Symbolic Instruction Code. It can be easily learned and used by beginners. It is the mother of visual basic.
PASCAL: It is used in scientific applications and named by French mathematician Blaise Pascal.
C: It is a middle-level language implemented by Dennis M. Ritchie at AT & T Bell Laboratories in 1972. It is a procedural language.
C++: It is C language with object-oriented programming concepts. It was developed by Bjarne Strustrap in Bell Laboratories.
Java: It is an object-oriented programming language developed by Sun microsystem. It is used to write applets and can run on all platforms.
Computer Architecture
Computer architecture is a collection of methods and rules used to perform fundamental operations. It is defined as the art of choosing and interconnecting hardware components. There are 3 main sub-categories of computer architecture, they are:
- An instruction set architecture: It is the embedded programming language that explains the capabilities and functions of the CPU based on the running program on either machine or assembly code. This includes the word size, memory addressing modes, processor registers & address and data formats.
- Micro-architecture: It is also known as computer organization. It is defined as the implementation of a processor in the ISA. It defines the data paths, processing data and storage elements.
- System Design: It is the collection of all hardware components in the system including data and processes. Memory controllers are hierarchies. The system is interconnected with computer buses and switches.
Computer Program
A computer program is a set of instructions that are executed to perform a particular task.
- A computer program includes functions, methods and variables.
- A program can be written in human-readable source code.
- Computer source code is written by professional computer programmers in a programming language.
- The source code can be converted into an executable code by a compiler or interpreter.
- Two computer programs running simultaneously is called “Multitasking”.
- Computer programs are loaded into RAM and are non-volatile. A program under execution is called process.