0% found this document useful (0 votes)
893 views

06 Essential Components of Computersf

This document discusses the essential components of computers. It defines hardware as the physical parts of a computer system like the CPU, memory, keyboard, etc. Software is defined as programs that allow the hardware to function. Firmware refers to low-level routines stored in read-only memory. Liveware refers to people who use, develop, and maintain computer systems. The relationship between hardware and software is that software cannot function without hardware to run on, while hardware is useless without software to control it. System software acts as an interface between the hardware, user, and application software. It includes the operating system and language processors. The operating system manages computer resources and provides a programming environment for application software.

Uploaded by

mohantyom
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
893 views

06 Essential Components of Computersf

This document discusses the essential components of computers. It defines hardware as the physical parts of a computer system like the CPU, memory, keyboard, etc. Software is defined as programs that allow the hardware to function. Firmware refers to low-level routines stored in read-only memory. Liveware refers to people who use, develop, and maintain computer systems. The relationship between hardware and software is that software cannot function without hardware to run on, while hardware is useless without software to control it. System software acts as an interface between the hardware, user, and application software. It includes the operating system and language processors. The operating system manages computer resources and provides a programming environment for application software.

Uploaded by

mohantyom
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

6

ESSENTIAL COMPONENTS OF COMPUTERS


OBJECTIVES
OBJECTIVES In This Chapter, We Will Learn what is Hardware, Sofware, Firmware, Liveware Learn the relationship between hardware and software Learn the types of software system Learn application and general purpose software Learn various generation of languages Learn Language processors, translators, compilers, and interpreters.

INTRODUCTION A computer system is usually defined as combination of hardware and software. Computer hardware is the physical equipment. Software is the collection of programs that allow the hardware to do its job. In this chapter we will introduce essential components of computers such as Hardware, Firm ware, Live ware and Software. The objective of this chapter is to make aware, the user of computer, about the concepts of software. Computer System Hardware System Software
[6.1]

Software Application

Fig. 6.1: Hierarchy in Computer System

6.2

Computer Fundamentals

6.1 BASIC TERMINOLOGIES 6.1.1 Hardware Hardware refers to the physical components of a computer system, including any peripheral (I/O) equipment such as keyboard printers, modems and mouse etc. 6.1.2 Firmware Firmware refers to a software routines stored in read only memory (ROM), Since read only memory in nonvolatile memory i.e., it stays intact even in absence of electrical power, thus startup routines and low level input/ output instructions are stored in firmware. It falls between software and hardware in terms of ease of modification. Early, in the history of digital computing, the distinction was made between the hardware - the tangible components of digital system and Software - the collection of instructions to solve a problem as intangible medium such as magnetic tape, disk, etc. Supporting the Softness interpretation of the software, it was felt that when recorded on a magnetic medium, it could be modified easily. When programs recorded on a medium such as ROM and embodied in hard-wired computer circuity, then it was no longer Soft enough to be modified. It was to be classified as either software or hardware. To solve this nomenclature dilemma firmware term was coined. The term firmware originated in mid 1960s by IBM. IBM provided optional firmware that could be added to IBM 360 to execute IBM 1400 series programs through emulation. It is thus useful in new architectures that include the ability to run programs written for older architectures. It makes one computer appear as if it were another. These small routines/micro programs are run in high speed control storage even faster than primary storage. Note : Emulation is a technique in which one computer is made to appear as if it was another. 6.1.3 Liveware Liveware a slang term for people, which is used to distinguish them from hardware, software and firmware. Liveware may be the end users, programmers, or application programmers. They are basically the people who use hardware and software (or computer system) to develop, maintain and use information system residing in the computer memory.

Essential Components of Computers

6.3

6.1.4 Software Software consists of all the instructions that instruct the computer to perform intended task. The word software originated in 1960 to describe non-hardware component of the computer system. Primarily, it is the program that user needed to make the computers perform their intended job. The software is generally used in connection with all kinds of programs, that are not limited to one particular task or application. The software may be system software, or mathematical software, or business application software. 6.2 RELATIONSHIP BETWEEN HARDWARE AND SOFTWARE In order to complete any job/task and to produce meaningful output both hardware and software are necessary and must work together. It is simply that hardware is idle without a software and software cannot be utilized without a supporting hardware. Therefore, both hardware and software are complementary to each other. Software is held in physical medium, maybe on disk storage unit, and is composed of programs structure and data arranged in logical structures (not physical structures). The major difference between the two is that different sets of software applications may be used on a particular type of hardware configuration . Thus, hardware expenses is a one time expense and software is a continuous expense. The relationship between hardware and software can be seen in Fig.6.2.
User

