06 essential components of computersf

22
ESSENTIAL COMPONENTS OF COMPUTERS 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. OBJECTIVES 6 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 Software System Application Software Fig. 6.1: Hierarchy in Computer System [6.1]

Upload: mohantyom

Post on 31-Dec-2015

48 views

Category:

Documents


2 download

DESCRIPTION

cxcx

TRANSCRIPT

ESSENTIAL COMPONENTSOF COMPUTERS

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.

OBJECTIVES

6

INTRODUCTION

A computer system is usually defined as combination of hardware and software.Computer hardware is the physical equipment. Software is the collection ofprograms that allow the hardware to do its job. In this chapter we will introduceessential components of computers such as Hardware, Firm ware, Live wareand Software. The objective of this chapter is to make aware, the user ofcomputer, about the concepts of software.

Computer System

Hardware Software

System ApplicationSoftware

Fig. 6.1: Hierarchy in Computer System

[6.1]

Computer Fundamentals6.2

6.1 BASIC TERMINOLOGIES

6.1.1 Hardware

Hardware refers to the physical components of a computer system, includingany peripheral (I/O) equipment such as keyboard printers, modems and mouseetc.

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 evenin absence of electrical power, thus startup routines and low level input/output instructions are stored in firmware. It falls between software andhardware in terms of ease of modification.

Early, in the history of digital computing, the distinction was made betweenthe hardware - the tangible components of digital system and Software - thecollection of instructions to solve a problem as intangible medium such asmagnetic tape, disk, etc. Supporting the “Softness” interpretation of thesoftware, it was felt that when recorded on a magnetic medium, it could bemodified easily. When programs recorded on a medium such as ROM andembodied in hard-wired computer circuity, then it was no longer “Soft” enoughto be modified. It was to be classified as either “software” or “hardware”. Tosolve this nomenclature dilemma firmware term was coined.

The term firmware originated in mid 1960s by IBM. IBM provided optionalfirmware that could be added to IBM 360 to execute IBM 1400 series programsthrough emulation. It is thus useful in new architectures that include the abilityto run programs written for older architectures. It makes one computer appearas if it were another. These small routines/micro programs are run in highspeed control storage even faster than primary storage.

Note : Emulation is a technique in which one computer is made to appear asif it was another.

6.1.3 Liveware

Liveware a slang term for people, which is used to distinguish themfrom 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 computersystem) to develop, maintain and use information system residing in thecomputer memory.

Essential Components of Computers 6.3

6.1.4 Software

Software consists of all the instructions that instruct the computer toperform intended task.

The word software originated in 1960 to describe non-hardware componentof the computer system. Primarily, it is the program that user needed to makethe computers perform their intended job. The software is generally used inconnection with all kinds of programs, that are not limited to one particulartask or application. The software may be system software, or mathematicalsoftware, or business application software.

6.2 RELATIONSHIP BETWEEN HARDWARE AND SOFTWARE

In order to complete any job/task and to produce meaningful output bothhardware and software are necessary and must work together. It is simply thathardware is idle without a software and software cannot be utilized without asupporting hardware. Therefore, both hardware and software arecomplementary to each other. Software is held in physical medium, maybe ondisk storage unit, and is composed of programs structure and data arranged inlogical structures (not physical structures). The major difference between thetwo is that different sets of software applications may be used on a particulartype of hardware configuration . Thus, hardware expenses is a one time expenseand software is a continuous expense. The relationship between hardwareand software can be seen in Fig.6.2.

Hardware

System Software

User

Application Software

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

Computer Fundamentals6.4

6.2.1 Distinction Between Hardware and Software

6.3 TYPES OF SOFTWARE SYSTEMS

Software is usually divided into two major categories:

Hardware

Physical components of computersystem are called hardware.

Input device, Processing unit,Output devices and auxiliary stor-age devices are called hardware.

Keyboard, Mouse, Printer, CPU,RAM are example of hardware.

Hardware is manufactured/as-sembled by hardware manufacturingcompanies/ hardware vendors.

Hardware is independent of software

Hardware repair requires hardwareengineer.

It is bulky and requires more stor-age space.

Hardware is supported by uninter-rupted power supply (UPS).

Hardware can be assembled/respective country branded or ofMNC brand.

Software

Collection of programs designed fora specific need is called software.

Software can be divided into threetypes-Application software, Systemsoftware & General purposesoftware.

