136 relations: Ada (programming language), Adjective, AI Memo, ALGOL, ALGOL 60, Assembly language, Asynchronous procedure call, BASIC, Boolean-valued function, Branch table, C (programming language), C Sharp (programming language), C++, Call site, Call stack, Calling convention, CICS, Circular reference, Class (computer programming), Closure (computer programming), Code refactoring, Code reuse, Command–query separation, Compiler, Computer data storage, Computer file, Computer programming, Coroutine, Data descriptor, Data structure, Data type, David Wheeler (computer scientist), Decomposition (computer science), Determinant, Divide and conquer algorithm, Duplicate code, Dynamic dispatch, Evaluation strategy, Event (computing), Exception handling, Expression (computer science), Fibonacci, Forth (programming language), Fortran, Function (mathematics), Function overloading, Function prologue, Functional programming, Garbage collection (computer science), Global variable, ..., Guy L. Steele Jr., Haskell (programming language), High-level programming language, Housekeeping (computing), HP 2100, IBM, IBM 1130, IBM 1620, IBM Personal Computer, IBM System/360, Identifier, Imperative programming, Indirect branch, Information hiding, Inline expansion, Intel 8008, Interrupt, John McCarthy (computer scientist), Lazy evaluation, Library (computing), Link register, Lisp (programming language), Logarithm, Logic programming, Lotus 1-2-3, Macro (computer science), Manchester Baby, Mathematical induction, Matrix (mathematics), Maurice Wilkes, Method (computer programming), Modular programming, Nested function, Noun, Object (computer science), Object-oriented programming, Operator overloading, Overhead (computing), Parameter (computer programming), Pascal (programming language), PDP-1, PDP-11, PDP-8, Peripheral, PIC microcontroller, PL/I, Processor register, Program optimization, Programming language, Pseudorandom number generator, Punched card, Punched tape, RCA 1802, Recursion, Recursion (computer science), Reduced instruction set computer, Reentrancy (computing), Return address, Return code, Return statement, Scala (programming language), Scope (computer science), Self-modifying code, Side effect (computer science), Software maintenance, Stack (abstract data type), Stack overflow, Stanley Gill, Statement (computer science), Strong and weak typing, Structured programming, Syntax (programming languages), Task (computing), Temporary variable, Thread (computing), Threaded code, Transaction processing system, Transclusion, Undecidable problem, UNIVAC I, Variant type, Verb, Very long instruction word, Virtual memory, Visual Basic, Voluntary Voting System Guidelines. Expand index (86 more) » « Shrink index
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
In linguistics, an adjective (abbreviated) is a describing word, the main syntactic role of which is to qualify a noun or noun phrase, giving more information about the object signified.
The AI Memos are a series of influential memorandums and technical reports published by the MIT AI Lab, Massachusetts Institute of Technology, United States.
ALGOL (short for "Algorithmic Language") is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.
ALGOL 60 (short for Algorithmic Language 1960) is a member of the ALGOL family of computer programming languages.
An assembly (or assembler) language, often abbreviated asm, is a low-level programming language, in which there is a very strong (but often not one-to-one) correspondence between the assembly program statements and the architecture's machine code instructions.
Asynchronous procedure call is a unit of work in a computer.
BASIC (an acronym for Beginner's All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use.
A Boolean-valued function (sometimes called a predicate or a proposition) is a function of the type f: X → B, where X is an arbitrary set and where B is a Boolean domain, i.e. a generic two-element set, (for example B.
In computer programming, a branch table or jump table is a method of transferring program control (branching) to another part of a program (or a different program that may have been dynamically loaded) using a table of branch or jump instructions.
C (as in the letter ''c'') is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations.
C# (/si: ʃɑːrp/) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.
C++ ("see plus plus") is a general-purpose programming language.
In programming, a call site of a function or subroutine is the location (line of code) where the function is called (or may be called, through dynamic dispatch).
In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program.
In computer science, a calling convention is an implementation-level (low-level) scheme for how subroutines receive parameters from their caller and how they return a result.
Customer Information Control System (CICS) is a family of mixed language application servers that provide online transaction management and connectivity for applications on IBM Mainframe systems under z/OS and z/VSE.
A circular reference is a series of references where the last object references the first, resulting in a closed loop.
In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).
In programming languages, a closure (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-class functions.
Code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.
Code reuse, also called software reuse, is the use of existing software, or software knowledge, to build new software, following the reusability principles.
Command–query separation (CQS) is a principle of imperative computer programming.
A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).
Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media that are used to retain digital data.
A computer file is a computer resource for recording data discretely in a computer storage device.
Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.
Coroutines are computer-program components that generalize subroutines for non-preemptive multitasking, by allowing multiple entry points for suspending and resuming execution at certain locations.
In computing, a data descriptor is a structure containing information that describes data.
In computer science, a data structure is a data organization and storage format that enables efficient access and modification.
In computer science and computer programming, a data type or simply type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data.
David John Wheeler FRS (9 February 1927 – 13 December 2004) was a computer scientist and professor of computer science at the University of Cambridge.
Decomposition in computer science, also known as factoring, is breaking a complex problem or system into parts that are easier to conceive, understand, program, and maintain.
In linear algebra, the determinant is a value that can be computed from the elements of a square matrix.
In computer science, divide and conquer is an algorithm design paradigm based on multi-branched recursion.
Duplicate code is a computer programming term for a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity.
In computer science, dynamic dispatch is the process of selecting which implementation of a polymorphic operation (method or function) to call at run time.
Evaluation strategies are used by programming languages to determine when to evaluate the argument(s) of a function call (for function, also read: operation, method, or relation) and what kind of value to pass to the function.
In computing, an event is an action or occurrence recognized by software, often originating asynchronously from the external environment, that may be handled by the software.
Exception handling is the process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution.
An expression in a programming language is a combination of one or more constants, variables, operators, and functions that the programming language interprets (according to its particular rules of precedence and of association) and computes to produce ("to return", in a stateful environment) another value.
Fibonacci (c. 1175 – c. 1250) was an Italian mathematician from the Republic of Pisa, considered to be "the most talented Western mathematician of the Middle Ages".
Forth is an imperative stack-based computer programming language and environment originally designed by Charles "Chuck" Moore.
Fortran (formerly FORTRAN, derived from Formula Translation) is a general-purpose, compiled imperative programming language that is especially suited to numeric computation and scientific computing.
In mathematics, a function was originally the idealization of how a varying quantity depends on another quantity.
In some programming languages, function overloading or method overloading is the ability to create multiple methods of the same name with different implementations.
In assembly language programming, the function prologue is a few lines of code at the beginning of a function, which prepare the stack and registers for use within the function.
In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
In computer science, garbage collection (GC) is a form of automatic memory management.
In computer programming, a global variable is a variable with global scope, meaning that it is visible (hence accessible) throughout the program, unless shadowed.
Guy Lewis Steele Jr. (born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages.
Haskell is a standardized, general-purpose compiled purely functional programming language, with non-strict semantics and strong static typing.
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.
In computer programming, housekeeping can refer to either a standard entry or exit routine appended to a user-written block of code (such as a subroutine or function, sometimes known as a function prologue and epilogue) at its entry and exit or, alternatively, to any other automated or manual software process whereby a computer is cleaned up after usage (e.g. freeing resources such as virtual memory).
The HP 2100 was a series of minicomputers produced by Hewlett-Packard (HP) from the mid-1960s to early 1990s.
The International Business Machines Corporation (IBM) is an American multinational technology company headquartered in Armonk, New York, United States, with operations in over 170 countries.
The IBM 1130 Computing System, introduced in 1965, was IBM's least expensive computer at that time.
The IBM 1620 was announced by IBM on October 21, 1959, and marketed as an inexpensive "scientific computer".
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform.
The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978.
An identifier is a name that identifies (that is, labels the identity of) either a unique object or a unique class of objects, where the "object" or class may be an idea, physical object (or class thereof), or physical substance (or class thereof).
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
An indirect branch (also known as a computed jump, indirect jump and register-indirect jump) is a type of program control instruction present in some machine language instruction sets.
In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed.
In computing, inline expansion, or inlining, is a manual or compiler optimization that replaces a function call site with the body of the called function.
The Intel 8008 ("eight-thousand-eight" or "eighty-oh-eight") is an early byte-oriented microprocessor designed and manufactured by Intel and introduced in April 1972.
In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention.
John McCarthy (September 4, 1927 – October 24, 2011) was an American computer scientist and cognitive scientist.
In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (sharing).
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
A link register is a special-purpose register which holds the address to return to when a function call completes.
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
In mathematics, the logarithm is the inverse function to exponentiation.
Logic programming is a type of programming paradigm which is largely based on formal logic.
Lotus 1-2-3 is a discontinued spreadsheet program from Lotus Software (later part of IBM).
A macro (short for "macroinstruction", from Greek μακρός 'long') in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to a replacement output sequence (also often a sequence of characters) according to a defined procedure.
The Manchester Baby, also known as the Small-Scale Experimental Machine (SSEM), was the world's first stored-program computer.
Mathematical induction is a mathematical proof technique.
In mathematics, a matrix (plural: matrices) is a rectangular array of numbers, symbols, or expressions, arranged in rows and columns.
Sir Maurice Vincent Wilkes (26 June 1913 – 29 November 2010) was a British computer scientist who designed and helped build the electronic delay storage automatic calculator (EDSAC), one of the earliest stored program computers and invented microprogramming, a method for using stored-program logic to operate the control unit of a central processing unit's circuits.
A method in object-oriented programming (OOP) is a procedure associated with a message and an object.
Modular programming is a software design technique that emphasizes separating the functionality of a programme into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
In computer programming, a nested function (or nested procedure or subroutine) is a function which is defined within another function, the enclosing function.
A noun (from Latin nōmen, literally meaning "name") is a word that functions as the name of some specific thing or set of things, such as living creatures, objects, places, actions, qualities, states of existence, or ideas.
In computer science, an object can be a variable, a data structure, a function, or a method, and as such, is a value in memory referenced by an identifier.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
In programming, operator overloading, sometimes termed operator ad hoc polymorphism, is a specific case of polymorphism, where different operators have different implementations depending on their arguments.
In computer science, overhead is any combination of excess or indirect computation time, memory, bandwidth, or other resources that are required to perform a specific task.
In computer programming, a parameter (often called formal parameter or formal argument) is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.
Pascal is an imperative and procedural programming language, which Niklaus Wirth designed in 1968–69 and published in 1970, as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the ALGOL 60 language. Wirth had already developed several improvements to this language as part of the ALGOL X proposals, but these were not accepted and Pascal was developed separately and released in 1970. A derivative known as Object Pascal designed for object-oriented programming was developed in 1985; this was used by Apple Computer and Borland in the late 1980s and later developed into Delphi on the Microsoft Windows platform. Extensions to the Pascal concepts led to the Pascal-like languages Modula-2 and Oberon.
The PDP-1 (Programmed Data Processor-1) is the first computer in Digital Equipment Corporation's PDP series and was first produced in 1959.
The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a succession of products in the PDP series.
The PDP-8 was a 12-bit minicomputer produced by Digital Equipment Corporation (DEC).
A peripheral device is "an ancillary device used to put information into and get information out of the computer." Three categories of peripheral devices exist based on their relationship with the computer.
PIC (usually pronounced as "pick") is a family of microcontrollers made by Microchip Technology, derived from the PIC1650"PICmicro Family Tree", PIC16F Seminar Presentation originally developed by General Instrument's Microelectronics Division.
PL/I (Programming Language One, pronounced) is a procedural, imperative computer programming language designed for scientific, engineering, business and system programming uses.
In computer architecture, a processor register is a quickly accessible location available to a computer's central processing unit (CPU).
In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources.
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers.
A punched card or punch card is a piece of stiff paper that can be used to contain digital data represented by the presence or absence of holes in predefined positions.
Punched tape or perforated paper tape is a form of data storage, consisting of a long strip of paper in which holes are punched to store data.
The RCA CDP1802, a 40-pin LSI integrated circuit chip (IC), implemented using COSMAC (Complementary Symmetry Monolithic Array Computer) architecture, is an 8-bit CMOS microprocessor (µP) introduced by RCA in early 1976, the company's first single-chip microprocessor.
Recursion occurs when a thing is defined in terms of itself or of its type.
Recursion in computer science is a method of solving a problem where the solution depends on solutions to smaller instances of the same problem (as opposed to iteration).
A reduced instruction set computer, or RISC (pronounced 'risk'), is one whose instruction set architecture (ISA) allows it to have fewer cycles per instruction (CPI) than a complex instruction set computer (CISC).
In computing, a computer program or subroutine is called reentrant if it can be interrupted in the middle of its execution and then safely be called again ("re-entered") before its previous invocations complete execution.
In postal mail, a return address is an explicit inclusion of the address of the person sending the message.
In computer programming, a return code or an error code is an enumerated message that corresponds to the status of a specific software application.
In computer programming, a return statement causes execution to leave the current subroutine and resume at the point in the code immediately after where the subroutine was called, known as its return address.
Scala is a general-purpose programming language providing support for functional programming and a strong static type system.
In computer programming, the scope of a name binding – an association of a name to an entity, such as a variable – is the region of a computer program where the binding is valid: where the name can be used to refer to the entity.
In computer science, self-modifying code is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, thus simplifying maintenance.
In computer science, a function or expression is said to have a side effect if it modifies some state outside its scope or has an observable interaction with its calling functions or the outside world besides returning a value.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
In computer science, a stack is an abstract data type that serves as a collection of elements, with two principal operations.
In software, a stack overflow occurs if the call stack pointer exceeds the stack bound.
Professor Stanley Gill (26 March 1926 – 1975) was a British computer scientist credited, along with Maurice Wilkes and David Wheeler, with the invention of the first computer subroutine.
In computer programming, a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out.
In computer programming, programming languages are often colloquially classified as to whether the language's type system makes it strongly typed or weakly typed (loosely typed).
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.
In computer science, the syntax of a computer language is the set of rules that defines the combinations of symbols that are considered to be a correctly structured document or fragment in that language.
In computing, a task is a unit of execution or a unit of work.
In computer programming, a temporary variable is a variable with short lifetime, usually to hold data that will soon be discarded, or before it can be placed at a more permanent memory location.
In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.
In computer science, the term threaded code refers to a programming technique where the code has a form that essentially consists entirely of calls to subroutines.
Transaction processing is a way of computing that divides work into individual, indivisible operations, called transactions.
In computer science, transclusion is the inclusion of part or all of an electronic document into one or more other documents by hypertext reference.
In computability theory and computational complexity theory, an undecidable problem is a decision problem for which it is known to be impossible to construct a single algorithm that always leads to a correct yes-or-no answer.
The UNIVAC I (UNIVersal Automatic Computer I) was the first commercial computer produced in the United States.
Variant is a data type in certain programming languages, particularly Visual Basic, OCaml, Delphi and C++ when using the Component Object Model.
A verb, from the Latin verbum meaning word, is a word (part of speech) that in syntax conveys an action (bring, read, walk, run, learn), an occurrence (happen, become), or a state of being (be, exist, stand).
Very long instruction word (VLIW) refers to instruction set architectures designed to exploit instruction level parallelism (ILP).
In computing, virtual memory (also virtual storage) is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory." The computer's operating system, using a combination of hardware and software, maps memory addresses used by a program, called virtual addresses, into physical addresses in computer memory.
Visual Basic is a third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its Component Object Model (COM) programming model first released in 1991 and declared legacy during 2008.
The Voluntary Voting System Guidelines (VVSG) are guidelines adopted by the United States Election Assistance Commission (EAC) for the certification of voting systems.
Activation framework, Algorithm function, Callable unit, Called routine, Caller (programming), Function (Programming), Function (computer programming), Function (computer science), Function (computing), Function (programming), Function call, Function computer science, Handled, Jump to subroutine, Leaf function, Local variables, recursion and reentrancy, Method invocation, Optimization of subroutine calls, Procedure (computer science), Procedure (computing), Procedure (programming), Procedure call, Sub program, Sub routine, Subprogram, Subprogram (programming), Subprograms, Subroutine call, Subroutines, System routine.