You are on page 1of 15

Software , Languages …

Computer software, or just software is a general term


used to describe the role that computer programs,
procedures and documentation play in a computer
system. It's the intangible part of the computer system,
meaning it cannot be touched.

The term "software" was first used by John W. Tukey in


1958.
The term includes :

1. APPLICATION SOFTWARE, SUCH AS WORD PROCESSORS WHICH

PERFORM PRODUCTIVE TASKS FOR USERS.

2. FIRMWARE, WHICH IS SOFTWARE PROGRAMMED RESIDENT TO

ELECTRICALLY PROGRAMMABLE MEMORY DEVICES ON BOARD

MAINBOARDS OR OTHER TYPES OF INTEGRATED HARDWARE

CARRIERS.

3. MIDDLEWARE, WHICH CONTROLS AND CO-ORDINATES

DISTRIBUTED SYSTEMS.

4. SYSTEM SOFTWARE SUCH AS OPERATING SYSTEMS, WHICH

INTERFACE WITH HARDWARE TO PROVIDE THE NECESSARY


1. Software testing is a domain dependent of development and
programming. Software testing consists of various methods to
test and declare a software product fit before it can be launched
for use by either an individual or a group.

2. Testware, which is an umbrella term or container term for all


utilities and application software that serve in combination for
testing a software package but not necessarily may optionally
contribute to operational purposes. As such, testware is not a
standing configuration but merely a working environment for
application software or subsets thereof.
Software Characteristics

1. Software is developed and engineered.


2. Software doesn't "wear-out".
3. Most software continues to be custom built
Software Architecture
• Platform
• Application
•User
Types of Software
• System
• Application
• Programming
System Software
helps run the computer hardware and computer system. It includes a combination of the following:

Device drivers
Operating systems
Servers
Utilities
Windowing system
Programming Software
Programming software usually provides tools to assist a programmer in writing computer programs, and
software using different programming languages in a more convenient way.
The tools include:
Compilers
Debuggers
Interpreters
Linkers
Text editors
Application software
Application software allows end users to accomplish one or more specific
(not directly computer development related) tasks.

INDUSTRIAL AUTOMATION

BUSINESS SOFTWARE

COMPUTER GAMES

QUANTUM CHEMISTRY AND SOLID STATE PHYSICS SOFTWARE

TELECOMMUNICATIONS (I.E., THE INTERNET AND EVERYTHING THAT FLOWS ON IT)

DATABASES

EDUCATIONAL SOFTWARE
Medical software

Military software

Molecular modeling software

Image editing

Spreadsheet

Simulation software

Word processing

Decision making software


Compiler
A compiler is a computer program (or set of programs) that transforms
source code written in a computer language (the source language) into
another computer language (the target language, often having a binary
form known as object code). The most common reason for wanting to
transform source code is to create an executable program.
Just In Time Compilation
It is a technique in which the intermediate representation
is compiled to native machine code at runtime.

This confers the efficiency of running native code, at the


cost of startup time and increased memory use when the
bytecode or AST is first compiled.

Adaptive optimization is a complementary technique in


which the interpreter profiles the running program and
compiles its most frequently-executed parts into native
code
Interpreter
An interpreter normally means a computer program that
executes, i.e. performs, instructions written in a
programming language. An interpreter may be a program
that either -
i) executes the source code directly
ii) translates source code into some efficient intermediate
iii) representation (code) and immediately executes this
iv) explicitly executes stored precompiled code made by a
compiler which is part of the interpreter system
Assembler
Assembler software is a program used to compile
assembler source code into machine code.  This source
code is a computer program you write using a text editor,
and each line you write translates (mostly) to a single
instruction on the computer processor.  In other words,
you are writing the exact instructions that the computer
processor will run.

Because you are writing the program as text, the code still
needs to be compiled into machine code, the same as for
any other compiled language like C or C++.  This is what
assembler software is for.

You might also like