| • Science | • People | • Locations | • Timeline |
Despite its conceptual simplicity, Q is a full-featured functional programming language with a modern syntax, currying, dynamic typing using an object-oriented type system, exception handling, POSIX multithreading, a comprehensive standard library, and an interface to the C programming language. Q is an impure functional language (i.e., operations with side-effectsIn computer science, a side-effect is a property of a programming language function that it modifies some state other than its return value. For example, a function might modify a global or "static" variable, modify one of its arguments, write data to a d are permitted) with a default eager evaluationEager evaluation is the evaluation model in most traditional programming languages. In eager evaluation an expression is evaluated as soon as it gets bound to a variable. This is generally more efficient as a low-level strategy in simple programming langu strategy; "special forms" can be used to implement data structurebinary tree, a simple type of branching linked data structure. In computer science, a data structure is a way of storing data in a computer so that it can be used efficiently. Often a carefully chosen data structure will allow a more efficient algorithm ts and operations featuring lazy evaluationIn computer programming, lazy evaluation is a concept that attempts to minimize the work the computer has to do. It has two related, yet different, meanings that could be described as delayed evaluation and minimal evaluation''. Besides performance increa. Q has been ported to a variety of operating systemIn computing, an operating system OS is the system software responsible for the direct control and management of hardware and basic system operations, as well as running application software such as word processing programs and web browsers. In general, ts, including BeOSBeOS is a personal computer operating system developed by Be Incorporated in 1990 as a media OS. A highly modular OS written in completely new code (and not based on UNIX, a common misconception due to Be's inclusion of the Bash command shell and some sim, FreeBSDFreeBSD is a Unix-like operating system descended from Unix via the BSD branch through 386BSD and 4. It runs on processors compatible with the Intel x86 family, as well as on the DEC Alpha, the UltraSPARC processors by Sun Microsystems, the Itanium (IA-64, LinuxThis article is about Linux-based operating systems, GNU/Linux, and related topics. See Linux kernel for the kernel itself. See Linux (washing powder) for the Swiss brand of washing powder. Tux, a plump penguin, is the official Linux mascot Linux is the n, Mac OS X, Solaris and Microsoft Windows. The interpreter is free software distributed under the GNU General Public License.
Various add-on modules are provided for interfacing, e.g., to GNU Octave, OpenDX ( IBM's scientific visualization software), Tcl/ Tk and ODBC. A graph editor and library is also available. This turns the language into a practical tool for scientific and other advanced applications. Q also comes with an extensive system interface (though not as comprehensive as the facilities provided by other scripting languages such as Perl and Python). Moreover, computer music applications are supported via portable interfaces for MIDI and digital audio programming.