Rise of software


Published on

About Software from Then to Now

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Rise of software

  1. 1. Rise of Software Gamini Khurana Grade VI - B
  2. 2. Software Computer 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 2012Rise of Software - Gamini Khurana 2
  3. 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 2012Rise of Software - Gamini Khurana 3
  4. 4. System Software System 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 2012Rise of Software - Gamini Khurana 4
  5. 5. Programing Software Programming 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 2012Rise of Software - Gamini Khurana 5
  6. 6. Application Software Application 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 2012Rise of Software - Gamini Khurana 6
  7. 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 2012Rise of Software - Gamini Khurana 7 In the computer industry, these abbreviations are widely used to represent major steps or "generations" in the evolution of programming languages.
  8. 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 2012Rise of Software - Gamini Khurana 8
  9. 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 2012Rise of Software - Gamini Khurana 9
  10. 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 10
  11. 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 2012Rise of Software - Gamini Khurana 11
  12. 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 2012Rise of Software - Gamini Khurana 12
  13. 13. Compilers A 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 2012Rise of Software - Gamini Khurana 13
  14. 14. Interpreters 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: 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 2012Rise of Software - Gamini Khurana 14
  15. 15. Difference between Compilers and Interpreters A 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 2012Rise of Software - Gamini Khurana 15
  16. 16. July 2012Rise of Software - Gamini Khurana 16