What is software? And how many types of software are there, difference between software and application software, software and system tools of programming, complete knowledge of software

Friends, technology is such a lesson in our life, without which we cannot live in today's time, we have to update ourselves, in order to compete with others, it is very important for us to know the things related to technology in today's time, so I am today. I have brought a block related to technology for you, friends, today we will know what software is, how many types are there, how it works and why it is very important for the computer and together we will know many such things which we are completely unaware of. So let's know the very important information related to the software.

 


What is software? And how many types of software are there, difference between software and application software, software and system tools of programming ?


What is Software ?

Till now, we have studied about the physical components or the hardware of the computer system. But the hardware is of no use on its own. Hardware needs to be operated by a set of instructions. These sets of instructions are referred to as software. 


It is that component of a computer system, which we cannot touch or view physically. It comprises the instructions and data to be processed using the computer hardware. The computer software and hardware complete any task together.


The software comprises a set of instructions which on execution deliver the desired outcome. In other words, each software is written for some computational purpose. Some examples of software include operating systems like Ubuntu or Windows 7/10, word processing tool like LibreOffice or Microsoft Word, video player like VLC Player, photo editors like GIMP and LibreOffice draw. 


A document or image stored on the hard disk or pen drive is referred to as a soft-copy. Once printed, the document or an image is called a hard-copy.



Need of Software 


The sole purpose of a software is to make the computer hardware useful and operational. A software knows how to make different hardware components of a computer work and communicate with each other as well as with the end-user. We cannot instruct the hardware of a computer directly. Software acts as an interface between human users and the hardware.

Depending on the mode of interaction with hardware and functions to be performed, the software can be broadly classified into three categories viz. 

(i) System software, 

(ii) Programming tools and 

(iii) Application software.


What is System Software ?


The software that provides the basic functionality to operate a computer by interacting directly with its constituent hardware is termed as system software. 


A system software knows how to operate and use different hardware components of a computer. It provides services directly to the end user, or to some other software. 


Examples of system software include operating systems, system utilities, device drivers, etc.


(A) Operating System


As the name implies, the operating system is a system software that operates the computer. An operating system is the most basic system software, without which other software cannot work. 


The operating system manages other application programs and provides access and security to the users of the system. 


Some of the popular operating systems are Windows, Linux, Macintosh, Ubuntu, Fedora, Android, iOS, etc. 


(B) System Utilities


Software used for maintenance and configuration of the computer system is called system utility. Some system utilities are shipped with the operating system for example disk defragmentation tool, formatting utility, system restore utility, etc. 


Another set of utilities are those which are not shipped with the operating system but are required to improve the performance of the system, for example, anti-virus software, disk cleaner tool, disk compression software, etc.


(C) Device Drivers


As the name signifies, the purpose of a device driver is to ensure proper functioning of a particular device. When it comes to the overall working of a computer system, the operating system does the work. But everyday new devices and components are being added to a computer system. 


It is not possible for the operating system alone to operate all of the existing and new devices, where each device has diverse characteristics. The responsibility for overall control, operation and management of a particular device at the hardware level is delegated to its device driver.


The device driver acts as an interface between the device and the operating system. It provides required services by hiding the details of operations performed at the hardware level of the device. 


Just like a language translator, a device driver acts as a mediator between the operating system and the attached device. The categorisation of software is shown in Figure.

What is Programming Tools ?


In order to get some work done by the computer, we need to give instructions which are applied on the input data to get the desired outcome.Computer languages are developed  for writing these instructions.


It is important to understand here that computers and humans understand completely different languages. While humans are able to write programs in high-level language, computers understand machine language. 


There is a continuous need for conversion from high level to machine level language, for which translators are needed. Also, to write the instruction, code editors (e.g., IDLE in Python) are needed. We will briefly describe here the programming languages, language translators and program development tools.


(A) Classification of Programming Languages


It is very difficult for a human being to write instructions in the form of 1s and 0s. So different types of computer programming languages are developed to simplify the coding. Two major categories of computer programming languages are low-level languages and high-level languages.


Low-level languages are machine dependent languages and include machine language and assembly language. Machine language uses 1s and 0s to write instructions which are directly understood and executed by the computer.


 But writing a code in machine language is difficult as one has to remember all operation codes and machine addresses. Also finding errors in the code written in machine language is difficult. 


To simplify the writing of code, assembly language was developed that allowed usage of English-like words and symbols instead of 1s and 0s. But one major drawback of writing a code in this language is that the code is computer specific, i.e., the code written for one type of CPU cannot be used for another type of CPU.


High level languages are machine independent and are simpler to write code into. Instructions are using English like sentences and each high level language follows a set of rules, similar to natural languages. 


