Rise of software

16
Rise of Software Gamini Khurana Grade VI - B

Transcript of Rise of software

Rise of SoftwareGamini KhuranaGrade VI - B

Rise of Software - Gamini Khurana

2

SoftwareComputer software, or just software, is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Software refers to one or more computer programs and data held in the storage of the computer for some purposes. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the computer hardware or by serving as input to another piece of software. The term was coined to contrast to the old term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched”. Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.

July 2012

Rise of Software - Gamini Khurana

3

Types of Software

System Software

Application Software

Programming

Software

A layer structure showing where the operating system software and application software are situated while running on a typical desktop computer

July 2012

Rise of Software - Gamini Khurana

4

System SoftwareSystem software is computer software designed to operate the computer hardware to provide basic functionality and to provide a platform for running application software. System software includes device drivers, operating systems, servers, utilities, and window systems.

System software is responsible for managing a variety of independent hardware components, so that they can work together harmoniously. Its purpose is to unburden the application software programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner.

July 2012

Rise of Software - Gamini Khurana

5

Programing SoftwareProgramming software include tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be combined in an integrated development environment (IDE) to more easily manage all of these functions.

July 2012

Rise of Software - Gamini Khurana

6

Application SoftwareApplication software is developed to perform in any task that benefits from computation. It is a set of programs that allows the computer to perform a specific data processing job for the user. It is a broad category, and encompasses software of many kinds, including the internet browser being used to display this page.

July 2012

Rise of Software - Gamini Khurana

7

Computer Languages

The first generation languages, or 1GL are low-

level languages that are machine language.

The second generation languages, or 2GL are also

low-level languages that consist of assembly

languages.

The third generation languages, or 3GL are high-level languages such as C.

The fourth generation languages, or 4GL are

languages that consist of statements similar to

statements in a human language. 4GL are commonly

used in database programming and scripts.

The fifth generation languages, or 5GL are

programming languages that contain visual tools to help develop a program. A good example of a 5GL is Visual

Basic.

July 2012

In the computer industry, these abbreviations are widely used to represent major steps or "generations" in the evolution of programming languages.

Rise of Software - Gamini Khurana

8

First generation language (1GL)1GL or first-generation language was (and still is) machine language or the level of instructions and data that the processor is actually given to work on (which in conventional computers is a string of 0s and 1s).

July 2012

Rise of Software - Gamini Khurana

9

Second generation language (2GL)2GL or second-generation language is assembler (sometimes called "assembly") language. A typical 2GL instruction looks like this:

ADD 12,8

An assembler converts the assembler language statements into machine language.

July 2012

10

Third generation language (3GL)3GL or third-generation language is a "high-level" programming language, such as PL/I, C, or Java. Java language statements look like this:

public boolean handleEvent (Event evt) { switch (evt.id) { case Event.ACTION_EVENT: { if ("Try me" .equald(evt.arg)) {

A compiler converts the statements of a specific high-level programming language into machine language. (In the case of Java, the output is called bytecode, which is converted into appropriate machine language by a Java virtual machine that runs as part of an operating system platform.) A 3GL language requires a considerable amount of programming knowledge.

July 2012Rise of Software - Gamini Khurana

Rise of Software - Gamini Khurana

11

Fourth generation language (4GL)4GL or fourth-generation language is designed to be closer to natural language than a 3GL language. Languages for accessing databases are often described as 4GLs. A 4GL language statement might look like this:

EXTRACT ALL CUSTOMERS WHERE "PREVIOUS PURCHASES" TOTAL MORE THAN $1000

July 2012

Rise of Software - Gamini Khurana

12

Fifth generation language (5GL)5GL or fifth-generation language is programming that uses a visual or graphical development interface to create source language that is usually compiled with a 3GL or 4GL language compiler. Microsoft, Borland, IBM, and other companies make 5GL visual programming products for developing applications in Java, for example. Visual programming allows you to easily envision object-oriented programming class hierarchies and drag icons to assemble program components.

July 2012

Rise of Software - Gamini Khurana

13

CompilersA compiler is a computer program (or set of programs) that transforms source code written in a programming 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. For ex. Visual Basic, Microsoft Visual C#, COBOL, Javac etc.

Compiler characteristics: spends a lot of time analyzing and processing the program the resulting executable is some form of machine- specific

binary code the computer hardware interprets (executes) the resulting code program execution is fast

July 2012

Rise of Software - Gamini Khurana

14

InterpretersAn 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:1. executes the source code directly

2. translates source code into some efficient intermediate representation (code) and immediately executes this

3. explicitly executes stored precompiled code made by a compiler which is part of the interpreter system

Interpreter characteristics: relatively little time is spent analyzing and processing the

program the resulting code is some sort of intermediate code the resulting code is interpreted by another program program execution is relatively slow

July 2012

Rise of Software - Gamini Khurana

15

Difference between Compilers and InterpretersA compiler makes the conversion just once, while an interpreter typically converts it every time a program is executed (or in some languages like early versions of BASIC, every time a single instruction is executed).

July 2012

Rise of Software - Gamini Khurana

16

July 2012