Computer Software Definition
Computer Software Definition
Software is a generic term for organized collections of computer data and instructions, often broken into two major categories: system software that provides the basic non-task-specific functions of the computer, and application software which is used by users to accomplish specific tasks.
System Software
System software is responsible for controlling, integrating, and managing the individual hardware components of a computer system so that other software and the users of the system see it as a functional unit without having to be concerned with the low-level details such as transferring data from memory to disk, or rendering text onto a display. Generally, system software consists of an operating system and some fundamental utilities such as disk formatters, file managers, display managers, text editors, user authentication (login) and management tools, and networking and device control software.
Application Software
Application software, on the other hand, is used to accomplish specific tasks other than just running the computer system. Application software may consist of a single program, such as an image viewer; a small collection of programs (often called a software package) that work closely together to accomplish a task, such as a spreadsheet or text processing system; a larger collection (often called a software suite) of related but independent programs and packages that have a common user interface or shared data format, such as Microsoft Office, which consists of closely integrated word processor, spreadsheet, database, etc.; or a software system, such as a database management system, which is a collection of fundamental programs that may provide some service to a variety of other independent applications.
Machine Language:
It is the lowest and most elementary level of Programming language and was the first type of programming language to be Developed. Machine Language is basically the only language which computer Can understand. In fact, a manufacturer designs a computer to obey just one Language, its machine code, which is represented inside the computer by a String of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of Electric pulse and 1 for the presence of an electric pulse . Since a computer is Capable of recognizing electric signals, therefore, it understand machine Language. Advantages of Machine Language : i) It makes fast and efficient use of the computer. ii) It requires no translator to translate the code i.e.Directly understood by the computer.
Disadvantages of Machine Language : i) All operation codes have to be remembered. ii) All memory addresses have to be remembered. iii) It is hard to amend or find errors in a program written in the machine language. iv) These languages are machine dependent i.e. a particular.
Assembly Language :
It was developed to overcome some of the many inconveniences of machine language. This is another low level but a very important language in which operation codes and operands are given in the form of alphanumeric symbols instead of 0s and ls. These alphanumeric symbols will be known as mnemonic codes and can have maximum up to 5 letter combination e.g. ADD for addition, SUB for subtraction, START,LABEL etc. Because of this feature it is also known as Symbolic Programming Language. This language is also very difficult and needs a lot of practice to master it because very small English support is given to this language. The language mainly helps in compiler orientations. The instructions of the Assembly language will also be converted to machine codes by language translator to be executed by the computer. Advantages of Assembly Language : i) It is easier to understand and use as compared to machine language. ii) It is easy to locate and correct errors. iii) It is modified easily. Disadvantages of Assembly Language : i) Like machine language it is also machine dependent. ii) Since it is machine dependent therefore programmer Should have the knowledge of the hardware also.
BASIC (Beginners All Purpose Symbolic Instruction Code). FORTRAN (Formula Translation). PL/I (Programming Language, Version 1). ALGOL (Algorithmic Language). APL (A Programming Language).
These languages emphasize their capabilities for maintaining data processing procedures and files handling problems. Examples are:
c) String and List Processing: These are used for string manipulation including search for
patterns, inserting and deleting characters. Examples are:
C++ Java
User-friendly. Similar to English with vocabulary of words and symbols. Therefore it is easier to learn. They require less time to write. They are easier to maintain. Problem oriented rather than 'machine' based. Program written in a high-level language can be translated into many machine language and therefore can run on any computer for which there exists an appropriate translator. It is independent of the machine on which it is used i.e.Programs developed in high level language can be run on any Computer.
A high-level language has to be translated into the machine language by a translator and thus a price in computer time is paid. The object code generated by a translator might be inefficient Compared to an equivalent assembly language program.