However, these languages are not directly understood by the computer. Hence, translators are needed to translate high-level language codes into machine language. Examples of high level language include C++, Java, Python, etc.



(B) Language Translators


As the computer can understand only machine language, a translator is needed to convert program written in assembly or high level language to machine language. 


The program code written in assembly or high-level language is called source code. The source code is converted by a translator into the machine understandable form called object (machine) code as depicted in Figure.


As we have different types of computer languages, different translators are needed to convert the source code to machine code. The three types of translators used in computing systems are assembler, compiler and interpreter.


The translator used to convert the code written in assembly language to machine language is called assembler. Each assembler can understand a specific microprocessor instruction set only and hence, the machine code is not portable.


We also need translators to convert codes written in high level language (source code) to machine understandable form (machine code) for execution by the computer. Compiler converts the source code into machine code. If the code follows all syntactic rules of the language, then it is executed by the computer. 


Once translated, the compiler is not needed. An interpreter translates one line at a time instead of the whole program at one go. Interpreter takes one line, converts it into executable code if the line is syntactically correct, and then it repeats these steps for all lines in the source code. 


Hence, interpreter is always needed whenever a source code is to be executed.


(C) Program Development Tools


Whenever we decide to write a program, we need a text editor. An editor is a software that allows us to create a text file where we type instructions and store the file as the source code. Then an appropriate translator is used to get the object code for execution. 


In order to simplify the program development, there are software called Integrated Development Environment (IDE) consisting of text editor, building tools and debugger. 


A program can be typed, compiled and debugged from the IDE directly. Besides Python IDLE, Netbeans, Eclipse, Atom, Lazarus are few other examples of IDEs. Debugger, as the name implies, is the software to detect and correct errors in the source code.


What is Application Software ?


The system software provides the core functionality of the computer system. However, different users need the computer system for different purposes depending upon their requirements.

 Hence, a new category of software is needed to cater to different requirements of the end-users. This specific software that works on top of the system software is termed as application software.


 There are again two broad categories of application software— general purpose and customised application software.


(A) General Purpose Software


The application software developed for generic applications, to cater to a bigger audience in general are called general purpose software. Such ready-made application software can be used by end users as per their requirements.

 For example, spreadsheet tool Calc of LibreOffice can be used by any computer user to do calculation or to create account sheet. Adobe Photoshop, GIMP, Mozilla web browser, iTunes, etc., fall in the category of general purpose software.


(B) Customised Software


These are custom or tailor-made application software, that are developed to meet the requirements of a specific organisation or an individual. They are better suited to the needs of an individual or an organisation, considering that they are designed as per special requirements. 


Some examples of user-defined software include websites, school management software, accounting software, etc. It is similar to buying a piece of cloth and getting a tailor-made garment with the fitting, colour, and fabric of our choice.


Proprietary or Free and Open Source Software 


The developers of some application software provide their source code as well as the software freely to the public, with an aim to develop and improve further with each other’s help. 


Such software is known as Free and Open Source Software (FOSS). For example, the source code of operating system Ubuntu is freely accessible for anyone with the required knowledge to improve or add new functionality. 


More examples of FOSS include Python, Libreoffice, Openoffice, Mozilla Firefox, etc. Sometimes, software are freely available for use but source code may not be available. Such software are called freeware. Examples of freeware are Skype, Adobe Reader, etc. 


When the software to be used has to be purchased from the vendor who has the copyright of the software, then it is a proprietary software. Examples of proprietary software include Microsoft Windows, Tally, Quickheal, etc. 


A software can be freeware or open source or proprietary software depending upon the terms and conditions of the person or group who has developed and released that software.


Some Important Things


Hardware refers to the

physical components

of the computer system

which can be seen and

touched. For example,

RAM, keyboard,

printer, monitor, CPU,

etc. On the other hand,

software is a set of

instructions and data

that makes hardware

functional to complete

the desired task.


A computer system

can work without

application software,

but it cannot work

without system

software. For example,

we can use a computer

even if no word

processing software

is installed, but if no

operating system is

installed, we cannot

work on the computer.

In other words, the use

of computer is possible

in the absence of

application software.


What Did We Go Today


Today we have understood very important information related to computer software.

Friends, in today's time it is very important to know about technology because the world is becoming so advanced that if we do not have even a little information about technology, then we will be left far behind the world and then we will never be able to get any information from them. I will not be able to compete in the field, so friends, I am always related to technology, I write blocks and try to increase your knowledge.

I hope you have liked this post very much because because this post will have increased your knowledge, if this post has been helpful for you, then you must share it and follow our website so that you do not stay away from such information. .

"I wish you a bright future"


Post a Comment

0 Comments