Financial Accounting software,Operating System, MS-WORD areexamples of software.

Software is developed by softwaredevelopment firms.

Software cannot be developed/usedwithout hardware i.e. software isdependent on hardware.

Software development/modificationrequires software professionals likeapplication Programme & SystemProgrammer.

Software can be copied on CD/DVD, which is lightweight andtransportable.

Software operation requiresrequisite hardware.

Software can be licensed or pirated.

Essential Components of Computers 6.5

Software

System Software Application Software

Operating Language Utilities General Tailor madeSystem Processing

Figure 6.3A : Software Hierarchy

1. Application software

2. System software

The Application software may be split to obtain a third category known asGeneral Purpose Software. But, both application software and system softwareare written in some coding schemes, known as programming languages. Asprogramming language is the basic entity of computer software, thus,description of various languages which have been existed so far, is presentedin this chapter.

Programming language is a set of rules which user has to follow toinstruct 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 theproblem through the computer by breaking the problem into discrete logicalsteps. In order to solve any problem, three basic operations are performed,namely, input, output, arithmetic or logical operations. Each computer languagehas its own predefined words and symbols (known as semantics), that areallowed to use as per some set of rules known as syntax rules. The variousprogramming languages exist and are classified according to the level ofabstraction, 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 tocontrol the operation and processing capability of a computer system. Itacts 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 somesoftware, either stored in floppy or CD, which is supplied by the manufacturer.

Computer Fundamentals6.6

This software manages and supports the computer system (hardware) and itsinformation processing activities.

System software is generally not noticed by the users, they usually work onwithout realising the importance and significance of computer software andthe applications. This software provides a programming environment in whichprogrammers can create applications. Hence, system software acts as aninterface between the hardware of the computer and the software applications.

Figure 6.3: System Software, Application software, and Hardware

In simple terms, system software makes a computer functional. They providebasic functionality like file management (like creating, editing, storing andretrieving a file) a keyboard input, display on monitor and use of applicationsoftware to accomplish these functions. The System Software are primarilyof 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 overallperformance and functioning of the computer system by controlling theresources such as CPU, memory, I/O devices, and overall flow ofinformation within the system. It provides an interface between machineand its users.

Operating systems are designed and developed to increase the machinecapabilities. Operating system’s programs are held in the computer memory,it makes operator free from inputing these program which are required to runeach application. Operating system are also known as supervisor program.

It is the first layer of software loaded into computer memory when computerstarts up. Being the first software layer, all other software that gets loadedafter it depends on their services. These services include user interface, memory

System Software

( WINDOWS 95, LINUX,DOS )

ComputerUser

ComputerUser

Application Software

( WORD, EXCEL, TALLY )

Essential Components of Computers 6.7

management, file management, I/o management, etc. Moreover, the operatingsystem ensures that different programs executing at the same time do notinterfere with each other. The operating system organises and controls thehardware. Examples of operating systems are DOS, Windows XP, UNIX, andLinux. Though operating system perform many functions but it is required toserve two purposes, these are :

(1) Efficient use of hardware, and

(2) Easy use of resources.

6.6 LANGUAGE PROCESSORS (TRANSLATORS/COMPILERSINTERPRETERS)

Translator refers to program that translates on e language or data formatinto another.

Programs that are executed by the computer must be in machine languageform. Modern computer system supports much more convenient high levellanguages (HLL) for human use, along with language translators, usuallycompilers and rarely interpreters.

6.6.1 Compiler

The compilers are the translators that translate source code (user writtenprogram) to object code (machine language program), the only form inwhich machine can execute.

The Compiler analyses each statement in the source program and generatesequivalent sequence of instructions in machine language called as objectprogram, detecting simultaneously grammatical errors or syntax error in thesource program. Thus, object code can be saved and executed as and whenrequired 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 whichfacilitates both translation and execution. It takes as input the sourceprogram and interleaves translation and execution of that program, sothat the generated code corresponding to a portion of the source programis executed as it is produced.

In a programming language, each statement of the source code is translatedand executed before the next statement is translated into object code. Thetranslated code is not saved, so if, the same statement is executed many times,

