Computer software or simply software is any set of machine-readable instructions that directs a computer's processor to perform specific operations. Computer software contrasts with computer hardware, which is the physical component of computers. Computer hardware and software require each other and neither can be realistically used without the other. Using a musical analogy, hardware is like a musical instrument and software is like the notes played on that instrument.

Computer software includes computer programs, libraries and their associated documentation. The word software is also sometimes used in a more narrow sense, meaning application software only.

At the lowest level, executable code consists of machine language instructions specific to an individual processor – typically a central processing unit (CPU). A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. For example, an instruction may change the value stored in a particular storage location inside the computer – an effect that is not directly observable to the user. An instruction may also (indirectly) cause something to appear on a display of the computer system – a state change which should be visible to the user. The processor carries out the instructions in the order they are provided, unless it is instructed to "jump" to a different instruction, or interrupted.

Software written in a machine language is known as "machine code". However, in practice, software 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 translated, using compilation or interpretation or a combination of the two, into machine language. Software may also be written in a low-level assembly language, essentially, a vaguely mnemonic representation of a machine language using a natural language alphabet. Assembly language is translated into machine code using an assembler.



Celestia is a 3D astronomy program created by Chris Laurel. The program is based on the Hipparcos Catalogue (HIP) and allows users to travel through an extensive universe, modeled after reality, at any speed, in any direction, and at any time in history. Celestia displays and interacts with objects ranging in scale from small spacecraft to entire galaxies in three dimensions using OpenGL, from perspectives which would not be possible from a classic planetarium or other ground-based display.

NASA and ESA have used Celestia in their educational and outreach programs, as well as for interfacing to trajectory analysis software.

Celestia is available for AmigaOS 4, Linux, Mac OS X, and Microsoft Windows. Celestia is free software released under the GNU General Public License.

There are three graphical front-ends available: GLUT, GTK+ or Qt.

Celestia's final update came in 2011. Since then, some of its development team have gone to work on either Celestia.sci, a cosmological visualizer or SpaceEngine, a similar software but featuring more realistic graphics.



Stellarium is a free software planetarium, licensed under the terms of the GNU General Public License, available for Linux, Windows, and Mac OS X. It uses OpenGL to render a realistic projection of the night sky in real time.

Stellarium was developed by the French programmer Fabien Chéreau, who launched the project in the summer of 2001. Other developers include Robert Spearman, Johannes Gajdosik, Matthew Gates, Nigel Kerr, and Johan Meuris, who is responsible for the artwork.

Stellarium was featured on SourceForge in May 2006 as Project of the Month.



Avogadro is a molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas. It is extensible through a plugin architecture.



Step is an open source two-dimensional physics simulation engine that is included in the KDE SC as a part of KDE Education Project. The software include the StepCore, a physical simulation library.


Welcome to this modern microbiology laboratory called Biogenesis!

It’s quite easy here to experiment with a huge variety of our organisms and study their life and behavior. Just take a seat, prepare your microscope and test tubes and enjoy the colorful evolution of life.

Study your favorite beings and clone them. Check the ecosystem stability by stimulating the growth of a concrete species or eradicating another one. Be the first one to discover a new life pathway or freeze an interesting organism to share it with your colleagues. Be fascinated by the different ways evolution can take and play with different parameters to see how organisms mutate to adapt to the environment.

Spyder is the Scientific PYthon Development EnviRonmentSpyder-windows-screenshot


Spyder (formerly Pydee) is an open source cross-platform IDE for scientific programming in the Python language. Spyder integrates NumPy, SciPy, Matplotlib and IPython, as well as other open source software.

In comparison with other IDEs for scientific development Spyder has a unique set of features - cross-platform, open-source, written in Python and available under non-copyleft license. Spyder is extensible with plugins, includes support for interactive tools for data inspection and embeds Python-specific code quality assurance and introspection instruments, such as Pyflakes, Pylint and Rope. It is available cross-platform through Anaconda, on Windows with WinPython and Python(x,y), on Mac OS through MacPorts, and on major Linux distributions such as Ubuntu, Debian, Fedora, OpenSuse, Gentoo or ArchLinux.

Spyder make use of Qt either through the binding PyQt or PySide.