Computer software (or simply software) is the programs and procedures that enable a computer to perform a specific task, as opposed to the physical components of the system (hardware). This includes application software such as a word processor, which enables a user to perform a task, and system software such as an operating system, which enables other software to run properly, by interfacing with hardware and with other software.
The term "software" was first used in this sense by John W. Tukey in 1957. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. The concept of reading different sequences of instructions into the memory of a device to control computations was invented by Charles Babbage as part of his difference engine. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem. Hally, Mike (2005:79). Electronic brains/Stories from the dawn of the computer age. British Broadcasting Corporation and Granta Books, London. ISBN 1-86-207663-4.
Relationship to hardware
Computer software is so called in contrast to computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. In computers, software is loaded into RAM and executed in the central processing unit. 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 (object code), 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 generally 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.
More on [ Computer software ]
What is What in the Nanoworld: A Handbook on Nanoscience and Nanotechnology, 2nd, Revised and Enlarged Edition Victor E. Borisenko, Stefano Ossicini Mon, 13 Oct 2008 04:00:00 -0000 The second, completely revised and enlarged edition of What is What in the Nanoworld summarizes the terms and definitions, most important phenomena, and regulations occurring in the physics, chemistry, technology, and application of nanostructures. A representative collection of fundamental terms and definitions from quantum physics and chemistry, special mathematics, organic and inorganic chemistry, Read More... Computational Intelligence and Feature Selection: Rough and Fuzzy Approaches Richard Jensen, Qiang Shen Mon, 29 Sep 2008 04:00:00 -0000 Computational Intelligence and Feature Selection provides a high level audience with both the background and fundamental ideas behind feature selection with an emphasis on those techniques based on rough and fuzzy sets, including their hybridizations. It introduces set theory, fuzzy set theory, rough set theory, and fuzzy-rough set theory, and illustrates the power and efficacy of the feature selection described through the use of real-world applications Read More... Differential Equations with Maple, 3rd Edition Brian R. Hunt, Ronald L. Lipsman, John E. Osborn, Jonathan M. Rosenberg Mon, 29 Sep 2008 04:00:00 -0000 Read More... Statistical Methods in e-Commerce Research Wolfgang Jank, Galit Shmueli Mon, 29 Sep 2008 04:00:00 -0000 This groundbreaking book introduces the application of statistical methodologies to e-Commerce data With the expanding presence of technology in today's economic market, the use of the Internet for buying, selling, and investing is growing more popular and public in nature. Statistical Methods in e-Commerce Research is the first book of its kind to focus on the statistical models and methods that are essential in order to analyze information from Read More... Fundamentals of Quality Control and Improvement, Student Solutions Manual, 3rd Edition Amit Mitra Mon, 22 Sep 2008 04:00:00 -0000 Incorporating modern ideas, methods, and philosophies of quality management, Fundamentals of Quality Control and Improvement, Third Edition presents a quantitative approach to management-oriented techniques and enforces the integration of statistical concepts into quality assurance methods. Utilizing a sound theoretical foundation and illustrating procedural techniques through real-world examples, Read More... Handbook of Mathematical Relations in Particulate Materials Processing Randall M. German Tue, 16 Sep 2008 04:00:00 -0000 Handbook of Mathematical Relations in Particulate Materials Processing goes beyond the traditional barriers of only one material class by covering the major areas in ceramics, cemented carbides, powder metallurgy, and particulate materials. Suited for quick reference with stand alone definitions. It is the perfect complement to existing textbooks since it will simply cut to the key relations. Read More...
MING - Computes the MD energy of a polygonal knot. Available via ftp.
OPTi - Macintosh freeware which visualizes quasi-conformal deformations of the once-punctured-torus groups. It interactively draws the isometric circles, the Ford region, and the limit set.
SNAP - Exact computation of hyperbolic 3-manifolds and their arithmetic invariants. Written by O. Goodman in an ARC-funded project of Hodgson and Neumann.
SnapPea - A program for creating and studying hyperbolic 3-manifolds. Free source available in C.
SnapPea PC - SnapPea for Windows 95/98/NT by A.C. Manoharan.
The Kenzo Program - A computer program for computational algebraic topology.
http://live.pirillo.com/ - A couple of guys from the Justin.tv crew decided they needed to interview Chris. ...