cation Softwa Appli re S o f m t w e t are s Sy


Hardware

Fig. 6.2. : Relationship Between Hardware, Software & User

6.4

Computer Fundamentals

6.2.1 Distinction Between Hardware and Software Hardware Software

Physical components of computer Collection of programs designed for a specific need is called software. system are called hardware. Input device, Processing unit, Software can be divided into three Output devices and auxiliary stor- types-Application software, System software & General purpose age devices are called hardware. software. Keyboard, Mouse, Printer, CPU, Financial Accounting software, Operating System, MS-WORD are RAM are example of hardware. examples of software. Hardware is manufactured/as- Software is developed by software sembled by hardware manufacturing development firms. companies/ hardware vendors. Hardware is independent of software Software cannot be developed/used without hardware i.e. software is dependent on hardware. Hardware repair requires hardware Software development/modification engineer. requires software professionals like application Programme & System Programmer. It is bulky and requires more stor- Software can be copied on CD/ age space. DVD, which is lightweight and transportable. Hardware is supported by uninter- Software operation rupted power supply (UPS). requisite hardware. requires

Hardware can be assembled/ Software can be licensed or pirated. respective country branded or of MNC brand. 6.3 TYPES OF SOFTWARE SYSTEMS

Software is usually divided into two major categories:

Essential Components of Computers

6.5

Software System Software Application Software

Operating System

Language Utilities Processing

General

Tailor made

Figure 6.3A : Software Hierarchy 1. Application software 2. System software The Application software may be split to obtain a third category known as General Purpose Software. But, both application software and system software are written in some coding schemes, known as programming languages. As programming language is the basic entity of computer software, thus, description of various languages which have been existed so far, is presented in this chapter. Programming language is a set of rules which user has to follow to instruct the computer what operations are to be performed. Coding refers to writing the program. Computer languages are used to communicate to computer and to solve the problem through the computer by breaking the problem into discrete logical steps. In order to solve any problem, three basic operations are performed, namely, input, output, arithmetic or logical operations. Each computer language has its own predefined words and symbols (known as semantics), that are allowed to use as per some set of rules known as syntax rules. The various programming languages exist and are classified according to the level of abstraction, i.e., low level languages and high level languages. 6.4 SYSTEM SOFTWARE System software is a set of one or more programs, which are designed to control the operation and processing capability of a computer system. It acts as intermediary between computer hardware and application program, it also provides interface between user and computer. You must have observed new computer system is always given with some software, either stored in floppy or CD, which is supplied by the manufacturer.

6.6

Computer Fundamentals

This software manages and supports the computer system (hardware) and its information processing activities. System software is generally not noticed by the users, they usually work on without realising the importance and significance of computer software and the applications. This software provides a programming environment in which programmers can create applications. Hence, system software acts as an interface between the hardware of the computer and the software applications.
Computer User System Software
( WINDOWS 95, LINUX, DOS )

Application Software
( WORD, EXCEL, TALLY )

Computer User

Figure 6.3: System Software, Application software, and Hardware In simple terms, system software makes a computer functional. They provide basic functionality like file management (like creating, editing, storing and retrieving a file) a keyboard input, display on monitor and use of application software to accomplish these functions. The System Software are primarily of three types, given below: (a) Operating System/user interface (b) Language processors (compilers interpreties, assemblers, linkers). (c) Utilities. 6.5 OPERATING SYSTEM An operating system is a set of integrated programs, that manages overall performance and functioning of the computer system by controlling the resources such as CPU, memory, I/O devices, and overall flow of information within the system. It provides an interface between machine and its users. Operating systems are designed and developed to increase the machine capabilities. Operating systems programs are held in the computer memory, it makes operator free from inputing these program which are required to run each application. Operating system are also known as supervisor program. It is the first layer of software loaded into computer memory when computer starts up. Being the first software layer, all other software that gets loaded after it depends on their services. These services include user interface, memory

Essential Components of Computers

6.7

