In software engineering and computer science, abstraction is.
In software engineering and programming language theory, the abstraction principle (or the principle of abstraction) is a basic dictum that aims to reduce duplication of information in a program (usually with emphasis on code duplication) whenever practical by making use of abstractions provided by the programming language or software libraries.
Ada is a structured, statically typed, imperative, and object-oriented high-level computer programming language, extended from Pascal and other languages.
Addison-Wesley is a publisher of textbooks and computer literature.
AIMACO is an acronym for AIr MAterial COmpiler.
Alan Samuel Jeffrey (born 18 October 1963 in Derry, Northern Ireland) is a former Irish cricketer.
Alan Jay Perlis (April 1, 1922 – February 7, 1990) was an American computer scientist and professor at Purdue University, Carnegie Mellon University and Yale University.
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.
In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.
Alick Edwards Glennie (1925–2003) was a British computer scientist, most famous for having developed Autocode, which many people regard as the first ever computer compiler.
The American National Standards Institute (ANSI) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States.
In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.
APL (named after the book A Programming Language) is a programming language developed in the 1960s by Kenneth E. Iverson.
In computer science, array programming languages (also known as vector or multidimensional languages) generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays.
In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns.
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.
The Association for Computing Machinery (ACM) is an international learned society for computing.
The Atlas Computer was a joint development between the University of Manchester, Ferranti, and Plessey.
Atlas Autocode (AA)R.A. Brooker and J.S. Rohl,, University of Manchester Computer Science Department, 1965.
Autocode is the name of a family of "simplified coding systems", later called programming languages, devised in the 1950s and 1960s for a series of digital computers at the Universities of Manchester, Cambridge and London.
In computer science, Backus–Naur form or Backus normal form (BNF) is a notation technique for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols.
Baghdad (بغداد) is the capital of Iraq.
The Banū Mūsā brothers ("Sons of Moses"), namely Abū Jaʿfar, Muḥammad ibn Mūsā ibn Shākir (before 803 – February 873), Abū al‐Qāsim, Aḥmad ibn Mūsā ibn Shākir (d. 9th century) and Al-Ḥasan ibn Mūsā ibn Shākir (d. 9th century), were three 9th-century scholars who lived and worked in Baghdad.
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.
In computing, batch processing refers to a computer working through a queue or batch of separate jobs (programs) without manual intervention (non-interactive).
BCPL ("Basic Combined Programming Language"; or 'Before C Programming Language' (a common humorous backronym)) is a procedural, imperative, and structured computer programming language.
Benjamin Crawford Pierce is an American professor of computer science at the University of Pennsylvania.
Bytecode, also termed portable code or p-code, is a form of instruction set designed for efficient execution by a software interpreter.
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.
Cambridge University Press (CUP) is the publishing business of the University of Cambridge.
Charity is an experimental purely functional programming language, developed at the University of Calgary under the supervision of Robin Cockett.
In the formal languages of computer science and linguistics, the Chomsky hierarchy (occasionally referred to as Chomsky–Schützenberger hierarchy) is a containment hierarchy of classes of formal grammars.
Clojure (like "closure") is a dialect of the Lisp programming language.
COBOL (an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use.
Colorless green ideas sleep furiously is a sentence composed by Noam Chomsky in his 1957 book Syntactic Structures as an example of a sentence that is grammatically correct, but semantically nonsensical.
Colossus was a set of computers developed by British codebreakers in the years 1943–1945 to help in the cryptanalysis of the Lorenz cipher.
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task.
A command-line interface or command language interpreter (CLI), also known as command-line user interface, console user interface and character user interface (CUI), is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines).
The Common Language Runtime (CLR), the virtual machine component of Microsoft's.NET framework, manages the execution of.NET programs.
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 (R2004) (formerly X3.226-1994 (R1999)).
Communications of the ACM is the monthly journal of the Association for Computing Machinery (ACM).
Programming languages are used for controlling the behavior of a machine (often a computer).
Comparison of programming languages is a common topic of discussion among software engineers.
In computer science, compile time refers to either the operations performed by a compiler (the "compile-time operations"), programming language requirements that must be met by source code for it to be successfully compiled (the "compile-time requirements"), or properties of the program that can be reasoned about during compilation.
A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).
A computer is a device that can be instructed to carry out sequences of arithmetic or logical operations automatically via computer programming.
The Computer Laboratory is the computer science department of the University of Cambridge.
A computer program is a collection of instructions for performing a specific task that is designed to solve a specific class of problems.
Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.
Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.
Concepts, Techniques, and Models of Computer Programming is a textbook published in 2004 about general computer programming concepts from MIT Press written by Université catholique de Louvain professor Peter Van Roy and Royal Institute of Technology, Sweden professor Seif Haridi.
A constructed language (sometimes called a conlang) is a language whose phonology, grammar, and vocabulary have been consciously devised for human or human-like communication, instead of having developed naturally.
In formal language theory, a context-free grammar (CFG) is a certain type of formal grammar: a set of production rules that describe all possible strings in a given formal language.
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated.
Daniel Paul Friedman (born 1944) is a professor of Computer Science at Indiana University in Bloomington, Indiana.
Data exchange is the process of taking data structured under a source schema and transforming it into data structured under a target schema, so that the target data is an accurate representation of the source data.
A data model (or datamodel) is a set of tables, linked by relationships and is an abstract model that organizes elements of data and standardizes how they relate to one another and to properties of the real world entities.
In computer science, a data structure is a data organization and storage format that enables efficient access and modification.
Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program.
David Hillel Gelernter (born March 5, 1955) is an American artist, writer, and professor of computer science at Yale University.
David Fielding Hartley FBCS (born 14 September 1937) is a computer scientist and Fellow of Clare College, Cambridge.
David Anthony Watt (born 1946) is a British computer scientist.
Debugging is the process of finding and resolving defects or problems within a computer program that prevent correct operation of computer software or a system.
In logic, the term decidable refers to the decision problem, the question of the existence of an effective method for determining membership in a set of formulas, or, more precisely, an algorithm that can and will return a boolean true or false value that is correct (instead of looping indefinitely, crashing, returning "don't know" or returning a wrong answer).
In computer programming, a declaration is a language construct that specifies properties of an identifier: it declares what a word (identifier) "means".
In computer science, declarative programming is a programming paradigm—a style of building the structure and elements of computer programs—that expresses the logic of a computation without describing its control flow.
In computer science, definite assignment analysis is a data-flow analysis used by compilers to conservatively ensure that a variable or location is always assigned to before it is used.
Delegation, in computing or computer programming, refers generally to one entity passing something to another entity, and narrowly to various specific forms of relationships.
The term dialect (from Latin,, from the Ancient Greek word,, "discourse", from,, "through" and,, "I speak") is used in two distinct ways to refer to two different types of linguistic phenomena.
Disk storage (also sometimes called drive storage) is a general category of storage mechanisms where data is recorded by various electronic, magnetic, optical, or mechanical changes to a surface layer of one or more rotating disks.
A domain-specific language (DSL) is a computer language specialized to a particular application domain.
Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, such as computer software.
Edsger Wybe Dijkstra (11 May 1930 – 6 August 2002) was a Dutch systems scientist, programmer, software engineer, science essayist, and early pioneer in computing science.
The electronic delay storage automatic calculator (EDSAC) was an early British computer.
Ellis Horowitz is an American computer scientist and Professor of Computer Science and Electrical Engineering at the University of Southern California (USC).
English is a West Germanic language that was first spoken in early medieval England and is now a global lingua franca.
Erlang is a general-purpose, concurrent, functional programming language, as well as a garbage-collected runtime system.
An esoteric programming language (sometimes shortened to esolang) is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language (particularly functional programming or procedural programming languages), or as a joke.
Essentials of Programming Languages (EOPL) is a textbook on programming languages by Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes.
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.
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.
Execution in computer and software engineering is the process by which a computer or a virtual machine performs the instructions of a computer program.
Extensible programming is a term used in computer science to describe a style of computer programming that focuses on mechanisms to extend the programming language, compiler and runtime environment.
The Mercury was an early commercial computer from the mid-1950s built by Ferranti.
A fifth-generation programming language (5GL) is a programming language based on problem solving using constraints given to the program, rather than using an algorithm written by a programmer.
A first generation (programming) language (1GL) is a grouping of programming languages that are machine level languages used to program first-generation computers.
FLOW-MATIC, originally known as B-0 (Business Language version 0), was the first English-like data processing language.
In mathematics, computer science, and linguistics, a formal language is a set of strings of symbols together with a set of rules that are specific to it.
In computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software.
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.
A 4th-generation programming language (4GL) or (procedural language) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL).
A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal registers and memory.
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.
A general-purpose language is a computer language that is broadly applicable across application domains, and lacks specialized features for a particular domain.
In computer software, a general-purpose programming language is a programming language designed to be used for writing software in the widest variety of application domains (a general-purpose language).
Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.
GoTo (goto, GOTO, GO TO or other case combinations, depending on the programming language) is a statement found in many computer programming languages.
Grace Brewster Murray Hopper (December 9, 1906 – January 1, 1992) was an American computer scientist and United States Navy rear admiral.
In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running (i.e., halt) or continue to run forever.
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.
The history of computing hardware covers the developments from early simple devices to aid calculation to modern day computers.
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and web applications.
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.
In computing, input/output or I/O (or, informally, io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system.
An instruction set architecture (ISA) is an abstract model of a computer.
The International Organization for Standardization (ISO) is an international standard-setting body composed of representatives from various national standards organizations.
The Internet is the global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link devices worldwide.
In computer science, an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.
Introduction to the Theory of Computation is a standard textbook in theoretical computer science, written by Michael Sipser and first published by PWS Publishing in 1997.
Invariant-based programming is a programming methodology where specifications and invariants are written before the actual program statements.
The Islamic Golden Age is the era in the history of Islam, traditionally dated from the 8th century to the 14th century, during which much of the historically Islamic world was ruled by various caliphates, and science, economic development and cultural works flourished.
The Jacquard machine is a device fitted to a power loom that simplifies the process of manufacturing textiles with such complex patterns as brocade, damask and matelassé.
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist.
John Clifford Mitchell is professor of computer science and (by courtesy) electrical engineer at Stanford University.
John Charles Reynolds (June 1, 1935 – April 28, 2013) was an American computer scientist.
John William Mauchly (August 30, 1907 – January 8, 1980) was an American physicist who, along with J. Presper Eckert, designed ENIAC, the first general purpose electronic digital computer, as well as EDVAC, BINAC and UNIVAC I, the first commercial computer made in the United States.
In computing, just-in-time (JIT) compilation, (also dynamic translation or run-time compilation), is a way of executing computer code that involves compilation during execution of a program – at run time – rather than prior to execution.
KL1, or Kernel Language 1 is an experimental AND-parallel version of KL0 developed for the ICOT Fifth Generation Computer project.
Konrad Zuse (22 June 1910 – 18 December 1995) was a German civil engineer, inventor and computer pioneer.
Language Integrated Query (LINQ, pronounced "link") is a Microsoft.NET Framework component that adds native data querying capabilities to.NET languages.
In computing, language primitives are the simplest elements available in a programming language.
Language-oriented programming (LOP) is a style of computer programming in which, rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages for the problem first, and solves the problem in those languages.
LaTeX (or; a shortening of Lamport TeX) is a document preparation system.
In computer science, lexical analysis, lexing or tokenization is the process of converting a sequence of characters (such as in a computer program or web page) into a sequence of tokens (strings with an assigned and thus identified meaning).
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
Lisp (historically, LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
This is an alphabetical list of BASIC dialectsinterpreted and compiled variants of the BASIC programming language.
An educational programming language is a programming language that is designed mostly as an instrument for learning, and less as a tool for writing programs to perform work.
The following is list of researchers of programming language theory, design, implementation, and related areas.
There are thousands of programming languages.
Literate programming is a programming paradigm introduced by Donald Knuth in which a program is given as an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which a compilable source code can be generated.
Logic (from the logikḗ), originally meaning "the word" or "what is spoken", but coming to mean "thought" or "reason", is a subject concerned with the most general laws of truth, and is now generally held to consist of the systematic study of the form of valid inference.
Logic programming is a type of programming paradigm which is largely based on formal logic.
A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions.
Luca Andrea Cardelli FRS is an Italian computer scientist who is an Assistant Director at Microsoft Research in Cambridge, UK.
Machine code is a computer program written in machine language instructions that can be executed directly by a computer's central processing unit (CPU).
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.
Mads Tofte (born 20 April 1959) is a Danish computer scientist who has contributed in particular to functional programming and the Standard ML programming language.
Magnetic tape data storage is a system for storing digital information on magnetic tape using digital recording.
Mainframe computers (colloquially referred to as "big iron") are computers used primarily by large organizations for critical applications; bulk data processing, such as census, industry and consumer statistics, enterprise resource planning; and transaction processing.
The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester from the Manchester Baby (operational in June 1948).
In computer science, manifest typing is explicit identification by the software programmer of the type of each variable being declared.
In computer text processing, a markup language is a system for annotating a document in a way that is syntactically distinguishable from the text.
Martin Odersky (born 5 September 1958) is a German computer scientist and professor of programming methods at École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland.
MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and proprietary programming language developed by MathWorks.
In computing, a meta-circular evaluator or meta-circular interpreter is an interpreter which defines each feature of the interpreted language using a similar facility of the interpreter's host language.
Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.
Michael Lee Scott (born 1959) is a professor of computer science at the University of Rochester in Rochester, New York.
A microcontroller (MCU for microcontroller unit, or UC for μ-controller) is a small computer on a single integrated circuit.
Microsoft Corporation (abbreviated as MS) is an American multinational technology company with headquarters in Redmond, Washington.
The MIT Press is a university press affiliated with the Massachusetts Institute of Technology (MIT) in Cambridge, Massachusetts (United States).
Mitchell Wand is a computer science professor at Northeastern University.
In object-oriented programming languages, a Mixin is a class that contains methods for use by other classes without having to be the parent class of those other classes.
ML (Meta Language) is a general-purpose functional programming language.
A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules.
Modula-2 is a computer programming language designed and developed between 1977 and 1985 by Niklaus Wirth at the Swiss Federal Institute of Technology in Zurich (ETH Zurich) as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith.
Morgan Kaufmann Publishers is a Burlington, Massachusetts (San Francisco, California until 2008) based publisher specializing in computer science and engineering content.
Murdoch University is a public university in Perth, Western Australia, with campuses also in Singapore and Dubai.
A music box or musical box is an automatic musical instrument in a box that produces musical notes by using a set of pins placed on a revolving cylinder or disc to pluck the tuned teeth (or ''lamellae'') of a steel comb.
In neuropsychology, linguistics, and the philosophy of language, a natural language or ordinary language is any language that has evolved naturally in humans through use and repetition without conscious planning or premeditation.
Natural-language programming (NLP) is an ontology-assisted way of programming in terms of natural-language sentences, e.g. English.
Non-English-based programming languages are computer programming languages that, unlike better-known programming languages, do not use keywords taken from, or inspired by, the English vocabulary.
In computing, a null pointer has a value reserved for indicating that the pointer does not refer to a valid object.
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").
Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.
Oracle America, Inc.
Oracle Corporation is an American multinational computer technology corporation, headquartered in Redwood Shores, California.
Computer science (also called computing science) is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.
The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software.
Oxford University Press (OUP) is the largest university press in the world, and the second oldest after Cambridge University Press.
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.
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages, Perl 5 and Perl 6.
Peter H. Salus is a linguist, computer scientist, historian of technology, author in many fields, and an editor of books and journals.
Peter A. Wegner (August 20, 1932 – July 27, 2017) was a computer scientist who made significant contributions to both the theory of object-oriented programming during the 1980s and to the relevance of the Church–Turing thesis for empirical aspects of computer science during the 1990s and present.
PHP: Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web development, but also used as a general-purpose programming language.
Plankalkül ("Plan Calculus") is a programming language designed for engineering purposes by Konrad Zuse between 1942 and 1945.
A player piano (also known as pianola) is a self-playing piano, containing a pneumatic or electro-mechanical mechanism that operates the piano action via pre-programmed music recorded on perforated paper, or in rare instances, metallic rolls, with more modern implementations using MIDI.
In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much" and μορφή, morphē, "form, shape") is the provision of a single interface to entities of different types.
PostScript (PS) is a page description language in the electronic publishing and desktop publishing business.
In computing, a printer is a peripheral device which makes a persistent human-readable representation of graphics or text on paper.
Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.
A program is a set of instructions used to control the behavior of a machine, often a computer (in this case it is known as a computer program).
A programmer, developer, dev, coder, or software engineer is a person who creates computer software.
A programming language implementation is a system for executing computer programs.
In computing, a programming language specification (or standard or definition) is a documentation artifact that defines a programming language so that users and implementors can agree on what programs in that language mean.
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.
The most popular (i.e., the most visited) websites have in common that they are dynamic websites.
Programming Languages: Application and Interpretation (PLAI) is a free programming language textbook by Shriram Krishnamurthi.
Programming paradigms are a way to classify programming languages based on their features.
Prolog is a general-purpose logic programming language associated with artificial intelligence and computational linguistics.
Pseudocode is an informal high-level description of the operating principle of a computer program or other algorithm.
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.
Python is an interpreted high-level programming language for general-purpose programming.
Raúl Rojas González (born 1955, in Mexico City) is a professor of Computer Science and Mathematics at the Free University of Berlin and a renowned specialist in artificial neural networks.
Racket (formerly PLT Scheme) is a general-purpose, multi-paradigm programming language in the Lisp-Scheme family.
Raphael Finkel (born 1951) is an American computer scientist and a professor at the University of Kentucky.
Ravi Sethi (born 1947) is an Indian computer scientist retired from Bell Labs and president of Avaya Labs Research.
In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is the standard from which all other implementations and corresponding customizations are derived.
In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.
A regular expression, regex or regexp (sometimes called a rational expression) is, in theoretical computer science and formal language theory, a sequence of characters that define a search pattern.
Remington Rand (1927–1955) was an early American business machines manufacturer, best known originally as a typewriter manufacturer and in a later incarnation as the manufacturer of the UNIVAC line of mainframe computers.
Rexx (Restructured Extended Executor) is an interpreted programming language developed at IBM by Mike Cowlishaw.
In computability theory, Rice's theorem states that all non-trivial, semantic properties of programs are undecidable.
Robert William "Bob" Harper, Jr. is a computer science professor at Carnegie Mellon University who works in programming language research.
A robot is a machine—especially one programmable by a computer— capable of carrying out a complex series of actions automatically.
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.
In computer science, run time, runtime or execution time is the time during which a program is running (executing), in contrast to other program lifecycle phases such as compile time, link time and load time.
In computing, s-expressions, sexprs or sexps (for "symbolic expression") are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data.
Scheme is a programming language that supports multiple paradigms, including functional programming and imperative programming, and is one of the two main dialects of Lisp.
In computer programming, a scientific language is a programming language optimized for the use of mathematical formulas and matrices.
A scripting or script language is a programming language that supports scripts: programs written for a special run-time environment that automate the execution of tasks that could alternatively be executed one-by-one by a human operator.
Second-generation programming language (2GL) is a generational way to categorize assembly languages.
Semantics (from σημαντικός sēmantikós, "significant") is the linguistic and philosophical study of meaning, in language, programming languages, formal logics, and semiotics.
In programming language theory, semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages.
In computer science, in particular networking, a session is a semi-permanent interactive information interchange between two or more communicating devices, or between a computer and user (see login session).
A shell script is a computer program designed to be run by the Unix shell, a command-line interpreter.
Short Code was one of the first higher-level languages ever developed for an electronic computer.
Shriram Krishnamurthi is a computer scientist, currently a professor of computer science at Brown University and a member of the core development group for the Racket programming languages, responsible for the creation of software packages including the Debugger, the FrTime package, and the networking library.
SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.
Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard.
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Software engineering is the application of engineering to the development of software in a systematic method.
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.
SourceForge is a Web-based service that offers software developers a centralized online location to control and manage free and open-source software projects.
SQL (S-Q-L, "sequel"; Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS).
SQL-92 was the third revision of the SQL database query language.
The Standard Generalized Markup Language (SGML; ISO 8879:1986) is a standard for defining generalized markup languages for documents.
Standard ML (SML; "Standard Meta Language") is a general-purpose, modular, functional programming language with compile-time type checking and type inference.
In computer programming, a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out.
Static program analysis is the analysis of computer software that is performed without actually executing programs.
A stored-program computer is a computer that stores program instructions in electronic memory.
In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable.
A string literal or anonymous string is a type of literal in programming for the representation of a string value within the source code of a computer program.
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 English is the use of the English language with the syntax of structured programming to communicate the design of a computer program to non-technical users by breaking it down into logical steps using straightforward English words.
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 programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.
A supercomputer is a computer with a high level of performance compared to a general-purpose computer.
In computer programming languages, a switch statement is a type of selection control mechanism used to allow the value of a variable or expression to change the control flow of program execution via a multiway branch.
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.
A system programming language usually refers to a programming language used for system programming; such languages are designed for writing system software, which usually requires different development approaches when compared with application software.
Tcl (pronounced "tickle" or tee cee ell) is a high-level, general-purpose, interpreted, dynamic programming language.
In theoretical computer science and mathematics, the theory of computation is the branch that deals with how efficiently problems can be solved on a model of computation, using an algorithm.
A third-generation programming language (3GL) is a generational way to categorize high-level computer programming languages.
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.
Ralph Anthony "Tony" Brooker (born 1925, England) is a British academic who was a computer scientist known for developing the Mark 1 Autocode.
The TOP500 project ranks and details the 500 most powerful non-distributed computer systems in the world.
troff is the major component of a document processing system developed by AT&T Corporation for the Unix operating system.
In computability theory, a system of data-manipulation rules (such as a computer's instruction set, a programming language, or a cellular automaton) is said to be Turing complete or computationally universal if it can be used to simulate any Turing machine.
Type inference refers to the automatic detection of the data type of an expression in a programming language.
In computer science, type safety is the extent to which a programming language discourages or prevents type errors.
In programming languages, a type system is a set of rules that assigns a property called type to the various constructs of a computer program, such as variables, expressions, functions or modules.
In mathematics, logic, and computer science, a type theory is any of a class of formal systems, some of which can serve as alternatives to set theory as a foundation for all mathematics.
Types and Programming Languages,, is a book by Benjamin C. Pierce on type systems published in 2002.
UCSD Pascal was a Pascal programming language system that ran on the UCSD p-System, a portable, highly machine-independent operating system.
UNCOL (Universal Computer Oriented Language) was a proposed universal intermediate language for compilers introduced by Melvin E. Conway in 1958.
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.
In computer programming, undefined behavior (UB) is the result of executing computer code whose behavior is not prescribed by the language specification to which the code adheres, for the current state of the program.
The UNIVAC I (UNIVersal Automatic Computer I) was the first commercial computer produced in the United States.
The University of Manchester is a public research university in Manchester, England, formed in 2004 by the merger of the University of Manchester Institute of Science and Technology and the Victoria University of Manchester.
Unix (trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
A Unix shell is a command-line interpreter or shell that provides a traditional Unix-like command line user interface.
VBScript ("Microsoft Visual Basic Scripting Edition") is an Active Scripting language developed by Microsoft that is modeled on Visual Basic.
In computing, a virtual machine (VM) is an emulation of a computer system.
In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually.
A website is a collection of related web pages, including multimedia content, typically identified with a common domain name, and published on at least one web server.
The Wolfram Language is a general multi-paradigm programming language developed by Wolfram Research and is the programming language of the mathematical symbolic computation program Mathematica and the Wolfram Programming Cloud.
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web (abbreviated WWW or W3).
"Write once, run anywhere" (WORA), or sometimes "write once, run everywhere" (WORE), was a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language.
In computing, Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.
XSLT (Extensible Stylesheet Language Transformations) is a language for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG.
The Z3 was a German electromechanical computer designed by Konrad Zuse.
Computer programming language, Computer-oriented language, Dialect (computing), Dialecting, Dynamic semantics, Execution semantics, Proglang, Programming Language, Programming Languages, Programming language design, Programming language dialect, Programming languages, ProgrammingLanguage, ProgrammingLanguages, Proprietary programming language, Proprietary scripting language, Static semantics, Typed and untyped languages, Untyped language.