Software is some applications where it provides instructions to complete a specific job in a computer. Software is the most generic term used for computer applications, programs, scripts, tools, etc.
The first time software is proposed by Alan Turing in 1935 in his essay “Computable numbers with an application to the Entscheidungsproblem”. But the word of the software was coined by John Tukey in a 1958 issue of American Mathematical Monthly. The first software is created by Tom Kilburn which is executed at 11 a.m. on June 21, 1948, at the University of Manchester in England. The first software is used to calculate mathematical problem where to find the greatest divisor of 2 to the power of 18 (262,144). It took 52 minutes to calculate the result.
There are different types of software according to their development, usage, platform, etc.
- `Desktop Software` is mainly used in PC and Desktop systems and operating systems like Windows and Linux.
- `Windows Software` is developed for operating systems like Windows 7, Windows 8, Windows 10, Windows Server 2008, 2012, 2016, 2019 and generally have an extension like `*.msi`, `*.exe` etc.
- `Linux Software` is developed for different distributions like Ubuntu, Mint, Kali, Debian, Fedora, CentOS, RedHat, etc. Linux software generally distributions with central repositories and they have generally extension like `*.deb`, `*.rpm`, `*.bin`.
- `MacOS Software` is used in Apple based Desktop and Laptop systems. It has `*.pkg` extension.
- `Mobile Software` is used in mobile and smartphone systems like Android, iPhone, Windows Mobile, etc.
- `Android Software` is used in Google Android smartphones. It uses Google Play to download and install software packages.
- `IOS Software` is used in iPhone and software is provided by Apple repository.
- `Embedded Software` is mainly used in embedded systems like Car Computer, Industrial systems, Kiosk, etc. Their development is very special and different from each other.
- `IOT Software` is a new type of software where systems with very little system resources run specially crafted software which has very less functionality.
Software is generally by the creator or developer personally or a corporate from the official site. But there are also some 3rd party sites which provide software in a central hub manner. This software generally provided in an executable format. Also in Linux software is provided from official or 3rd party repositories.
Softwares are created differently and different entities. The creators will provide their intellectual property as software. So in order to use software will have a license and license agreement. Here we will list some of the most popular Software License types.
- `Proprietary License` is generally used by personal developers
- `GNU General Public License` is used by open source and Linux software developers
- `End User License Agreement (EULA)` is a popular license type used by Microsoft software.
Software development is the act of creating software. Software development generally is done with a programing language and a platform to run the software. Some code is created with the given programming language and compiled into an executable format like
*.deb in order to run in the target platform. While coding different programming languages like C#, Python, VisualBasic, PHP, Ruby, C/C++, Java, and other programming languages can be used.