Ever since computer systems have been around, there are two components we have dealt with: hardware and software. Software is the intangible component of the computer. Software has to be stored on a computer’s hard drive for a user to access it. It is saved on a magnetic disc drive and recovered and run every time a user needs to operate the machine.
Functions of Software
To be blunt, there are endless possibilities of what a user may use software to do. However, to create a differentiation, software can be divided into two broad categories, operating system or platform software and application software. Operating system software is the underlying set of instructions that allow a user to use hardware and perform functions. There are various different types of operating systems based on purpose and function. A few notable examples would be MS Windows, Linux, Unix etc. The other form of software is application software that performs on top of the operating system and can perform an infinite amount of functions. Application software include games, word processors, design tools etc.
Software, however, can also be used for malicious purposes such as retrieving personal information, corrupting data and even complex functions such as hacking into secure computer controlled facilities and performing criminal activities. Malicious software includes Trojan horses, viruses or worms. Consequently software can also be used to prevent oneself from such activities. These are known as firewalls or anti-virus software
Since software is essentially just a group of machine-readable instructions or code, it has to be written or coded in a language that a computer understands. Early software was written in complex code and then assembled into human readable language. However, with the advent in computer science, it is now possible to develop software by coding using ordinary English words.
Some software are freeware meaning that they are open for anyone to download and modify according to their own requirements while some are strictly closed end and only perform functions that the developer has allowed the user to perform. Using some software is relatively very simple since they have a user friendly graphical user interface (GUI) while some software requires years of practice to master.