management, file management, I/o management, etc. Moreover, the operating system ensures that different programs executing at the same time do not interfere with each other. The operating system organises and controls the hardware. Examples of operating systems are DOS, Windows XP, UNIX, and Linux. Though operating system perform many functions but it is required to serve two purposes, these are : (1) Efficient use of hardware, and (2) Easy use of resources. 6.6 LANGUAGE PROCESSORS (TRANSLATORS/COMPILERS INTERPRETERS) Translator refers to program that translates on e language or data format into another. Programs that are executed by the computer must be in machine language form. Modern computer system supports much more convenient high level languages (HLL) for human use, along with language translators, usually compilers and rarely interpreters. 6.6.1 Compiler The compilers are the translators that translate source code (user written program) to object code (machine language program), the only form in which machine can execute. The Compiler analyses each statement in the source program and generates equivalent sequence of instructions in machine language called as object program, detecting simultaneously grammatical errors or syntax error in the source program. Thus, object code can be saved and executed as and when required without recompiling the source code. This saves the processing time, which is very precious. 6..6.2INTERPRETER In interpretation, a program or software called an interpreter which facilitates both translation and execution. It takes as input the source program and interleaves translation and execution of that program, so that the generated code corresponding to a portion of the source program is executed as it is produced. In a programming language, each statement of the source code is translated and executed before the next statement is translated into object code. The translated code is not saved, so if, the same statement is executed many times,

6.8

Computer Fundamentals

as in a loop, it will be translated each time. 6.6.3 Similarities and Differences Between Compilers and Interpreters. Compiler and Interpreters are language translators. They perform the same common function of reading and analysing source code. Any programming language may either be compiled or interpreted. Language with significant static properties (e.g. Fortran, ADA, C++) are almost always compiled, whereas language which are more dynamic in nature (e.g., Basic, Visual Basic, LISP, Small Talk) are more likely to be interpreted. Compilers are faster than interpreters, therefore, in cases where speed is critical, compilation is preferred over Interpretation. The advantage of interpretation is that the compilation step is avoided (useful during program development), and interpreter offers greater control over the execution environment and greater flexibility in adopting to different architectures. A few observations made regarding interpreter and compilers are given below: 1. Interpreters allow interactive environments, where user can evaluate statements and expressions while executing the program. 2. Interpreters usually provide better run-time error information because the source code is still available at run time. Under compilation, information about the source program that is used in generating error messages (e.g. variable names and line numbers) is not usually retained by the target program, so run-time error messages are often difficult to understand. 3. Interpreters are generally easier to write than compilers. Thus, they are more likely to be available for teaching and research languages. 4. Interpreters can be stored in read-only memory and, therefore, be instantly available whereas compilers are stored externally. 5. Using interpreter, translated code connot be saved, translation need to be performed during each run and also for each statement within loop. Compiler generated object codes can be saved and executed as and when required without recompiling the source code. 6. Compiler saves processing time which is very precious. However interpreter rather increases the processing time. 6.7 APPLICATION SOFTWARE Application software is a sequence of instructions coded in a programming language that directs computer hardware to perform specific data that provides functionality to user. Example of such programs are Payroll, General Accounting, Inventory Control. Different organization need different application programs specific to their need. The application program may be

Essential Components of Computers

6.9

customized or tailor-made according to their specific purpose. The special purpose programs are also known as packages. There are general purpose application programs which support generally used information processing instead of specific task. Application software is a set of one or more programs designed to do a specific task such as processing of student admission examination result, salary calculation, etc. The most often software seen and used by a user is the application software. It is used to accomplish specific tasks of a prespecified application rather than just managing a computer system. It may consist of a collection of programs,
00000000010 00000000200 00000003000 00000000002 00000000021

OUTPUT

INPUT

System Software
Hardware

Application Software

Fig. 6.4 : Relationship between Application and System Software often called a software package, which work together to accomplish a task, such as database management software (ORACLE, MS-ACCESS etc.). Applicaton softwares are dependent on system software. A system software i.e operating system acts as an interface between the user and the computer hardware, while application software performs specific tasks. Application softwares are controlled by system software, which manages hardware devices and performs background tasks and make it available to the user. The distinction between the two is that without system software, the computer will not run, and without application software, the computer, will not be helpful in meeting user requirements. Fig. 6.4 clearly shows the application get executed on the system software, which lies on the hardware layer. Application software may be games, calculators, and word processors (document creating programs), to programs that paint images on screen (image editors). Application software may further be classified in general

