Computer Software and
Computer Languages
Md. Imran Hossain Showrov (showrovsworld@gmail.com)
4
1
Outline
 Computer Software
 System Software
 Operating System
 Application Software
 Computer Languages
 Machine language
 Assembly language
 High-level language
Computer Software
 Computer hardware is useless without software.
 Software is the set of instructions and associated data
that direct the computer to do a task.
 Software can be divided into two categories:
 System software and Application software.
 System software helps the computer to carry out its
basic operating tasks.
 Application software helps the user carry out a
variety of tasks.
Computer Software (cont..)
System Software
 Manages the fundamental operations of the computer,
such as
 loading programs and data into memory, executing
programs, saving data to disks, displaying information on
the monitor, and transmitting data through a port to a
peripheral device.
 System softwares: operating systems, utilities, device
drivers.
Operating System
 Collection of computer programs that control the
interaction of the user and the computer hardware.
 Responsible for directing all computer operations and
managing all computer resources.
 Controls basic input and output, allocates system resources,
manages storage space, maintains security, and detects
equipment failure.
 A part of the operating system code is stored in a ROM and
the rest of it resides on a disk.
 Loading the operating system into memory is called booting
the computer.
Responsibilities of an Operating System
 Communicate with user, receive and execute commands, show error
messages.
 Manage allocation of memory, processor time and other resources.
 Collect input from keyboard, mouse, and provide data to running
programs.
 Convey program output to screen, printer, or other output device.
 Access data from secondary storage.
 Write data to secondary storage.
 Maintains security (checks user-name , password, virus infection)
Application Software
 Developed for a specific task , such as word
processing( MS Word/ WordPerfect), accounting
(Lotus 1-2-3/ Excel), or database management
(Access/ dBASE).
 We also use graphics and presentation software.
 Most applications are purchased on diskette or CD-
ROM.
 They are installed by copying the programs from the
diskettes/CD-ROM to the hard disk.
Computer Languages
Broad Classification of Computer Languages
 Machine language
 Assembly language
 High-level language
Machine language
 Only language of a computer understood by it
without using a translation program
 Normally written as string of binary 1s and 0s
Advantages & Limitations of Machine
Language
 Advantages:
 Can be executed very fast
 Limitations:
 Machine dependent
 Difficult to program
 Error prone
 Difficult to modify
Assembly/Symbolic Language
Programming language that overcomes the limitations of
machine language programming by:
 Using alphanumeric mnemonic codes instead of numeric
codes for the instructions in the instruction set e.g.
using ADD instead of 1110 (binary) or 14 (decimal) for
instruction to add
 Allowing storage locations to be represented in form of
alphanumeric addresses instead of numeric addresses
e.g. representing memory locations 1000, 1001, and 1002
as FRST, SCND, and ANSR respectively
Advantages of Assembly Language
 Easier to understand and use
 Easier to locate and correct errors
 Easier to modify
 No worries about addresses
 Easily relocatable
Limitations of Assembly Language
 Machine dependent
 Knowledge of hardware required
 Machine level coding
Typical Uses of Assembly Language
 Mainly used today to fine-tune important parts of
programs written in a high-level language to improve
the program’s execution efficiency
High-Level Languages
 Machine independent
 Do not require programmers to know anything about
the internal structure of computer on which high-
level language programs will be executed
 Deal with high-level coding, enabling the
programmers to write instructions using English
words and familiar mathematical symbols and
expressions.
 Example: C language, Java, Python etc.
Advantages of High-Level Languages
 Machine independent
 Easier to learn and use
 Fewer errors during program development
 Lower program preparation cost
 Better documentation
 Easier to maintain
Limitations of High-Level Languages
 Lower execution efficiency
 Less flexibility to control the computer’s CPU,
memory and registers
Lecture 4- Computer Software and Languages

Lecture 4- Computer Software and Languages

  • 1.
    Computer Software and ComputerLanguages Md. Imran Hossain Showrov (showrovsworld@gmail.com) 4 1
  • 2.
    Outline  Computer Software System Software  Operating System  Application Software  Computer Languages  Machine language  Assembly language  High-level language
  • 3.
    Computer Software  Computerhardware is useless without software.  Software is the set of instructions and associated data that direct the computer to do a task.  Software can be divided into two categories:  System software and Application software.  System software helps the computer to carry out its basic operating tasks.  Application software helps the user carry out a variety of tasks.
  • 4.
  • 5.
    System Software  Managesthe fundamental operations of the computer, such as  loading programs and data into memory, executing programs, saving data to disks, displaying information on the monitor, and transmitting data through a port to a peripheral device.  System softwares: operating systems, utilities, device drivers.
  • 6.
    Operating System  Collectionof computer programs that control the interaction of the user and the computer hardware.  Responsible for directing all computer operations and managing all computer resources.  Controls basic input and output, allocates system resources, manages storage space, maintains security, and detects equipment failure.  A part of the operating system code is stored in a ROM and the rest of it resides on a disk.  Loading the operating system into memory is called booting the computer.
  • 7.
    Responsibilities of anOperating System  Communicate with user, receive and execute commands, show error messages.  Manage allocation of memory, processor time and other resources.  Collect input from keyboard, mouse, and provide data to running programs.  Convey program output to screen, printer, or other output device.  Access data from secondary storage.  Write data to secondary storage.  Maintains security (checks user-name , password, virus infection)
  • 8.
    Application Software  Developedfor a specific task , such as word processing( MS Word/ WordPerfect), accounting (Lotus 1-2-3/ Excel), or database management (Access/ dBASE).  We also use graphics and presentation software.  Most applications are purchased on diskette or CD- ROM.  They are installed by copying the programs from the diskettes/CD-ROM to the hard disk.
  • 9.
  • 10.
    Broad Classification ofComputer Languages  Machine language  Assembly language  High-level language
  • 11.
    Machine language  Onlylanguage of a computer understood by it without using a translation program  Normally written as string of binary 1s and 0s
  • 12.
    Advantages & Limitationsof Machine Language  Advantages:  Can be executed very fast  Limitations:  Machine dependent  Difficult to program  Error prone  Difficult to modify
  • 13.
    Assembly/Symbolic Language Programming languagethat overcomes the limitations of machine language programming by:  Using alphanumeric mnemonic codes instead of numeric codes for the instructions in the instruction set e.g. using ADD instead of 1110 (binary) or 14 (decimal) for instruction to add  Allowing storage locations to be represented in form of alphanumeric addresses instead of numeric addresses e.g. representing memory locations 1000, 1001, and 1002 as FRST, SCND, and ANSR respectively
  • 14.
    Advantages of AssemblyLanguage  Easier to understand and use  Easier to locate and correct errors  Easier to modify  No worries about addresses  Easily relocatable
  • 15.
    Limitations of AssemblyLanguage  Machine dependent  Knowledge of hardware required  Machine level coding
  • 16.
    Typical Uses ofAssembly Language  Mainly used today to fine-tune important parts of programs written in a high-level language to improve the program’s execution efficiency
  • 17.
    High-Level Languages  Machineindependent  Do not require programmers to know anything about the internal structure of computer on which high- level language programs will be executed  Deal with high-level coding, enabling the programmers to write instructions using English words and familiar mathematical symbols and expressions.  Example: C language, Java, Python etc.
  • 18.
    Advantages of High-LevelLanguages  Machine independent  Easier to learn and use  Fewer errors during program development  Lower program preparation cost  Better documentation  Easier to maintain
  • 19.
    Limitations of High-LevelLanguages  Lower execution efficiency  Less flexibility to control the computer’s CPU, memory and registers