0% found this document useful (0 votes)
80 views16 pages

Computer Software

The document discusses the definition and types of software. It defines software as collections of data or instructions that tell computers how to work, in contrast to physical hardware. There are two main types of software: system software that manages hardware and provides platforms for other software, and application software that performs specific tasks for users. Software can also be categorized by its purpose, domain of execution, and whether it is helpful or malicious.

Uploaded by

RAJA THE LION
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views16 pages

Computer Software

The document discusses the definition and types of software. It defines software as collections of data or instructions that tell computers how to work, in contrast to physical hardware. There are two main types of software: system software that manages hardware and provides platforms for other software, and application software that performs specific tasks for users. Software can also be categorized by its purpose, domain of execution, and whether it is helpful or malicious.

Uploaded by

RAJA THE LION
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Software

A diagram showing how the user interacts with


application software on a typical desktop computer.
The application software layer interfaces with the
operating system, which in turn communicates with
the hardware. The arrows indicate information flow.
Computer software, or simply software,
is a collection of data or computer
instructions that tell the computer how to
work. This is in contrast to physical
hardware, from which the system is built
and actually performs the work. In
computer science and software
engineering, computer software is all
information processed by computer
systems, programs and data. Computer
software includes computer programs,
libraries and related non-executable data,
such as online documentation or digital
media. Computer hardware and software
require each other and neither can be
realistically used on its own.
At the lowest programming level,
executable code consists of machine
language instructions supported by an
individual processor—typically a central
processing unit (CPU) or a graphics
processing unit (GPU). A machine
language consists of groups of binary
values signifying processor instructions
that change the state of the computer
from its preceding state. For example, an
instruction may change the value stored
in a particular storage location in the
computer—an effect that is not directly
observable to the user. An instruction
may also invoke one of many input or
output operations, for example displaying
some text on a computer screen; causing
state changes which should be visible to
the user. The processor executes the
instructions in the order they are
provided, unless it is instructed to "jump"
to a different instruction, or is interrupted
by the operating system. As of 2015,
most personal computers, smartphone
devices and servers have processors
with multiple execution units or multiple
processors performing computation
together, and computing has become a
much more concurrent activity than in
the past.

The majority of software is written in


high-level programming languages. They
are easier and more efficient for
programmers because they are closer to
natural languages than machine
languages.[1] High-level languages are
translated into machine language using a
compiler or an interpreter or a
combination of the two. Software may
also be written in a low-level assembly
language, which has strong
correspondence to the computer's
machine language instructions and is
translated into machine language using
an assembler.

History
An outline (algorithm) for what would
have been the first piece of software was
written by Ada Lovelace in the 19th
century, for the planned Analytical
Engine.[2] She created proofs to show
how the engine would calculate Bernoulli
Numbers.[2] Because of the proofs and
the algorithm, she is considered the first
computer programmer.[3][4]

The first theory about software—prior to


the creation of computers as we know
them today—was proposed by Alan
Turing in his 1935 essay On Computable
Numbers, with an Application to the
Entscheidungsproblem (decision
problem).

This eventually led to the creation of the


academic fields of computer science and
software engineering; Both fields study
software and its creation. Computer
science is the theoretical study of
computer and software (Turing's essay is
an example of computer science),
whereas software engineering is the
application of engineering and
development of software.

However, prior to 1946, software was not


yet the programs stored in the memory
of stored-program digital computers, as
we now understand it. The first electronic
computing devices were instead rewired
in order to "reprogram" them.

In 2000, Fred Shapiro, a librarian at the


Yale Law School, published a letter
Carhart, in a Rand Corporation Research
Memorandum.[10]

Types

Blender Game Engine, a free software.

On virtually all computer platforms,


software can be grouped into a few
broad categories.

Purpose, or domain of use


Based on the goal, computer software
can be divided into:

Application software
which is software that uses the
computer system to perform special
functions or provide entertainment
functions beyond the basic operation
of the computer itself. There are many
different types of application software,
because the range of tasks that can be
performed with a modern computer is
so large—see list of software.
System software
which is software for managing
computer hardware behaviour, as to
provide basic functionalities that are
required by users, or for other software
to run properly, if at all. System
software is also designed for providing
a platform for running application
software,[11] and it includes the
following:
Operating systems
which are essential collections of
software that manage resources
and provide common services for
other software that runs "on top"
of them. Supervisory programs,
boot loaders, shells and window
systems are core parts of
operating systems. In practice, an
operating system comes bundled
with additional software (including
application software) so that a
user can potentially do some work
with a computer that only has one
operating system.
Device drivers
which operate or control a
particular type of device that is
attached to a computer. Each
device needs at least one
corresponding device driver;
because a computer typically has
at minimum at least one input
device and at least one output
device, a computer typically needs
more than one device driver.
Utilities
which are computer programs
designed to assist users in the
maintenance and care of their
computers.
Malicious software or malware
which is software that is developed to
harm and disrupt computers. As such,
malware is undesirable. Malware is
closely associated with computer-
related crimes, though some malicious
programs may have been designed as
practical jokes.

Nature or domain of execution

Desktop applications such as web


browsers and Microsoft Office, as well
as smartphone and tablet applications
(called "apps"). (There is a push in
some parts of the software industry to
merge desktop applications with
mobile apps, to some extent. Windows
8, and later Ubuntu Touch, tried to
allow the same style of application
user interface to be used on desktops,
laptops and mobiles.)
JavaScript scripts are pieces of
software traditionally embedded in
web pages that are run directly inside
the web browser when a web page is
loaded without the need for a web
browser plugin. Software written in
other programming languages can
also be run within the web browser if
the software is either translated into
JavaScript, or if a web browser plugin
that supports that language is
installed; the most common example
of the latter is ActionScript scripts,
which are supported by the Adobe
Flash plugin.
Server software, including:
Web applications, which usually
run on the web server and output
dynamically generated web pages
to web browsers, using e.g. PHP,
Java, ASP.NET, or even JavaScript
that runs on the server. In modern
times these commonly include
some JavaScript to be run in the
web browser as well, in which
References
1. "Compiler construction" . Archived
from the original on 2 November
2013.
2. Evans 2018, p. 21.
3. Fuegi, J.; Francis, J. (2003).
"Lovelace & Babbage and the
creation of the 1843 'notes' " (PDF).
Annals of the History of Computing.
25 (4): 16–26.
doi:10.1109/MAHC.2003.1253887 .
4. "Ada Lovelace honoured by Google
doodle" . The Guardian. 10
December 2012. Retrieved
25 November 2018.
Resources
from
Wikiversity

Software at Curlie

Retrieved from
"https://en.wikipedia.org/w/index.php?
title=Software&oldid=956930092"

Last edited 1 month ago by Hammelsmith

Content is available under CC BY-SA 3.0 unless


otherwise noted.

You might also like