Unit 4 Notes

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

Software is a collection of instructions, data, or computer programs that are used to run

machines and carry out particular activities. It is the antithesis of hardware, which refers to a
computer’s external components. A device’s running programs, scripts, and applications are
collectively referred to as “software” in this context.
What is a Software?
In a computer system, the software is basically a set of instructions or commands that tell a
computer what to do. In other words, the software is a computer program that provides a set of
instructions to execute a user’s commands and tell the computer what to do. For example
like MS-Word, MS-Excel, PowerPoint, etc.
Types of Software
It is a collection of data that is given to the computer to complete a particular task. The chart
below describes the types of software:
Above is the diagram of types of software. Now we will briefly describe each type and its
subtypes:

1. System Software
 Operating System
 Language Processor
 Device Driver
2. Application Software
 General Purpose Software
 Customize Software
 Utility Software
System Software
System software is software that directly operates the computer hardware and provides the
basic functionality to the users as well as to the other software to operate smoothly. Or in other
words, system software basically controls a computer’s internal functioning and also controls
hardware devices such as monitors, printers, and storage devices, etc. It is like an interface
between hardware and user applications, it helps them to communicate with each other because
hardware understands machine language(i.e. 1 or 0) whereas user applications are work in
human-readable languages like English, Hindi, German, etc. so system software converts the
human-readable language into machine language and vice versa.
Types of System Software
It has two subtypes which are:

1. Operating System: It is the main program of a computer system. When the computer
system ON it is the first software that loads into the computer’s memory. Basically, it
manages all the resources such as computer memory, CPU, printer, hard disk, etc., and
provides an interface to the user, which helps the user to interact with the computer system.
It also provides various services to other computer software. Examples of operating
systems are Linux, Apple macOS, Microsoft Windows, etc.
2. Language Processor: As we know that system software converts the human-readable
language into a machine language and vice versa. So, the conversion is done by the
language processor. It converts programs written in high-level programming
languages like Java, C, C++, Python, etc(known as source code), into sets of instructions
that are easily readable by machines(known as object code or machine code).
3. Device Driver: A device driver is a program or software that controls a device and helps
that device to perform its functions. Every device like a printer, mouse, modem, etc. needs
a driver to connect with the computer system eternally. So, when you connect a new device
with your computer system, first you need to install the driver of that device so that your
operating system knows how to control or manage that device.
Features of System Software
Let us discuss some of the features of System Software:

 System Software is closer to the computer system.


 System Software is written in a low-level language in general.
 System software is difficult to design and understand.
 System software is fast in speed(working speed).
 System software is less interactive for the users in comparison to application software.
Application Software
Software that performs special functions or provides functions that are much more than the
basic operation of the computer is known as application software. Or in other words,
application software is designed to perform a specific task for end-users. It is a product or a
program that is designed only to fulfill end-users’ requirements. It includes word
processors, spreadsheets, database management, inventory, payroll programs, etc.
Types of Application Software
There are different types of application software and those are:

1. General Purpose Software: This type of application software is used for a variety of tasks
and it is not limited to performing a specific task only. For example, MS-Word, MS-Excel,
PowerPoint, etc.
2. Customized Software: This type of application software is used or designed to perform
specific tasks or functions or designed for specific organizations. For example, railway
reservation system, airline reservation system, invoice management system, etc.
3. Utility Software: This type of application software is used to support the computer
infrastructure. It is designed to analyze, configure, optimize and maintains the system, and
take care of its requirements as well. For example, antivirus, disk fragmenter, memory
tester, disk repair, disk cleaners, registry cleaners, disk space analyzer, etc.

Features of Application Software


Let us discuss some of the features of Application Software:

 An important feature of application software is it performs more specialized tasks like word
processing, spreadsheets, email, etc.
 Mostly, the size of the software is big, so it requires more storage space.
 Application software is more interactive for the users, so it is easy to use and design.
 The application software is easy to design and understand.
 Application software is written in a high-level language in general.

Difference between System Software and Application Software


Now, let us discuss some difference between system software and application software:

System Software Application Software

It is designed to manage the resources of the


It is designed to fulfill the requirements of
computer system, like memory and process
the user for performing specific tasks.
management, etc.

Written in a low-level language. Written in a high-level language.

Less interactive for the users. More interactive for the users.

Application software is not so important


System software plays vital role for the
for the functioning of the system, as it is
effective functioning of a system.
task specific.

