RealityTechComputers → Software

Software

Development of computer algorithms preceded the electronic computer and played a crucial role in the explosive growth of the personal computer industry. Babbage was the first theoretician to recognize the need for machine-based memory and coded inputs, way ahead of the technical means of his time (nearly a century later, Hollerith introduced punched cards for automated tabulation, leading to the foundation of IBM in 1911). In the 1930s, Turing described a theoretical machine that implements any logical operation by a sequence of simple read, write, and move steps, laying the foundation of computer science and the post-WW2 rise of mainframe computers. To facilitate learning to program such machines, Darthmore College developed BASIC in the 1960s. When the first personal microcomputer (Altair) hit the market in 1974, it owed its legendary success to the BASIC interpreter (a software to adapt BASIC to Altair's 8-bit processor) developed by Paul Allen and Bill Gates who, on that occasion, founded Microsoft. Sales of home computers and software took off. A second dramatic boost occurred in the early-1980s, when IBM entered the PC market and Microsoft issued MS-DOS.

Today, programmers use high-level programming languages (sets of rules for highly abstract instructional code) to write programs (applications) that are translated by subordinate programs (assemblers, compilers, and interpreters [1] ) into executable machine code with the intervention of yet another highly complex and sophisticated utility program, the operating system. Syntax, semantics, and control flow are essential features of all languages. Hundreds of programming languages serving different purposes on different machines have been developed, but only few gained widespread use and influenced unceasing further development [2] . Modern languages are structured and object-oriented [3] . The heavily interlinked, intriguingly complex yet exceedingly exact code that constitutes software can be grouped into two major categories:


← Computers