Computer Fundamentals6.8

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 samecommon function of reading and analysing source code. Any programminglanguage may either be compiled or interpreted. Language with significantstatic properties (e.g. Fortran,ADA, C++) are almost always compiled, whereaslanguage which are more dynamic in nature (e.g., Basic, Visual Basic, LISP,Small Talk) are more likely to be interpreted. Compilers are faster thaninterpreters, therefore, in cases where speed is critical, compilation is preferredover Interpretation. The advantage of interpretation is that the compilationstep is avoided (useful during program development), and interpreter offersgreater control over the execution environment and greater flexibility inadopting to different architectures.

A few observations made regarding interpreter and compilers are given below:

1. Interpreters allow interactive environments, where user can evaluatestatements and expressions while executing the program.

2. Interpreters usually provide better run-time error information becausethe source code is still available at run time. Under compilation,information about the source program that is used in generating errormessages (e.g. variable names and line numbers) is not usually retainedby the target program, so run-time error messages are often difficult tounderstand.

3. Interpreters are generally easier to write than compilers. Thus, they aremore likely to be available for teaching and research languages.

4. Interpreters can be stored in read-only memory and, therefore, beinstantly available whereas compilers are stored externally.

5. Using interpreter, translated code connot be saved, translation need tobe performed during each run and also for each statement within loop.Compiler generated object codes can be saved and executed as andwhen required without recompiling the source code.

6. Compiler saves processing time which is very precious. Howeverinterpreter rather increases the processing time.

6.7 APPLICATION SOFTWARE

Application software is a sequence of instructions coded in a programminglanguage that directs computer hardware to perform specific data that providesfunctionality to user. Example of such programs are Payroll, GeneralAccounting, Inventory Control. Different organization need differentapplication 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 specialpurpose programs are also known as “packages”. There are general purposeapplication programs which support generally used information processinginstead of specific task.

Application software is a set of one or more programs designed to do aspecific 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. Itis used to accomplish specific tasks of a prespecified application rather thanjust managing a computer system. It may consist of a collection of programs,

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 softwarei.e operating system acts as an interface between the user and the computerhardware, while application software performs specific tasks. Applicationsoftwares are controlled by system software, which manages hardware devicesand performs background tasks and make it available to the user. The distinctionbetween the two is that without system software, the computer will not run,and without application software, the computer, will not be helpful in meetinguser requirements. Fig. 6.4 clearly shows the application get executed on thesystem 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

ApplicationSoftware

System Software

Hardware

0000000001000000000200000000030000000000000200000000021

INPUT

OUTPUT

Computer Fundamentals6.10

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 designedfor a variety of applications and uses. Such as visual Foxpro, Excel. etc.

The packaged software are pre-written software this alternative is leastexpensive. But drawback of buying a package software is  that the Softwaremay not be exactly the same as per the requirements of the organisation.

These software are not linked to specific business tasks but support theframework for a number of personal, business and scientific applications.Spread sheet, Computer Aided Design (CAD), Word Processing software fallin this category. For example an accountant can use General purpose softwaresuch as EXCEL or TALLY to create balance sheet of the company. MS Wordcan be used by general manager to draft a letter. Graphic software CAD/CAMenables, its uses to create store, edit, view architectural designs. MultimediaSoftware. Flash/Macro media allows its users to create animated movies withaudio and video effects. Some of the General Purpose Application Softwarebased on personal computers are described below:

Applications represent real world tasks. They can be easily divided by lookingat exactly what function they serve. Some of the most commonly usedapplication 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 involvesnot only typing but also checking the spelling and grammar of the text andarranging 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 MicrosoftWord and WordPerfect.

Fig. 6.5 : Word Processor

Essential Components of Computers 6.11

Spreadsheets : A spreadsheet application is a rectangular grid, which allowstext, numbers, and complex functions to be entered into a matrix of thousandsof individual cells.

Spreadsheet software used primarily for accounting and other numerically-based tasks, because when financial figures are being manipulated then itfurther influence other data computations. Microsoft Excel and Lotus 1-2-3are 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 toimprove its appearance. With image editing software, one can darken or lightenan image, rotate it, adjust its contrast, crop out extraneous detail . Example ofthese programs are Adobe Illustrator, CorelDraw, and Adobe Photoshop.

Fig. 6.7 : Image Editing Software

Database management system : Database management software is a set ofcomputer programs that allow it’s user to create, store, modify, and extract

Computer Fundamentals6.12

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

Figure: 6.8 Database Management System Software

