Software

Credit cards are one of many everyday technologies that are dependent on software.[1]

Software is defined narrowly as unambiguous instructions that can be transformed into a form executable on computer hardware, or more broadly including supporting concepts, tools and methods needed to make the computer system operational.

Building off of previous innovations in mathematics and technology, software was created for the programmable digital computers that emerged in the late 1940s and was necessary to realize their usefulness. The first software was tied closely to the underlying computer hardware, but over time, the lower layers of the system have become more standardized, and software has become increasingly portability between different systems and abstracted from the underlying machine code. Operating systems manage the hardware resources and mediate between different applications that accomplish tasks for the user. Programming languages are the format in which software is written, and must be both human-readable and capable of being translated into unambiguous instructions for computer hardware. Compilers or interpreters are needed to link a program with other code that it relies on and convert the software into machine code that can be executed on the hardware. Programs are combined with each other and with external input to be capable of accomplishing a complex task.

Programming and maintaining the source code is the central step of software development, but it also includes conceiving the project, evaluating its feasibility, analyzing the business requirements, software design, and release. Software quality assurance, including code review and testing, is an essential part of the process as delivering quality code lowers the cost of reliability failures, cyberattacks enabled by security vulnerabilities, and maintenance cost. Maintenance typically consumes 75 percent or more of the software's lifetime engineering budget. Source code is protected by copyright law that vests the owner with the exclusive right to copy the code. Software has become ubiquitous in everyday life in developed countries. In many cases, software augments the functionality of pre-existing technologies, but it has also enabled the creation of entirely new technologies such as the Internet, video games, social media, mobile phones, and GPS.


© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search