It is independent of the application software to It needs system software to run.


System Software Application Software

run.
Application Software
Application programs or software applications are end-user computer programs
developed primarily to provide specific functionality to the user. The applications
programs assist the user in accomplishing numerous tasks such as doing online
research, completing notes, designing graphics, managing the finances, watching
a movie, writing documents, playing games, and many more. Therefore, many
software applications are designed and developed every year by companies as per the
demand and requirements of the potential users. The application software can either be
designed for a general-purpose or specially coded as per the requirements of business
cooperation.

Today there are varieties of application software available in the market. Given below
are some of the popular examples:

a. Word Processors
Word processor applications are globally used for documentation, making notes, and
typing data. It also helps the end-users store and format data. They also enable the
users to print their documents.

Some examples of Word Processor software's are as follows:

o MS Word (Microsoft)
o iWork-Pages (Apple)
o Corel WordPerfect
o Google Docs

b. Database Software
Database software is used to create, manage, modify and organize a massive
amount of data quickly retrieved. Another name for database software is Database
Management System (DBMS). Such software helps companies in their data
organization. Common examples of Database Software's are:

o Oracle
o MS Access
o SQLite
o Microsoft SQL Server
o FileMaker
o dBase
o MariaDB
o MySQL

c. Multimedia Software
This software enables the users to play, create or record images, music, and video
files. Different graphic designing companies widely use multimedia software to make
animation, images, posts, packaging, marketing creative, gif, or even video editing. Due
to their popularity and increasing demand, every software product development
corporation has massive avenues in creating and upgrading them.

Common examples of Database Software's are given below:

o Adobe Photoshop
o Windows Movie Maker
o Adobe Illustrator
o Picasa
o Windows Media Player
o Corel Draw

d. Web Browsers
These are a type of software that is globally used to browse the Internet. Web browsers
help the users in positioning as well as fetching data across the web. Common
examples of web browsers are given below:

o Chrome
o Mozilla Firefox
o Microsoft Internet Explorer
o Opera
o Microsoft Edge
o UC Browser
o Apple Safari

However, there also occurs another classification of the software that exists on the
basis of their availability and shareability. The classification is given below:

1. Freeware
As the name suggests, Freeware software is available free of cost for an unlimited
time. Any user can easily download their respective software from the Internet and
start using them instantly without paying any charges or fees. Software
development companies mostly design and develop freeware software as a strategy to
reach out to more people. Typical examples of Freeware Software are as follows:

o Adobe Reader
o Zoom
o Skype
o ImgBurn
o Audacity
o Whatsapp
o Anydesk

2. Shareware
Shareware software is readily available on the Internet to download on a fixed trial
basis. It is distributed freely with a set time limit, and at the end of the trial period, the
user is asked either to pay the fee or uninstall the software. Some shareware, mainly
including the gaming softwares, have a fixed trial based on the counts an application is
opened rather than the number of days it has been installed on the system.

Give below are some of the popular examples for Shareware Software:

o Adobe Acrobat
o Adobe Photoshop
o AnyDVD
o PHP Debugger
o WinZip

3. Open-source
People usually get confused with freeware and open-source, but both are different.
Though both the software are available on the Internet free of cost with the only
difference that open source software is available online along with their source code. It
means the user can change, transform, and even can add additional features to them.
Based on their services, they can be chargeable as well free of cost.

Give below are some of the popular examples for open-source Software:

o Mozilla Firefox
o MySQL
o Thunderbird
o OpenOffice
o ClamWinantivirus
o Apache Web Server

What is a Programming Language?


A programming language is a computer language that is used by programmers
(developers) to communicate with computers. It is a set of instructions written in any
specific language ( C, C++, Java, Python) to perform a specific task.

A programming language is mainly used to develop desktop applications, websites,


and mobile applications.

Types of programming language


1. Low-level programming language
Low-level language is machine-dependent (0s and 1s) programming language. The
processor runs low- level programs directly without the need of a compiler or
interpreter, so the programs written in low-level language can be run very fast.

Low-level language is further divided into two parts -

i. Machine Language

Machine language is a type of low-level programming language. It is also called


as machine code or object code. Machine language is easier to read because it is
normally displayed in binary or hexadecimal form (base 16) form. It does not require a
translator to convert the programs because computers directly understand the machine
language programs.

The advantage of machine language is that it helps the programmer to execute the
programs faster than the high-level programming language.

ii. Assembly Language