Presentation applications : A presentation combines both visual and verbalelements. Presentation software allows the user to create presentations byproducing slides or handouts for presentation of projects. Microsoft PowerPoint is one of the most famous presentation application.

Fig. 6.9 : Presentation Software

Desktop publishing software : The term desktop publishing is usually usedto 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. havingsophisticated 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 programdeveloped for a particular client to address a special need. Certain generalpurpose software such as dBASE, Foxpro and Lotus 1-2-3 are designed toprovide tools and flexibility required for producing tailor made applications.

Often it happens that application/General Software do not meet therequirements of its users or utilities/tools provided in the software are not ofany use for a particular job. Thus, a customized Software package can bedeveloped in-house to meet users requirement. In order to develop tailor madesoftware 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 developmentor select a vendor to develop that software that meets the userrequirement.

3. Process the tailor made software development in various stages such ascoding, testing, debugging, documentation, implementation and trainingfor the planned program.

4. Skilled staff needed to repair and maintain the soft-ware. If software isdeveloped by outside party. It is easier to carry out changes in thesoftware, if it is developed in-house.

Tailor made software is usually developed by in-house programmers. The

Computer Fundamentals6.14

main advantage of the tailor made software is that software is designed forthe exact needs of the organisation. But developing a software in-house maybe very time consuming and expensive proposition.

6.8 COMPUTER PROGRAMMING LANGUAGES

Programming language is a set of rules which user has to follow toinstruct the computer what operations are to be performed.

Coding refers to writing the program.

Computer languages are used to communicate to computer and to solvethe problem through the computer by breaking the problem into discretelogical steps. In order to solve any problem, three basic operations areperformed, namely, input, output, arithmetic or logical operation. Eachcomputer language has its own predefined words and symbols (known assemantics), that are allowed to use as per some set of rules known as syntaxrules. The various programming languages exist and are classified accord-ing to the level of abstraction, i.e. low level languages and high levellanguages as discussed below:

6.8.1 First Generation Language (1945) : Low Level Languages

Machine Language - The first generation language was the machine languagecloset to the machine interpretable form, where the opcode (instruction ofoperation) 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 programmerwas directly dealing with a lot of machine dependencies and coding was errorprone, because for coding complex instruction in ones and zeros was a tedioustask. Moreover, these programs were difficult to modify, as programmer hadto remember opcodes. However, these programs were executed faster. Forexample: 0000 11 100 110 100101, this instruction to the computer can beinterpreted, well, only by computer itself and utilized only by someone wellversed

Machine language is the basic language of the computer, representingdata as 1s and 0s. It is machine dependent language.

6.8-2 Second Generation Languages (Mid 1950s)

Assembly Language - The second generation of languages, assemblylanguage-a low level language, was an attempt to bring the access ofprogramming to friendlier levels. Though now assembly language lookslike a feeble attempt in that direction, it introduced the very concept behindnearly all software today - the assembler. The assembler, provided with themachine, 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 (mnemonicsmeans ‘an aid to machine’) to represent instructions, and comfort inmachine 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 thannumeric addresses specified as a binary number.

An important aspect of the assembly program is that it is just one step awayfrom the machine language and there is one to one correspondencebetween the machine language statements produced by the assembler and theoriginal 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 auser to write programs using letters and symbols (abbreviations) whichare more easily remembered

Assembler is a system software which translates an assembly languageprogram to its machine language equivalent.

(a) Normal instructions are instructions using mnemonics and have follow-ing format:

label mnemonic operand

A label is an alphanumeric string that can be used as a reference. Amnemonic is an alphanumeric character string that substitutes for theopcode 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, theprogrammer can also specify the operands as numeric addresses using adecimal, octal or a hexadecimal number.

(b) Data statements are those instructions involved in the allocation andinitialization of storage areas.

i.e. Start Program at 000

Start Data at 001

(c) Pseudo instructions are those set of instructions which are directives tothe assembler. An example:

LDA - A - (Ol)h

A system software, assembler accomplishes translating an assembly languageprogram into machine language (see Fig. 6.11)

Computer Fundamentals6.16

Assembly

language Assembler Machine language

program program

Source Program

Fig. 6.11: Translation Procedure Of An Assembler

Advantages of assembly language compared to machine language - Assem-bly language posses certain advantages compared to machine languagethese are:

1. Easy-to-understand - Mnemonic codes (OP codes) and symbolicnames (used for storage locations) are English like, thus, easy tounderstand and write than numeric codes used in machine language.

