Instructions that tell a computer what to do. Software is the entire set of programs, procedures, and routines associated with the operation of a computer system, including the operating system. The term differentiates these features from hardware, the physical components of a computer system. Two main types of software are system software, which controls a computer's internal functioning, and application software, which directs the computer to execute commands that solve practical problems. A third category is network software, which coordinates communication between computers linked in a network. Software is written by programmers in any number of programming languages. This information, the source code, must then be translated by means of a compiler into machine language, which the computer can understand and act on.
Learn more about software with a free trial on Britannica.com.
Set of ordered instructions that enable a computer to carry out a specific task. A program is prepared by first formulating the task and then expressing it in an appropriate programming language. Programmers may work in machine language or in assembly languages. But most applications programmers use one of the high-level languages (such as BASIC or C++) or fourth-generation languages that more closely resemble human communication. Other programs then translate the instructions into machine language for the computer to use. Programs are stored on permanent media (such as a hard disk), and loaded into RAM to be executed by the computer's processor, which executes each instruction in the program, one at a time. Programs are often divided into applications and system programs. Applications perform tasks such as word processing, database functions, or accessing the Internet. System programs control the functioning of the computer itself; an operating system is a very large program that controls the operations of the computer, the transfer of files, and the processing of other programs.
Learn more about program, computer with a free trial on Britannica.com.
Dia is free software/open source general-purpose diagramming software, developed as part of the GNOME project's office suite and was originally created by Alexander Larsson. Dia uses a controlled single document interface (CSDI) similar to GIMP and Sodipodi.
Dia has a modular design with several shape packages available for different needs: flowchart, network diagrams, circuit diagrams, etc. It does not restrict symbols and connectors from various categories from being placed together.
Dia can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity-relationship models (tedia2sql can be used to create the SQL DDL), UML diagrams, flowcharts, network diagrams, and simple electrical circuits. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG (Scalable Vector Graphics) to draw the shape.
Dia loads and saves diagrams to a custom XML format (gzipped by default, to save space) and can print diagrams including very large diagrams that span multiple pages. It can also be scripted using the Python programming language.