Assembly language (ASM) is also a type of low-level programming language that is


designed for specific processors. It represents the set of instructions in a symbolic and
human-understandable form. It uses an assembler to convert the assembly language
to machine language.

The advantage of assembly language is that it requires less memory and less execution
time to execute a program.

2. High-level programming language


High-level programming language (HLL) is designed for developing user-friendly
software programs and websites. This programming language requires a compiler or
interpreter to translate the program into machine language (execute the program).

The main advantage of a high-level language is that it is easy to read, write, and
maintain.

High-level programming language includes Python, Java, JavaScript, PHP, C#, C++,
Objective C, Cobol, Perl, Pascal, LISP, FORTRAN, and Swift programming language.

A high-level language is further divided into three parts -


i. Procedural Oriented programming language

Procedural Oriented Programming (POP) language is derived from structured


programming and based upon the procedure call concept. It divides a program into
small procedures called routines or functions.

Procedural Oriented programming language is used by a software programmer to


create a program that can be accomplished by using a programming editor like IDE,
Adobe Dreamweaver, or Microsoft Visual Studio.

The advantage of POP language is that it helps programmers to easily track the
program flow and code can be reused in different parts of the program.

The advantage of POP language is that it helps programmers to easily track the
program flow and code can be reused in different parts of the program.

Example: C, FORTRAN, Basic, Pascal, etc.

ii. Object-Oriented Programming language

Object-Oriented Programming (OOP) language is based upon the objects. In


this programming language, programs are divided into small parts called objects. It
is used to implement real-world entities like inheritance, polymorphism, abstraction, etc
in the program to makes the program resusable, efficient, and easy-to-use.

The main advantage of object-oriented programming is that OOP is faster and easier to
execute, maintain, modify, as well as debug.

Note: Object-Oriented Programming language follows a bottom-up approach.

Example: C++, Java, Python, C#, etc.

iii. Natural language

Natural language is a part of human languages such as English, Russian, German, and
Japanese. It is used by machines to understand, manipulate, and interpret human's
language. It is used by developers to perform tasks such as translation, automatic
summarization, Named Entity Recognition (NER), relationship extraction, and
topic segmentation.

The main advantage of natural language is that it helps users to ask questions in any
subject and directly respond within seconds.
3. Middle-level programming language
Middle-level programming language lies between the low-level programming
language and high-level programming language. It is also known as the intermediate
programming language and pseudo-language.

A middle-level programming language's advantages are that it supports the features of


high-level programming, it is a user-friendly language, and closely related to machine
language and human language.

Example: C, C++, language

Most Popular Programming Languages –

 C
 Python
 C++
 Java
 SCALA
 C#
 R
 Ruby
 Go
 Swift
 JavaScript

Characteristics of a programming Language –

 A programming language must be simple, easy to learn and use, have good readability,
and be human recognizable.
 Abstraction is a must-have Characteristics for a programming language in which the
ability to define the complex structure and then its degree of usability comes.
 A portable programming language is always preferred.
 Programming language’s efficiency must be high so that it can be easily converted into a
machine code and its execution consumes little space in memory.
 A programming language should be well structured and documented so that it is suitable
for application development.
 Necessary tools for the development, debugging, testing, maintenance of a program must
be provided by a programming language.
 A programming language should provide a single environment known as Integrated
Development Environment(IDE).
 A programming language must be consistent in terms of syntax and semantics.

Basic Terminologies in Programming Languages:

 Algorithm: A step-by-step procedure for solving a problem or performing a task.


 Variable: A named storage location in memory that holds a value or data.
 Data Type: A classification that specifies what type of data a variable can hold, such as
integer, string, or boolean.
 Function: A self-contained block of code that performs a specific task and can be called
from other parts of the program.
 Control Flow: The order in which statements are executed in a program, including loops
and conditional statements.
 Syntax: The set of rules that govern the structure and format of a programming language.
 Comment: A piece of text in a program that is ignored by the compiler or interpreter,
used to add notes or explanations to the code.
 Debugging: The process of finding and fixing errors or bugs in a program.
 IDE: Integrated Development Environment, a software application that provides a
comprehensive development environment for coding, debugging, and testing.
 Operator: A symbol or keyword that represents an action or operation to be performed on
one or more values or variables, such as + (addition), – (subtraction), * (multiplication),
and / (division).
 Statement: A single line or instruction in a program that performs a specific action or
operation.

You might also like