2. Highly efficient - Assembly language programs are very efficient interms of executions and main memory usage.

3. Easy to modify - As insertion and deletion of certain instruction fromthe program do not require any change in the address (operand) partof the instruction, where as it is a matter of concern in case of machinelanguage.

4. Easy to update - Moreover, programmer is not required to keep trackof storage locations thus it is less prone to errors. Also assembler aredeveloped and designed in such a way that it automatically detects anerror if invalid mnemonic is entered.

Limitation of using assembly language are same as machine language suchas:

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 inven-tory, payroll, accounts receivable etc.

Input Output

Essential Components of Computers 6.17

6.9 CHARACTERISTICS OF LOW LEVEL LANGUAGES & HIGHLEVEL LANGUAGES

Characteristic Low Level languages High level languages

6.10 THIRD GENERATION LANGUAGES (EARLY 1960s) : HIGH-LEVEL LANGUAGES

Procedural Languages- The third generation languages are what is nor-mally referred to as high level, procedural languages or compiler lan-guages. These languages shield us from the need to work with primitiveinstructions like “MOVE”, “ADD”, “JUMP”, etc. They offer us the ability tocode complex logical constructs in a language closer to English, than, the

1. Machine

dependence

2. Learn and use

3. Maintainability

4. Errors

• Highly Machinedependent

• Difficult to learn anduse as codes are diffi-cult to understand.

• Difficult to maintainand update

• Likely to have moreerrors as machine level

steps are written

• Machine Independent.

• Easy to learn anduse as English likelanguages.

• Easy to maintainand update

• Less likely to haveerrors because smallsteps are not written.

5. Preparation

cost/time

6. Flexibility

7. Execution speed

8. Compiler/

Interpreter

9. Length of code

10. Portability

• Requires high prepa-ration cost and time

• More flexible

• Runs faster as it isdirectly executable

• Requires no compiler/interpreter

• Usually more lines

of codes are requiredfor a smaller program

• Not portable

• Requires less time,effort and thus lesscost.

• Less flexible asprogrammers arerestricted to a setof syntax andsemantics.

• Slower execution asit is first convertedto machine level

• Requires compileror interpreter

• Less lines of instr-uctions are required

• Highly portable

Computer Fundamentals6.18

use of primitive instructions available in assembly language.

A program written in assembly language would only run on a hardwareplatform that supports the corresponding machine language. To make thesame program to run on another hardware platform, the program wouldhave to be rewritten in the assembly language of that computer. A majorfeature of the third generation languages is their hardware independence.The same program written in high level language could be made to run ondiverse hardware platform, provided the platform supports a compiler forthat high level language.

In terms of its approach to ease programming, Third Generation Lan-guages were a major step forward. It opened up the area of computer usageto a vast multitude of programmers, whose use of the computer as a toolfor problem solving was met by their ability to create solutions in theenvironment offered to them. For a procedural language to work on acomputer, it requires a language translator to translate it into machinelanguage. Depending on the procedural language, either of the two types oftranslator may be used i. e. a compiler or an interpreter. The third generationof languages was built around a type definition, a set of data structures,operations defined on the various types, and a set of procedural constructsthat enabled the programmer to manipulate variables. The more popular thirdgeneration languages are BASIC, Pascal, COBOL, FORTRAN, C. All theselanguages are aimed at a particular type of end user, and in a narrow sort of away offer a programming environment that is suitable for developing softwareof a certain category. For example, FORTRAN is a language designed to suitprogrammers working on scientific applications, while COBOL was primarilymeant for use in a commercial environment.

6.11 FOURTH GENERATION LANGUAGES (4 GL, EARLY 1970s)

Non-procedural Language - 4GLs, also known as non-procedural user-oriented languages, allow the user to specify the desired form of outputto be obtained without describing the detailed procedure of datamanipulation to produce the desired result.

As the procedure oriented languages of 3rd generation Programmingenabled only technical or programmer to use the computer, the flexibilityprovided by 4GLs allowed even non-technical user to carry out specificfunctional tasks in quick and easy manner. 4GLs are basically ‘commandoriented language’, designed primarily for end user to query data base andcreate information system. Therefore, the programming process anderrors get reduced to a great extent. 4GL usually contain a few set ofcommands, which are easy to learn. Generally application generator, queryreport 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 be4GLs. 4GL may be Production oriented or User oriented. Generally com-puter professionals use production oriented 4GL to create an informationsystem. These 4GLs have enhancement over COBOL PL/I, etc., where asuser oriented is for end user for querying purposes, as explained above.