6.10

Computer Fundamentals

purpose software and tailor made text software, as described below. 6.7.1 General Purpose Packaged Software General purpose software refers to pre-written software that are designed for a variety of applications and uses. Such as visual Foxpro, Excel. etc. The packaged software are pre-written software this alternative is least expensive. But drawback of buying a package software is that the Software may not be exactly the same as per the requirements of the organisation. These software are not linked to specific business tasks but support the framework for a number of personal, business and scientific applications. Spread sheet, Computer Aided Design (CAD), Word Processing software fall in this category. For example an accountant can use General purpose software such as EXCEL or TALLY to create balance sheet of the company. MS Word can be used by general manager to draft a letter. Graphic software CAD/CAM enables, its uses to create store, edit, view architectural designs. Multimedia Software. Flash/Macro media allows its users to create animated movies with audio and video effects. Some of the General Purpose Application Software based on personal computers are described below: Applications represent real world tasks. They can be easily divided by looking at exactly what function they serve. Some of the most commonly used application software are discusses below. Word Processors : A word processor is a software used to compose, format, edit and print electronic documents using a personal computer. It involves not only typing but also checking the spelling and grammar of the text and arranging it correctly on the page. It is possible to include pictures, graphs, charts within the text of the document. It also allows for changes in margins, fonts, and colour. Examples of some well-known word processors are Microsoft Word and WordPerfect.

Fig. 6.5 : Word Processor

Essential Components of Computers

6.11

Spreadsheets : A spreadsheet application is a rectangular grid, which allows text, numbers, and complex functions to be entered into a matrix of thousands of individual cells. Spreadsheet software used primarily for accounting and other numericallybased tasks, because when financial figures are being manipulated then it further influence other data computations. Microsoft Excel and Lotus 1-2-3 are examples of spreadsheet applications.

Fig. 6.6 Spreadsheet Application Image editors : Image editor programs are designed specifically for capturing, creating, editing, and manipulating images with variety of special features to improve its appearance. With image editing software, one can darken or lighten an image, rotate it, adjust its contrast, crop out extraneous detail . Example of these programs are Adobe Illustrator, CorelDraw, and Adobe Photoshop.

Fig. 6.7 : Image Editing Software Database management system : Database management software is a set of computer programs that allow its user to create, store, modify, and extract

6.12

Computer Fundamentals

information from a database in an efficient manner. It supports the structuring of the database in standard format. New data records can be added to the database without making any changes in the existing system. It also controls the security and integrity of the database form unauthorised access. FoxPro and Oracle are examples of database management systems.

Figure: 6.8 Database Management System Software Presentation applications : A presentation combines both visual and verbal elements. Presentation software allows the user to create presentations by producing slides or handouts for presentation of projects. Microsoft Power Point is one of the most famous presentation application.

Fig. 6.9 : Presentation Software Desktop publishing software : The term desktop publishing is usually used to describe the creation of printed documents using a desktop computer. These

Essential Components of Computers

6.13

softwares are used for creating magazines, books, newsletters, etc. having sophisticated page designs, detailed illustrations, and camera-ready typefaces. Quark Express and Adobe PageMaker are desktop publishing software.

Fig. 6.10 : Desktop Publishing Software 6.7.2 Tailored Made Software Custom Software/Tailor made Software refers to any type of program developed for a particular client to address a special need. Certain general purpose software such as dBASE, Foxpro and Lotus 1-2-3 are designed to provide tools and flexibility required for producing tailor made applications. Often it happens that application/General Software do not meet the requirements of its users or utilities/tools provided in the software are not of any use for a particular job. Thus, a customized Software package can be developed in-house to meet users requirement. In order to develop tailor made software following steps need to be performed, these are: 1. Identify the user requirements and list them out. 2. Analyse the functional modules and decide for in-house development or select a vendor to develop that software that meets the user requirement. 3. Process the tailor made software development in various stages such as coding, testing, debugging, documentation, implementation and training for the planned program. 4. Skilled staff needed to repair and maintain the soft-ware. If software is developed by outside party. It is easier to carry out changes in the software, if it is developed in-house. Tailor made software is usually developed by in-house programmers. The

6.14

Computer Fundamentals

