Monday, May 18, 2009

Software industry

The software industry includes businesses involved in the development, maintenance and publication of computer software using any business model. The industry also includes software services, such as training, documentation, and consulting. There are several types of businesses in the software industry. The largest and most profitable publish horizontal proprietary software such as Microsoft, SAP AG, Oracle Corporation, and Adobe Systems. Others develop vertical-market software intended for a particular sector or niche in the economy such as finance, health care, insurance, retail, automotive manufacturing, and so on.


A great deal of specialized software is produced for various niches. Other companies do contract programming to develop unique software for one particular client company, or focus on configuring and customizing suites from large vendors such as SAP or Oracle. Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, software consists of a machine language specific to an individual processor.


A machine language consists of groups of binary values signifying processor instructions which change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.


Computer software has to be "loaded" into the computer's storage (such as a [hard drive], memory, or RAM). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions.

No comments:

Post a Comment