Software is a bunch of instructions that will be created to achieve a specific result. Software is mainly used for different digital systems like computers, laptops, smartphones, Refrigerator, Car, etc. But most of the software is created for IT systems like Computers, Laptops, Smartphones, etc.
Sofware is one of the most complex human creation where it contains a lot of different components. But we will provide some of the most-used components. The software component provides parts of the software for different uses and functionalities.
Libraryis existing software that can be used by other software for specific functions.
Codeis the text which is used to specify instructions for the software
Datais the data used to read, write and change persistent or volatile data related to the software
DLLis a file type which generally contains libraries and data
Filesare used to read, write and change data inside files
Databaseis a structured and standard data container for the software
Driveris basic software that is used to consume system and hardware resources like network, memory, etc.
APIis a callable structured resource presentation of the software and service
GUIis the user-friendly graphical representation of the software.
Software history is short as about 70 years where modern software history starts in the 1970s. Here will define important dates about the software.
- The software problem is defined by Alan Turing in 1935 with the name of
- Claud Shannon created the binary logic to program and develop software.
- The first reprogram able software is created in 1950 for the system/hardware called ENIAC
- In the late 1950s the programming languages Fortran, COBOL, and Basic are created.
- 1970 the C programming language created for the Unix Operating system software.
- 1980 the IBM Personal Computer (PC) is created which has changed the software landscape with its users.
- The most popular operating system software Windows is created by Microsoft.
- In 1990 open source software and an operating system called Linux is created by the Linux Torvalds.
- The 1990s and later a lot of software emerged for the PC architecture systems.
Software Usage Types
There is a lot of software created in the recent 30 years which has different user types. And new software types are also created according to user needs. Here we will provide some popular software usage categories and types.
Security & Privacysoftware is used to secure the user and his data while protecting his privacy
Developmentsoftware is mainly used to create new software and tools
Backup & Syncsoftware is used to take backups for recovery or sync with other systems and platforms
Office & Productivitysoftware is used for office-related tasks like document writing, presentation, time and task tracking, etc
Gaming Softwareis one of the most popular categories which contains a different type of games
Social &Communcationis another popular category which contains social network apps with communication software
Web browserprovides software to surf on the web
File Managementsoftware provides to manage files and directories in an easy and efficient way.
file Sharingis used to share media, movie, music, photo files over the internet
Network & Adminsoftware is used by IT guys to manage IT systems network and operating systems
Education & Referencesoftware is used for educational purposes
Home & Familysoftware is designed for home usage
Audio & Musicsoftware is mainly used to listening, editing, converting and creating music
Video & Moviessoftware is used to watch, edit and convert video files
Photos & Graphicssoftware is used to open, edit, create images and graphics
OS & Utilitysoftware is used for operating systems and admin guys
Gamesoftware is the games we play
Travel & Location
Sport & Health
Business & Commerce
News & Bookssoftware provides tools to read, follow news and books
CD/DVD Toolsoftware is to burn, edit CD/DVD media contents
System & Hardwareis used to get information and change settings of the hardware
Software License Types
Creating software requires time, work and it is an intellectual property of the creator which can be a person, a group, or a corporate. So in order to use the software, we have to obey the software creator rules which is called as
Software License. A software license provides detailed usage for the users. There are some popular license types used by a lot of software.
Public Domainsoftware license is the most permissive license where anyone can modify and use the software without any restrictions.
Permissive Licenseis a bit restricted then Public Domain where it is also known as
LGPLis mainly used for open source libraries in other projects. If you copy or modify the library you should provide your software in similar terms of LGPL
Proprietaryis generally used for paid software and it is the most restrictive license. Microsoft, Adobe uses this type of license.
Software Download Sites
In the old times, the software was redistributed via Floppy Disk, CD ad DVD because of the software size and the lack of internet speeds. Also providing software with a physical entity is a good marketing technique for the companies. Currently, with the advance of internet access and speeds, a software download is provided via internet download. Even software producers provide downloads for their software there are also
Software Download Sites those acts as a hub for software.
File Hippo is a new generation software download site where it provides a popular software with their older versions.
Softpedia is another popular download site which provides a lot of different type of software.
SourceForge is a software download size where it focused on open-source and free software. It also provides some business services.
Software Architecture defines the requirements, components, and relations of the software with internal and external components. The software can be designed with a lot of detailed and complex architecture but in general, we can categorize software architectures like below.
Standalone Simple Softwarewill work on the system it installed and do not require any network or internet connection to work.
Client-Server Softwarewill work on the system and remote server where the network or internet can be used to communicate with the server part of the software.
Sofware is created with a development effort. Software development is a technical process where software developers use programming languages, libraries, platforms in order to create, develop, and maintain the software. Generally, Integrated Development Environments (IDE) is used for software development. Sofware development life cycle (SDLC) is the standard process for software development where it contains the following phases
- Deployment and maintenance
Software and Hardware Relation
Sofware is a bunch of instructions which is digital and needs some hardware to run. Hardware is used to run the software and provide different resources like memory, central processor, storage, network, etc. Every software requires physical hardware in order to run. Software is developed according to the Hardware it will run. Generally, hardware architectures like x86, 86_64, ARM is used for software development.