main advantage of the tailor made software is that software is designed for the exact needs of the organisation. But developing a software in-house may be very time consuming and expensive proposition. 6.8 COMPUTER PROGRAMMING LANGUAGES Programming language is a set of rules which user has to follow to instruct the computer what operations are to be performed. Coding refers to writing the program. Computer languages are used to communicate to computer and to solve the problem through the computer by breaking the problem into discrete logical steps. In order to solve any problem, three basic operations are performed, namely, input, output, arithmetic or logical operation. Each computer language has its own predefined words and symbols (known as semantics), that are allowed to use as per some set of rules known as syntax rules. The various programming languages exist and are classified according to the level of abstraction, i.e. low level languages and high level languages as discussed below: 6.8.1 First Generation Language (1945) : Low Level Languages Machine Language - The first generation language was the machine language closet to the machine interpretable form, where the opcode (instruction of operation) and operands were all in their notation of binary codes i.e., in 1s (ones) and Os zeros. Thus, it is known as low level language. The programmer was directly dealing with a lot of machine dependencies and coding was error prone, because for coding complex instruction in ones and zeros was a tedious task. Moreover, these programs were difficult to modify, as programmer had to remember opcodes. However, these programs were executed faster. For example: 0000 11 100 110 100101, this instruction to the computer can be interpreted, well, only by computer itself and utilized only by someone well versed Machine language is the basic language of the computer, representing data as 1s and 0s. It is machine dependent language. 6.8-2 Second Generation Languages (Mid 1950s) Assembly Language - The second generation of languages, assembly language-a low level language, was an attempt to bring the access of programming to friendlier levels. Though now assembly language looks like a feeble attempt in that direction, it introduced the very concept behind nearly all software today - the assembler. The assembler, provided with the machine, is a software that converts user friendly code to machine inter-

Essential Components of Computers

6.15

pretable code. Assembly language used a set of mnemonics (mnemonics means an aid to machine) to represent instructions, and comfort in machine usage, that improved to the extent of being able to quickly read/ write the required instructions rather than zeros and ones. Secondly, memory address references in the operands used symbolic rather than numeric addresses specified as a binary number. An important aspect of the assembly program is that it is just one step away from the machine language and there is one to one correspondence between the machine language statements produced by the assembler and the original assembly statements. Thus, it is known as low level language. There are three types of assembly statements, as follows:. a. Normal instructions b. Data statements c. Pseudo instructions Assembly language is a low-level programming language that allows a user to write programs using letters and symbols (abbreviations) which are more easily remembered Assembler is a system software which translates an assembly language program to its machine language equivalent. (a) Normal instructions are instructions using mnemonics and have following format: label mnemonic operand A label is an alphanumeric string that can be used as a reference. A mnemonic is an alphanumeric character string that substitutes for the opcode in terms of ones an zeros. The operand is the subject of the operation, it is the address of a location holding a value itself, written as a symbolic. Using symbolic address makes the job of a programmer easier. However, the programmer can also specify the operands as numeric addresses using a decimal, octal or a hexadecimal number. (b) Data statements are those instructions involved in the allocation and initialization of storage areas. i.e. Start Program at 000 Start Data at 001 (c) Pseudo instructions are those set of instructions which are directives to the assembler. An example: LDA - A - (Ol)h A system software, assembler accomplishes translating an assembly language program into machine language (see Fig. 6.11)

6.16

Computer Fundamentals

Assembly language Assembler Machine language Input Output program program Source Program Fig. 6.11: Translation Procedure Of An Assembler Advantages of assembly language compared to machine language - Assembly language posses certain advantages compared to machine language these are: 1. Easy-to-understand - Mnemonic codes (OP codes) and symbolic names (used for storage locations) are English like, thus, easy to understand and write than numeric codes used in machine language. 2. Highly efficient - Assembly language programs are very efficient in terms of executions and main memory usage. 3. Easy to modify - As insertion and deletion of certain instruction from the program do not require any change in the address (operand) part of the instruction, where as it is a matter of concern in case of machine language. 4. Easy to update - Moreover, programmer is not required to keep track of storage locations thus it is less prone to errors. Also assembler are developed and designed in such a way that it automatically detects an error if invalid mnemonic is entered. Limitation of using assembly language are same as machine language such as: 1. Machine dependent. 2. Not portable. 3. Knowledge of hardware required. 4. A simple program requires large number of lines of code. 5. Not used for generalised business application softwares, such as inventory, payroll, accounts receivable etc.

