Objective Introduction What is Software? Main Categories of Software • Programming Language  Common High-Level Programming Language • System Software  Three Types of System Software  Two Types of User Interface • Application Software  Categories of Application Software  According to Source or means of Marketing  According to Specific Use  Kinds of Graphics-Based Software  The Database Management System (DBMS)  Uses of Communications Software

I. Objective II. Introduction Software has its own niche industry that is called the software industry made up of different entities and peoples that produce software, and as a result there are many software companies and programmers in the world. Because software is increasingly used in many different areas like in finance, searching, mathematics, space exploration, gaming and mining and such, software companies and people usually specialize in certain areas. For instance, Electronic Arts primarily creates video games. Also selling software can be quite a profitable industry. For instance, Bill Gates, the founder of Microsoft is the second richest man in the world in 2008 largely by selling the Microsoft Windows and Microsoft Office software programs, and same goes for Larry Ellison largely through his Oracle database software. There are also many non-profit software organizations like the Free Software Foundation, GNU Project, Mozilla Foundation. Also there are many software standard organizations like the W3C, IETF and others that try to come up with a software standard so that many software can work and interoperate with each other like through standards such as XML, HTML, HTTP, FTP, etc. Some of the well known software companies include Microsoft, IBM, Oracle, Novell, SAP, HP, etc.

III. What is Software? The term software is used to described any computer program that is added to the computer hardware to cause it to do work or perform various specific functions. Software consists of carefully planned, step-by-step instructions called Program that tell the computer what to do in processing data into information. Software is the word used to refer to programs as a group. The task of creating software is called Programmer. Software is the part of the computer system that you cannot touch. That is why, the software components needs a storage medium to hold it, usually a disk. A Software is, indeed, very important. It sets the computer into action. A super powerful and fast computer with no games to play, or no tutorials to learn from or no screen display to allow you to type a letter will just then be regarded as a wonderful piece of art—which it is not meant to be. Software is the very thing that makes the computer useful—it turns data into information.

Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions which change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler. The term "software" was first used in this sense by John W. Tukey in 1958.]In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem.


Main Categories of Software Computer software can be classified into three main categories. The

Programming Language Software, The System software and the Application Software. The programming language software makes it possible for man to communicate in a language understood by the computer machine. A Programming Language is an artificial language used to define the step-bystep instructions that can be processes and executed by the computer. The language uses a sets of vocabulary and grammatical rules for instructing the computer. There are various high-level computer language that are used in building operating system programs and the many versatile application programs. High-level language is a programming language in which language similar to a natural language such as English is used. A. Programming Language  Common High-level Programming Languages 1. BASIC- The Beginner’s All Purpose Symbolic Instruction Code was the principal programming language in 1970’s. It was developed by John Kemeny and Thomas Kurtz at Dartmouth University, USA in 1964. BASIC is often taught to beginning programmers because it is

easy to used and understand. Much more, it contains the same major concepts as other more “Difficult” languages, such as Turbo Pascal & Turbo C. The BASIC Language has many dialects which include Integer and Applesoft BASIC (for the Apple II Computer), GWBASIC(from Borland International) and quickBASIC or QBASIC from Microsoft Corporation. 2. FORTRAN- FORmula TRANslator, the oldest High-level programming language, was developed in 1957 by IBM to simplify scientific and engineering calculations. 3. COBOL- COmmon Bussiness Oriented Language, Developed between 1959 and 1961, is still commonly used to create business applications that run on mainframe computers. 4. PASCAL- Pascal is the programming language named after the mathematician, Blaise Pascal. It was designed between 1967 and 1971 by Niklaus Wirth. It started the structure programming. It was commonly used to teach students about High-Level programming. Turbo Pascal is a High-Speed Pascal Compiler that runs on MS-DOS Systems. 5. C Language- The C language was developed by Dennis Ritchie at Bell Laboratories in 1972. C Programs are composed of one or more functions defined by the Programmer; thus, C is a structured programming language Its other versions include the Turbo C and C++. This flexible programming language is used to create operating systems and application software. It is also used in creating business and engineering-related programs.

