Lecture 8


Published on

basics of computers

Published in: Technology, Education
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Lecture 8

  1. 1. Software Concepts
  2. 2. Software • Non-touchable part of computer. • Used to describe the instructions, given to a computer. • Program or group of programs. • Computer instructions or data, anything that can be stored electronically is software.
  3. 3. Types of Computer Software Computer software can be categorized into following two categories: 1. System Software: includes those software that help in better utilization hardware resources. Example Operating System, Compiler, Disk Drivers etc. 2. Application Software: includes those software that helps in performing a particular task such as creating a document, preparing a presentation. These are general purpose software's. Example: Ms-Word, Excel, Power Point, etc. 3. Utility Software: includes those software that generally comes along with operating system used to perform basic activities. Example: Disk Format Utility, Disk Defragmenter Utility, etc. 4. Customised Software : includes software which are specially designed for a particular group of users. Example: Software for a bank, hospital, business organization, etc.
  4. 4. Programming Languages • Medium of communication between computer and the user containing words, symbols and syntax rules. • Each language has its own vocabulary and rules. • A programming language is used to control the behaviour of a computer. • All computer languages can be classified in the following five generations: • Machine Language (1st Generation Language – 1945) • Assembly Language(2nd Generation Language – 1950s) • High Level Language (3rd Generation Language – 1960s) • Very High Level Language (4th Generation Language – 1970s) • Natural Language (5th Generation Language – 1980)
  5. 5. Programming Languages • Machine Language • The set of instruction codes, in binary, which can be directly understood by the CPU without translating the program. • An instruction has two parts:  Op-Code: First part of instruction which tells the computer what function to perform.  Operand: Second part of instruction, tells the computer where to find or store data or instructions that are to be manipulated. • The lowest-level, programming language. • Machine Dependent. • Difficult to program. • Error Prone. • Difficult to modify.
  6. 6. Example OpCode Operands ADD 2 3 5 000 010 011 101
  7. 7. Programming Languages 1. Assembly Language • A low-level language. • Allows the programmer to use abbreviations or words instead of binary numbers, known as mnemonics. • A program called an assembler transforms assembly language into machine code. • Readability is more than machine language. • Easy to understand and use.Easy to locate and correct errors. • Easier to modify. • No need to track addresses. • Easily relocatable. • It has four parts; label, mnemonic, operand, comment; not all are present in every line.
  8. 8. Example Limitations: • Machine dependent. • Knowledge of hardware. • Machine level coding. Example- MOV r0, #0C ;load base address of string into r0 LOAD: MOV r1,(r0) ;load contents into r1 CALL PRINT ; call a print routine to print the character in r1
  9. 9. Programming Languages • High-Level Language • Also known as Procedure/Problem Oriented Language. • Machine independent. • Easier to learn and use than previous languages. • Requires less time to write the code. • Easier to maintain. • Provides better documentation. • Fewer Errors. • Lower program preparation cost. • Lack of flexibility.
  10. 10. EXAMPLES OF HLLs • FORTRAN Formula Translation Language • COBOL Common Business Oriented Language • ALGOL Algorithmic Language • RPG Report Program Generator • APL A Programming Language • BASIC Beginners All Purpose Symbolic Instruction Code • PL/I Programming Language I • PASCAL Named after Blaise Pascal, a French Philosopher • Ada Named after Lady Lovelace Ada • C General Purpose Programming Language • C++ Object Oriented Programming Language • JAVA Object Oriented Programming Language
  11. 11. Programming Languages •Very High Level Language •Also known as 4GL or non-procedural language. •Machine independent. •Easier to learn and use. •Easier to maintain. •The tools are: • DBMS • Report Generators • Query Languages • Application Generators. Examples: SQL and ORACLE
  12. 12. Programming Languages 5. Natural Languages Natural languages are of two types: • Ordinary Human Language: English, German, Spanish etc. • Programming Languages: that use human language to give people more natural connection with computers with 4GLs. Using AI (Artificial Intelligence), the attempt to make computers which will have human like qualities such as learning, reasoning, communicating, seeing and hearing etc. • Prolog, OPS5 and Mercury are the best known 5th generation languages.
  13. 13. COMPARISON BETWEEN 3RD AND 4TH GENERATION LANGUAGES • THIRD GENERATION • FOURTH GENERATION 2. Used by professional 2. May be used by non- programmers programmers as well. 3. Require task performance 3. Require specifications of what specifications (how) task to perform (what) 4. All alternatives are specified 4. Default alternatives are built-in 5. Require large number of 5. Require far few instructions instructions 6. Code difficult to read, and 7. Code easy to read and understand maintain. 7. Originally developed for 8. Developed primarily for on-line. batch processing. 8. Can be difficult to learn 10. Easy to learn 9. Difficult to debug 11. Easier to debug 10. Typically file oriented. 12. Typically database oriented
  14. 14. Assignment • What is meant by System Software and how does it differ from Application Software. • Identify any five functions that utility programs can perform • What is the difference between High level and low level languages.