Essential Components of Computers

6.17

6.9 CHARACTERISTICS OF LOW LEVEL LANGUAGES & HIGH LEVEL LANGUAGES Characteristic
1. 2. Machine dependence Learn and use

Low Level languages


Highly Machine dependent Difficult to learn and use as codes are difficult to understand. Difficult to maintain and update Likely to have more errors as machine level steps are written Requires high preparation cost and time More flexible

High level languages


Machine Independent. Easy to learn and use as English like languages. Easy to and update maintain

3. 4.

Maintainability Errors

Less likely to have errors because small steps are not written. Requires less time, effort and thus less cost. Less flexible as programmers are restricted to a set of syntax and semantics. Slower execution as it is first converted to machine level Requires compiler or interpreter Less lines of instructions are required Highly portable

5.

Preparation cost/time Flexibility

6.

7.

Execution speed

Runs faster as it is directly executable Requires no compiler/ interpreter Usually more lines of codes are required for a smaller program Not portable

8.

Compiler/ Interpreter Length of code

9.

10. Portability

6.10 THIRD GENERATION LANGUAGES (EARLY 1960s) : HIGHLEVEL LANGUAGES Procedural Languages- The third generation languages are what is normally referred to as high level, procedural languages or compiler languages. These languages shield us from the need to work with primitive instructions like MOVE, ADD, JUMP, etc. They offer us the ability to code complex logical constructs in a language closer to English, than, the

6.18

Computer Fundamentals

use of primitive instructions available in assembly language. A program written in assembly language would only run on a hardware platform that supports the corresponding machine language. To make the same program to run on another hardware platform, the program would have to be rewritten in the assembly language of that computer. A major feature of the third generation languages is their hardware independence. The same program written in high level language could be made to run on diverse hardware platform, provided the platform supports a compiler for that high level language. In terms of its approach to ease programming, Third Generation Languages were a major step forward. It opened up the area of computer usage to a vast multitude of programmers, whose use of the computer as a tool for problem solving was met by their ability to create solutions in the environment offered to them. For a procedural language to work on a computer, it requires a language translator to translate it into machine language. Depending on the procedural language, either of the two types of translator may be used i. e. a compiler or an interpreter. The third generation of languages was built around a type definition, a set of data structures, operations defined on the various types, and a set of procedural constructs that enabled the programmer to manipulate variables. The more popular third generation languages are BASIC, Pascal, COBOL, FORTRAN, C. All these languages are aimed at a particular type of end user, and in a narrow sort of a way offer a programming environment that is suitable for developing software of a certain category. For example, FORTRAN is a language designed to suit programmers working on scientific applications, while COBOL was primarily meant for use in a commercial environment. 6.11 FOURTH GENERATION LANGUAGES (4 GL, EARLY 1970s) Non-procedural Language - 4GLs, also known as non-procedural useroriented languages, allow the user to specify the desired form of output to be obtained without describing the detailed procedure of data manipulation to produce the desired result. As the procedure oriented languages of 3rd generation Programming enabled only technical or programmer to use the computer, the flexibility provided by 4GLs allowed even non-technical user to carry out specific functional tasks in quick and easy manner. 4GLs are basically command oriented language, designed primarily for end user to query data base and create information system. Therefore, the programming process and errors get reduced to a great extent. 4GL usually contain a few set of commands, which are easy to learn. Generally application generator, query report generator, data manipulation languages (i.e. SQL, QBE) etc. pro-

Essential Components of Computers

6.19

vided by Data Base Management System (DBMS) are considered to be 4GLs. 4GL may be Production oriented or User oriented. Generally computer professionals use production oriented 4GL to create an information system. These 4GLs have enhancement over COBOL PL/I, etc., where as user oriented is for end user for querying purposes, as explained above. Table 6.12 : Comparison between 3GL and 4GL Third Generation Languages
1. Provide programming environment used by professional programmers

Fourth Generation Languages


Provide non-programming environment, generally used by end user by submitting a

to generate application program. query to an application program (may be developed using 3GL)
2. 3. In 3GL emphasis is given on how to perform a task. Require large number of instructions to be coded and all possible alternatives must be specified 4. 5. In 4GL emphasis is on what to perform. It is command oriented, thus requires few instructions to be coded. End user is not concerned with alternatives