6. LOGO- Logo was developed originally by Seymour Papert at MIT in 1968 for artificial intelligence. It is a programming language often used to teach programming to children. B. System Software  Three Types of System Software 1. Operating System An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer. The operating system acts as a host for applications that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers, including handheld computers, desktop computers, supercomputers, and even video game consoles, use an operating system of some type. Some of the oldest models may however use an embedded operating system, that may be contained on a compact disk or other data storage device. Operating systems offer a number of services to application programs and users. Applications access these services through application programming interfaces (APIs) or system calls. By invoking these interfaces, the application can request a service from the operating

system, pass parameters, and receive the results of the operation. Users may also interact with the operating system with some kind of software user interface (UI) like typing commands by using command line interface (CLI) or using a graphical user interface (GUI, commonly pronounced “gooey”). For hand-held and desktop computers, the user interface is generally considered part of the operating system. On large multi-user systems like UNIX and Unix-like systems, the user interface is generally implemented as an application program that runs outside the operating system. (Whether the user interface should be included as part of the operating system is a point of contention.) Common contemporary operating systems include Microsoft Windows, Mac OS, Linux, BSD and Solaris. Microsoft Windows has a significant majority of market share in the desktop and notebook computer markets, while servers generally run on Linux or other Unix-like systems. Embedded device markets are split amongst several operating systems. 2. System Utilities A utility is a software package that can enhance or improve the operations of the computer or of a specific program, and to assist the user by improving its productivity. A utility can do a very specific task, usually relating to managing system resources: to speed up computer processing or printing, manage memory, provide screen savers, performs system backups at regular intervals, provide a calculator or calendar, display and

set a timer, scan for control viruses, compress files, and delete files. (e.g. Norton utilities, Norton Anti-virus, WinZip, WinRAR…etc) 3. User Interface The user interface is a portion of system software that displays message to the other user and handles the user’s commands. It provides tools to perform tasks such as preparing disk for use, copying files and start application programs. User interface consists of graphical design, commands, prompts, and other devices that enable the user to interact with a program.  Two Types of User Interface 1. Command Line Interface (CLI) A command-line interface (CLI) is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks. This text-only interface contrasts with the use of a mouse pointer with a graphical user interface (GUI) to click on options, or menus on a text user interface (TUI) to select options. This method of instructing a computer to perform a given task is referred to as "entering" a command: the system waits for the user to conclude the submitting of the text command by pressing the "Enter" key (a descendant of the "carriage return" key of a typewriter keyboard). A command-line interpreter then receives, analyses, and executes the requested command. The command-line interpreter may be run in a text terminal or in a terminal

emulator window as a remote shell client such as PuTTY. Upon completion, the command usually returns output to the user in the form of text lines on the CLI. This output may be an answer if the command was a question, or otherwise a summary of the operation. The concept of the CLI originated when teletype machines (TTY) were connected to computers in the 1950s, and offered results on demand, compared to 'batch' oriented mechanical punch card input technology. Dedicated text-based CRT terminals followed, with faster interaction and more information visible at one time, and then graphical terminals enriched the visual display of information. Currently personal computers encapsulate both functions in software. The CLI continues to co-evolve with GUIs like those provided by Microsoft Windows, Mac OS and the X Window System. In some applications, such as MATLAB and AutoCAD, a CLI is integrated with the GUI, with the benefits of both.

2. Graphical User Interface (GUI) graphical user interface (GUI, IPA: /ˈguːi/) is a type of user interface which allows people to interact with electronic devices such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment. A GUI offers graphical icons, and visual indicators, as opposed to text-based interfaces,

typed command labels or text navigation to fully represent the information and actions available to a user. The actions are usually performed through direct manipulation of the graphical elements. The term GUI is historically restricted to the scope of two-dimensional display screens with display resolutions capable of describing generic information, in the tradition of the computer science research at Palo Alto Research Center (PARC). The term GUI earlier might have been applicable to other high-resolution types of interfaces that are non-generic, such as videogames, or not restricted to flat screens, like volumetric displays.