(a) General-Purpose Software: They are produced for a broad range of common business applications, such as MS-Word, MS-Excel, MS-PowerPoint, Tally, etc..
(b) Application-Dedicated or Customised Software: It includes specialised or customised applications designed for very specific purposes. For example, a software designed for State Bank of India (SBI) to handle the bank accounts and loans is highly customised, it cannot be used by LIC or some other organisation because their rules and policies may be different than SBI.
Open Source Operating System: Open source software refers to application developed in which user can access and alter source code itself. Open source means that you can get the source code of the program written in a certain programming language. Operating system is the software that you use to operate your PC like Windows or Linux.
Some open source applications also, have restrictions prior to their use and distribution but some do not have. Unlike the public domain software, open source software does have copyrights.
Examples of open source operating systems are: Kubuntu linux, Ubuntu linux, Suse linux, Elive linux, Mandriva linux.
Q.9. What are computer languages? It is said that an assembly language is “one for one’ but a highlevel language is ‘many for one’. Explain what does it mean.(2009-10)
Or Describe the characteristics of fourth generation languages. How is programming code reused to simplify a programmer’s job?(2008-09)
Or What are fourth generation languages?(2007-08)
Ans. Computer Language: A computer language is a means of communication used to communicate between user and the computer. With the help of a computer language, a programmer tells a computer what he/she wants it to do. Each symbol of a computer language is used to instruct the computer to do a particular job. It is different from a natural language.
The main difference between a natural language and a computer language is that natural languages have a large vocabulary but most computer languages use a very limited or restricted vocabulary. Each and every problem to be solved by a computer has to be broken down into discrete (simple and separate), logical steps which basically comprise of four fundamental operations-input and output operations, arithmetic operations, movement of information within the CPU and logical or comparison operations.
There are various programming languages available like that of assembly language, high level language, etc. Hence, creating a sequence of instructions to enable the computer to do something is technically termed as programming. It is the process of writing, testing, debugging and maintaining the source code of computer program.
Generations of Computer Language
Generations of computer language are classified as shown below:
1. Low-level Language: This language is close to the CPUs built-in instructions set. It has many machine dependent features.
Low-level language is of following types:
(a) Machine Language or First Generation Language (1GL): It is the most basic of all the languages. It consists of strings of numbers and is defined by hardware design. A computer understands only its native machine language, ie the commands in its instruction set. Machine code consists entirely of Os and 1s of the binary number system.
(b) Assembly Language or Second Generation Language (2GL): In this language, mnemonics are used to represent operations codes and strings of characters to represent addresses. There is a one to one correspondence between the assembly languages program and the equivalent machine language program. It is necessary for an assembly language programmer to know all details of a computer’s logical structure in order to write a program,
2. High-level Language or Third Generation Language(3GL): This language was developed to make programming easier. This is called high-level language because its syntax is closer to human language than it is to assembly or machine language code. So, it is called as many for one. Modern highlevel language is designed to support development of programs that model the real world problem. For example, Smalltalk, C++, Java, etc.
3. Fourth Generation Language (4GL): This language is also called as non-procedural language In this language, one has to describe what he/she wants to write in simple English like language. This language is machine dependent. It can be used on more than one type of computer and hence are portable. 4GL includes query languages, report generators, application generators. For example, SQL. Oracle, Foxpro, DBase, etc.
Characteristics of 4GL
The characteristics of 4GL are given as under:
(a) 4GL is very precise in nature, i.e. programs need very less number of instructions. –
(b) It is non-procedural. It is simple to write programs in these languages.
(c) The programs written in 4GL are structure independent, i.e. instructions may be written in
A programming code can be reused as 4GL have programmes that need very less number of instructions and a large program can be replaced by a small program using the 4GLs. This simplifies the programmer’s job also.
4. Fifth Generation Language (5GL): It is a programming language based around solving problems using constraints given to the program rather than using an algorithm written by a programmer. This language is designed to make the computer solve a given problem without the programmer. It is used mainly in artificial intelligence research. For example, prolog, OPS5 and mercury.
Characteristics of 5GL
The characteristics of 5GL are given as under:
(a) Consume much less power than their predecessors.
(b) More reliable than their predecessors.
(c) Cheaper than fourth generation computer.
Q.10. What do you mean by language processors?
Or What do you understand by the compiler for a high-level language? How it differs from the interpreter used for high-level language?
Or Explain compiler, interpreter and assembler.(2006-07) (2014-15
Or Explain any four points to differentiate between a compiler and an interpreter.(2013-14)
Or Differentiate between compiler and interpreter.
Ans. Language Processors: Computer understands only one language, i.e. machine language. So, if the programs are developed in other languages then they should be translated into machine language using the language translators (also called language processors). These are the softwares that read a program that is not in machine code and convert it into the machine understandable form. There are three types of language processors:
1. Assembler: Assembler is a translating program, which takes source program in assembly language as input and translates each instruction of the assembly code to equivalent machine code. For assembler, assembly program is called ‘Source Program’ and machine code is called the ‘Object Program’. Assembler is a type of system program, which is supplied by the computer manufacturer
2. Compiler: Compiler is a translating program that translates the instructions of a high-level language into machine language. For compiler, a program written by a programmer in a high-level language is called a ‘Source program’ and after compilation, it is referred to as an ‘Object program! The object code is permanently saved for future use and is used every time, the program is to be executed.
A compiler can translate only those source programs, which have been written in the language for which the computer is meant. For example, a CH compiler is only capable of translating source programs, which are written in C++, and therefore, each machine requires a separate compiler for each HLL.
3. Interpreter: An interpreter is a type of translator, which is
HLL into an internal form, used for translating HLL code into machine code. An interpreter just as a compiler does. translates one instruction and the control unit executes the resulting machine code, the next instruction is translated and the control unit executes the machine code instructions and so on.