Table 6.12 : Comparison between 3GL and 4GL

Third Generation Languages Fourth Generation Languages

1. Provide programming environment Provide non-programming environment,

used by professional programmers generally used by end user by submitting a

to generate application program. query to an application program (maybe developed using 3GL)

2. In 3GL emphasis is given on In 4GL emphasis is on “what” to perform.

“how’ to perform a task.

3. Require large number of instruc- It is command oriented, thus requires few

tions to be coded and all possible instructions to be coded. End user is not

alternatives must be specified concerned with alternatives

4. Difficult to code, read and maintain Easy to code, understand and maintain

5. Programmer need to follow syntax English-like, command oriented, easy to

and semantics of a language, learn.

thus difficult to learn.

6. Originally, language developed Language developed primarily

for batch operation for on line use.

7. Difficult to debug Easy to debug

8. File-oriented programming language Database oriented language

6.12 FIFTH GENERATION LANGUAGE (EARLY 1980s): NATURALLANGUAGES

Natural language programming Language - at ural Language Program-ming is used to improve the user interface with 4GLs. These languagesare primarily used to represent mimic representation of human reasoningto make computer artificially intelligent. Generally, Expert systems aredeveloped in fifth generation languages. The purpose of such software isfor games (i.e. playing chess, cricket and many more on the computer)medicine and industrial applications. These are non-procedural and por-table (machine independent) languages. They usually require translationprogram to translate them into structural machine-readable form. Itstranslated code is extremely complex and requires a large amount ofcomputer resources. Examples of fifth generation languages are LISP andProlog.

Computer Fundamentals6.20

6.14 NEW PROGRAMMING LANGUAGE

Object Oriented Programming - New Programming languages have beendeveloped since the last decade. The development of these languages weredesigned to fit new technologies and real events of life such as multimedia,.web page designing, Internet, etc. Object oriented programming languageis one that has gained popularity as it has been widely used. The basicobjective of designing OOP was to simulate real world problems, as realworld contains objects only. Thus, OOP language supports the features todefine, create, store and manipulate objects and all different objects tocommunicate with each other. However the concept of object was missingin traditional programming. Basically, object consists of procedures (knownas methods) and some data. Thus, each object can be viewed as an abstractdata type, because an object encapsulate both data and functions. How-ever, conventional programming language includes data and procedures,therefore, due to encapsulation feature of OOP language that keeping dataand sequence of operations into abstract entries, OOP has become morepowerful. Similar objects are grouped and classified as a specific class ofthings which further becomes the building blocks of programming. Thesame object can be used repeatedly by a process known as reusability. Byreusing program code, programmer can write programs efficiently andcan reduce errors. Object oriented programming languages offer advan-tages such as reusable code, lesser cost, reduced errors and testing, fasterimplementation, etc. The popular object oriented languages include C++,Java, Visual Basic etc.

Object Oriented Programming (OOP) refers to programmingmethodology which deals with solving problems by identifying real worldobjects of the problem and the processing required of those objects andthen communication among them.

Thus, OOP provides a powerful modeling tool than procedure orientedprogramming.

SUMMARY

A computer system is a combination of hardware and software.

Hardware are physical components of a computer system and soft-ware refers to collection of instructions to solve a problem. Whereasfirmware 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 theprocessing capability of the Computer system. They are operatingsystem, 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 ComputerSystem (Operating System/Application Program)

(b) ........Software are developed for a particular client to address aspecial need. (General purpose Software/Tailor made software)

(c) ........manages overall performance and functioning of the computersystem. (Programs/Operating System).

(d) Languages are machine dependent. (Low Level/High Level)

2. What do you understand by the term computer software? What purposedoes 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 ?

Computer Fundamentals6.22

7. Differentiate between third generation language with fourth generationlanguages.

8. Describe the main characteristics of assembly language.

9. List the advantages of assembly language compared to machinelanguage.

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 computersystem.

13. What is an application software. Give two examples and explain theirfunctionality.

14. Describe the main features of object oriented language.

15. Differentiate between General Purpose, Package software and Tailormade software.

16. Descibe the limitation of assembly language.