Difficult to code, read and maintain Easy to code, understand and maintain Programmer need to follow syntax English-like, command oriented, easy to

and semantics of a language, thus difficult to learn.


6. 7. 8. Originally, language developed for batch operation Difficult to debug

learn. Language developed primarily for on line use. Easy to debug

File-oriented programming language Database oriented language

6.12 FIFTH GENERATION LANGUAGE (EARLY 1980s): NATURAL LANGUAGES Natural language programming Language - at ural Language Programming is used to improve the user interface with 4GLs. These languages are primarily used to represent mimic representation of human reasoning to make computer artificially intelligent. Generally, Expert systems are developed in fifth generation languages. The purpose of such software is for games (i.e. playing chess, cricket and many more on the computer) medicine and industrial applications. These are non-procedural and portable (machine independent) languages. They usually require translation program to translate them into structural machine-readable form. Its translated code is extremely complex and requires a large amount of computer resources. Examples of fifth generation languages are LISP and Prolog.

6.20

Computer Fundamentals

6.14 NEW PROGRAMMING LANGUAGE Object Oriented Programming - New Programming languages have been developed since the last decade. The development of these languages were designed to fit new technologies and real events of life such as multimedia,. web page designing, Internet, etc. Object oriented programming language is one that has gained popularity as it has been widely used. The basic objective of designing OOP was to simulate real world problems, as real world contains objects only. Thus, OOP language supports the features to define, create, store and manipulate objects and all different objects to communicate with each other. However the concept of object was missing in traditional programming. Basically, object consists of procedures (known as methods) and some data. Thus, each object can be viewed as an abstract data type, because an object encapsulate both data and functions. However, conventional programming language includes data and procedures, therefore, due to encapsulation feature of OOP language that keeping data and sequence of operations into abstract entries, OOP has become more powerful. Similar objects are grouped and classified as a specific class of things which further becomes the building blocks of programming. The same object can be used repeatedly by a process known as reusability. By reusing program code, programmer can write programs efficiently and can reduce errors. Object oriented programming languages offer advantages such as reusable code, lesser cost, reduced errors and testing, faster implementation, etc. The popular object oriented languages include C++, Java, Visual Basic etc. Object Oriented Programming (OOP) refers to programming methodology which deals with solving problems by identifying real world objects of the problem and the processing required of those objects and then communication among them. Thus, OOP provides a powerful modeling tool than procedure oriented programming. SUMMARY A computer system is a combination of hardware and software. Hardware are physical components of a computer system and software refers to collection of instructions to solve a problem. Whereas firmware refers to software routines stored in read only memory. Liveware refers to users, programmers.

Essential Components of Computers

6.21

Software are of two types : (a) Application software General purpose Tailor made (b) System Software Operating System Utilities Language processors Application software are set of programs designed to do specific task. They may be general purpose or tailor made. System software are designed to control the operation and extend the processing capability of the Computer system. They are operating system, language processors and utilities. Operating System design goals are (i) Efficient use of hardware and (ii) Easy to use resources. REVIEW QUESTIONS 1. Fill in the blanks: (a) ........ supervisor the activity of each component in a Computer System (Operating System/Application Program) (b) ........Software are developed for a particular client to address a special need. (General purpose Software/Tailor made software) (c) ........manages overall performance and functioning of the computer system. (Programs/Operating System). (d) Languages are machine dependent. (Low Level/High Level) 2. What do you understand by the term computer software? What purpose does it serve? 3. What is the relationship between computer hardware and software ? 4. Differentiate between the following : (a) System software and Application software. (b) High Level languages and Low level languages (c) Software and Firmware. (d) Firmware and Liveware. 5. What are utility software ? Where they are used ? 6. What is operating system ?

6.22

Computer Fundamentals

7. Differentiate between third generation language with fourth generation languages. 8. Describe the main characteristics of assembly language. 9. List the advantages of assembly language compared to machine language. 10. Write short notes on the following: (a) Pre-written software (b) GUI (c) Tailormade Software (d) Public domain software 11. What is firmware? State the use of firmware. 12. List two key functions performed by the system software of a computer system. 13. What is an application software. Give two examples and explain their functionality. 14. Describe the main features of object oriented language. 15. Differentiate between General Purpose, Package software and Tailor made software. 16. Descibe the limitation of assembly language.

You might also like