A "Hello, World!" program is a computer program that outputs or displays "Hello, World!" to a user.
In computer programming, ?: is a ternary operator that is part of the syntax for basic conditional expressions in several programming languages.
Addison-Wesley is a publisher of textbooks and computer literature.
Addition (often signified by the plus symbol "+") is one of the four basic operations of arithmetic; the others are subtraction, multiplication and division.
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 68 (short for Algorithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics.
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.
A Mathematical Programming Language (AMPL) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems).
ANSI C, ISO C and Standard C refer to the successive standards for the C programming language published by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO).
An application software (app or application for short) is a computer software designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user.
Arithmetic (from the Greek ἀριθμός arithmos, "number") is a branch of mathematics that consists of the study of numbers, especially the properties of the traditional operations on them—addition, subtraction, multiplication and division.
In logic, mathematics, and computer science, the arity of a function or operation is the number of arguments or operands that the function takes.
Language support for array types may include certain built-in array data types, some syntactic constructions (array type constructors) that the programmer may use to define such types and declare array variables, and special notation for indexing array elements.
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.
In computer programming, an assignment statement sets and/or re-sets the value stored in the storage location(s) denoted by a variable name; in other words, it copies a value into the variable.
The Association for Computing Machinery (ACM) is an international learned society for computing.
Augmented assignment (or compound assignment) is the name given to certain assignment operators in certain programming languages (especially those derived from C).
In computer programming, an automatic variable is a local variable which is allocated and deallocated automatically when program flow enters and leaves the variable's scope.
AWK is a programming language designed for text processing and typically used as a data extraction and reporting tool.
B is a programming language developed at Bell Labs circa 1969.
Backspace is the keyboard key that originally pushed the typewriter carriage one position backwards, and in modern computer systems moves the display cursor one position backwards,"Backwards" means to the left for left-to-right languages.
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.
BCPL ("Basic Combined Programming Language"; or 'Before C Programming Language' (a common humorous backronym)) is a procedural, imperative, and structured computer programming language.
A bell code (sometimes bell character) is a device control code originally sent to ring a small electromechanical bell on tickers and other teleprinters and teletypewriters to alert operators at the other end of the line, often of an incoming message.
Nokia Bell Labs (formerly named AT&T Bell Laboratories, Bell Telephone Laboratories and Bell Labs) is an American research and scientific development company, owned by Finnish company Nokia.
In computer science, binary search, also known as half-interval search,logarithmic search, or binary chop, is a search algorithm that finds the position of a target value within a sorted array.
The bit (a portmanteau of binary digit) is a basic unit of information used in computing and digital communications.
In digital computer programming, a bitwise operation operates on one or more bit patterns or binary numerals at the level of their individual bits.
Bjarne Stroustrup (born 30 December 1950) is a Danish computer scientist, who is most notable for the creation and development of the widely used C++ programming language.
In computer programming, a block or code block is a lexical structure of source code which is grouped together.
In computer science, the Boehm–Demers–Weiser garbage collector, often simply known as Boehm GC, is a conservative garbage collector for C and C++.
In mathematics and mathematical logic, Boolean algebra is the branch of algebra in which the values of the variables are the truth values true and false, usually denoted 1 and 0 respectively.
In computer science, the Boolean data type is a data type that has one of two possible values (usually denoted true and false), intended to represent the two truth values of logic and Boolean algebra.
In computer programming, bounds checking is any method of detecting whether a variable is within some bounds before it is used.
A bracket is a tall punctuation mark typically used in matched pairs within text, to set apart or interject other text.
Brian Wilson Kernighan (born January 1, 1942) is a Canadian computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed to the development of Unix.
In information security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory locations.
In the 1970s, Burroughs Corporation was organized into three divisions with very different product line architectures for high-end, mid-range, and entry-level business computer systems.
The MCP (Master Control Program) is the proprietary operating system of the Burroughs small, medium and large systems, including the Unisys Clearpath/MCP systems.
The byte is a unit of digital information that most commonly consists of eight bits, representing a binary number.
C is the third letter in the English alphabet and a letter of the alphabets of many other writing systems which inherited it from the Latin alphabet.
In the C programming language, data types are declarations for memory locations or variables that determine the characteristics of the data that may be stored and the methods (operations) of processing that are permitted involving them.
C dynamic memory allocation refers to performing manual memory management for dynamic memory allocation in the C programming language via a group of functions in the C standard library, namely,, and.
The C programming language provides many standard library functions for file input and output.
The C preprocessor or cpp is the macro preprocessor for the C and C++ computer programming languages.
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.
The C shell (csh or the improved version, tcsh) is a Unix shell created by Bill Joy while he was a graduate student at University of California, Berkeley in the late 1970s.
The C standard library or libc is the standard library for the C programming language, as specified in the ANSI C standard.
The C programming language has a set of functions implementing operations on strings (character strings and byte strings) in its standard library.
The syntax of the C programming language, the rules governing writing of software in the language, is designed to allow for programs that are extremely terse, have a close relationship with the resulting object code, and yet provide relatively high-level data abstraction.
C* is an object-oriented, data-parallel superset of ANSI C with synchronous semantics.
C++ ("see plus plus") is a general-purpose programming language.
C++11 is a version of the standard for the programming language C++.
C-- (pronounced cee minus minus) is a C-like programming language.
C11 (formerly C1X) is an informal name for ISO/IEC 9899:2011, the current standard for the C programming language.
C99 (previously known as C9X) is an informal name for ISO/IEC 9899:1999, a past version of the C programming language standard.
In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program.
In computer programming, a callback, also known as a "call-after" function, is any executable code that is passed as an argument to other code, which is expected to call back (execute) the argument at a given time.
A carriage return, sometimes known as a cartridge return and often shortened to CR, or return, is a control character or mechanism used to reset a device's position to the beginning of a line of text.
Ch is a proprietary cross-platform C and C++ interpreter and scripting language environment, originally designed by Harry H. Cheng as a scripting language for beginners to learn mathematics, computing, numerical analysis (numeric methods), and programming in C/C++.
Character encoding is used to represent a repertoire of characters by some kind of encoding system.
Cilk, Cilk++ and Cilk Plus are general-purpose programming languages designed for multithreaded parallel computing.
CINT is a command line C/C++ interpreter that is included in the object oriented data analysis package ROOT.
Clang is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, OpenMP, OpenCL, and CUDA.
In the C and C++ programming languages, the comma operator (represented by the token) is a binary operator that evaluates its first operand and discards the result, and then evaluates the second operand and returns this value (and type).
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).
In computing, Common Gateway Interface (CGI) offers a standard protocol for web servers to execute programs that execute like console applications (also called command-line interface programs) running on a server that generates web pages dynamically.
The computer programming languages C and Pascal have similar times of origin, influences, and purposes.
Programming languages are used for controlling the behavior of a machine (often a computer).
The C and C++ programming languages are closely related but have many significant differences.
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 complex number is a number that can be expressed in the form, where and are real numbers, and is a solution of the equation.
In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems.
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.
In computing, memory refers to the computer hardware integrated circuits that store information for immediate use in a computer; it is synonymous with the term "primary storage".
A computing platform or digital platform is the environment in which a piece of software is executed.
In computer science, conditional statements, conditional expressions and conditional constructs are features of a programming language, which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false.
In computer programming, conditional compilation is compilation implementing methods which allow the compiler to produce differences in the executable program produced and controlled by parameters that are provided during compilation.
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.
CPL (Combined Programming Language) is a multi-paradigm programming language, that was developed in the early 1960s.
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms.
The Cyclone programming language is intended to be a safe dialect of the C language.
D is an object-oriented, imperative, multi-paradigm system programming language created by Walter Bright of Digital Mars and released in 2001.
Dangling pointers and wild pointers in computer programming are pointers that do not point to a valid object of the appropriate type.
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.
In computer programming, a declaration is a language construct that specifies properties of an identifier: it declares what a word (identifier) "means".
Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist.
Division is one of the four basic operations of arithmetic, the others being addition, subtraction, and multiplication.
In most computer programming languages, a do while loop is a control flow statement that executes a block of code at least once, and then repeatedly executes the block, or not, depending on a given boolean condition at the end of the block.
Double-precision floating-point format is a computer number format, usually occupying 64 bits in computer memory; it represents a wide dynamic range of numeric values by using a floating radix point.
An embedded system is a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints.
Endianness refers to the sequential order in which bytes are arranged into larger numerical values when stored in memory or when transmitted over digital links.
Englewood Cliffs is a borough in Bergen County, New Jersey, United States.
In computer programming, an entry point is where control is transferred from the operating system to a computer program, at which place the processor enters a program or a code fragment and execution begins.
In computer programming, an enumerated type (also called enumeration, enum, or factor in the R programming language, and a categorical variable in statistics) is a data type consisting of a set of named values called elements, members, enumeral, or enumerators of the type.
In mathematics, equality is a relationship between two quantities or, more generally two mathematical expressions, asserting that the quantities have the same value, or that the expressions represent the same mathematical object.
Escape sequences are used in the programming languages C and C++, and also in many more languages (with some variations) like Java and C#.
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, executable code or an executable file or executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful.
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.
In the C programming language, an external variable is a variable defined outside any function block.
In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after (and sometimes also before) the radix point (after the decimal point '.' in English decimal notation).
Flexible array member is a feature introduced in the C99 standard of the C programming language (in particular, in section §220.127.116.11, item 16, page 103).
In computing, floating-point arithmetic is arithmetic using formulaic representation of real numbers as an approximation so as to support a trade-off between range and precision.
In computer science, a for-loop (or simply for loop) is a control flow statement for specifying iteration, which allows code to be executed repeatedly.
In formal language theory, a grammar (when the context is not given, often called a formal grammar for clarity) is a set of production rules for strings in a formal language.
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 computer programming, a free-form language is a programming language in which the positioning of characters on the page in program text is insignificant.
A function pointer, also called a subroutine pointer or procedure pointer, is a pointer that points to a function.
In computer programming, a function prototype or function interface is a declaration of a function that specifies the function's name and type signature (arity, data types of parameters, and return type), but omits the function body.
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.
A general-purpose language is a computer language that is broadly applicable across application domains, and lacks specialized features for a particular domain.
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.
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.
GNU Multiple Precision Arithmetic Library (GMP) is a free library for arbitrary-precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.
The GNU Scientific Library (or GSL) is a software library for numerical computations in applied mathematics and science.
Go (often referred to as Golang) is a programming language created at Google in 2009 by Robert Griesemer, Rob Pike, and Ken Thompson.
The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability.
GoTo (goto, GOTO, GO TO or other case combinations, depending on the programming language) is a statement found in many computer programming languages.
The graphical user interface (GUI), is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation.
In mathematics and computer science, a higher-order function (also functional, functional form or functor) is a function that does at least one of the following.
The Honeywell 6000 series computers were rebadged versions of General Electric's 600-series mainframes manufactured by Honeywell International, Inc. from 1970 to 1989.
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/370 (S/370) was a model range of IBM mainframe computers announced on June 30, 1970 as the successors to the System/360 family.
The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point computation established in 1985 by the Institute of Electrical and Electronics Engineers (IEEE).
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
Many programming languages and other computer files have a directive, often called include (as well as copy and import), that causes the contents of a second file to be inserted into the original file.
Increment and decrement operators are unary operators that add or subtract one from their operand, respectively.
In mathematics, an inequality is a relation that holds between two values when they are different (see also: equality).
In the C and C++ programming languages, an inline function is one qualified with the keyword inline; this serves two purposes.
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.
The Institute of Electrical and Electronics Engineers (IEEE) is a professional association with its corporate office in New York City and its operations center in Piscataway, New Jersey.
In computer science, instruction selection is the stage of a compiler backend that transforms its middle-level intermediate representation (IR) into a low-level IR where each operation directly corresponds to an instruction available on the target machine.
In computer science, an integer is a datum of integral data type, a data type that represents some range of mathematical integers.
Intel C++ Compiler, also known as icc or icl, is a group of C and C++ compilers from Intel available for Windows, Mac, Linux, FreeBSD and Intel-based Android devices.
An Intermediate representation (IR) is the data structure or code used internally by a compiler or virtual machine to represent source code.
The International Obfuscated C Code Contest (abbreviated IOCCC) is a computer programming contest for the most creatively obfuscated C code.
The International Organization for Standardization (ISO) is an international standard-setting body composed of representatives from various national standards organizations.
An interpreted language is a type of programming language for which most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions.
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.
ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces is a standardization subcommittee of the Joint Technical Committee ISO/IEC JTC 1 of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) that develops and facilitates standards within the fields of programming languages, their environments and system software interfaces.
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.
Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science, without the typical need of separate compilation to be fast, while also being effective for general-purpose programming, web use or as a specification language.
The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system.
A label in a programming language is a sequence of characters that identifies a location within source code.
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system.
Linear algebra is the branch of mathematics concerning linear equations such as linear functions such as and their representations through matrices and vector spaces.
In computer science, a linked list is a linear collection of data elements, whose order is not given by their physical placement in memory.
In computing, a linker or link editor is a computer utility program that takes one or more object files generated by a compiler and combines them into a single executable file, library file, or another 'object' file.
A linter or lint refers to tools that analyze source code to flag programming errors, bugs, stylistic errors, and suspicious constructs.
Due to the success of the C programming language and some of its derivatives, C-family programming languages span a large variety of programming paradigms, conceptual models, and run-time environments.
This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line interfaces (shells), etc.
In computer systems a loader is the part of an operating system that is responsible for loading programs and libraries.
In computing, a locale is a set of parameters that defines the user's language, region and any special variant preferences that the user wants to see in their user interface.
LPC (short for Lars Pensjö C) is an object-oriented programming language derived from C and developed originally by Lars Pensjö to facilitate MUD building on LPMuds.
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.
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.
In computer science, manifest typing is explicit identification by the software programmer of the type of each variable being declared.
MATLAB (matrix laboratory) is a multi-paradigm numerical computing environment and proprietary programming language developed by MathWorks.
It is difficult to determine which programming languages are "most widely used" because what usage means varies by context.
In computer science, a memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations in such a way that memory which is no longer needed is not released.
Memory management is a form of resource management applied to computer memory.
A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU).
A microcontroller (MCU for microcontroller unit, or UC for μ-controller) is a small computer on a single integrated circuit.
Microsoft Visual C++ (often abbreviated to MSVC) is an integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages.
A minicomputer, or colloquially mini, is a class of smaller computers that was developed in the mid-1960s and sold for much less than mainframe and mid-size computers from IBM and its direct competitors.
MISRA C is a set of software development guidelines for the C programming language developed by MISRA (Motor Industry Software Reliability Association).
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 computing, the modulo operation finds the remainder after division of one number by another (sometimes called modulus).
Multics (Multiplexed Information and Computing Service) is an influential early time-sharing operating system, based around the concept of a single-level memory.
Multiplication (often denoted by the cross symbol "×", by a point "⋅", by juxtaposition, or, on computers, by an asterisk "∗") is one of the four elementary mathematical operations of arithmetic; with the others being addition, subtraction and division.
Newline (frequently called line ending, end of line (EOL), line feed, or line break) is a control character or sequence of control characters in a character encoding specification, e.g. ASCII or EBCDIC.
Nim (formerly named Nimrod) is an imperative, multi-paradigm, compiled programming language designed and developed by Andreas Rumpf.
In computer science, a nominal or nominative type system (or name-based type system) is a major class of type system, in which compatibility and equivalence of data types is determined by explicit declarations and/or the name of the types.
In computing, a null pointer has a value reserved for indicating that the pointer does not refer to a valid object.
In computer programming, a null-terminated string is a character string stored as an array containing the characters and terminated with a null character ('\0', called NUL in ASCII).
O'Reilly Media (formerly O'Reilly & Associates) is an American media company established by Tim O'Reilly that publishes books and Web sites and produces conferences on computer technology topics.
In computing, object code or object module is the product of a compiler.
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.
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
Programming languages typically support a set of operators: constructs which behave generally like functions, but which differ syntactically or semantically from usual functions.
Oracle Developer Studio, formerly named Oracle Solaris Studio, Sun Studio, Sun WorkShop, Forte Developer, and SunPro Compilers, is Oracle Corporation's flagship software development product for the Solaris and Linux operating systems.
In mathematics and computer programming, the order of operations (or operator precedence) is a collection of rules that reflect conventions about which procedures to perform first in order to evaluate a given mathematical expression.
Order theory is a branch of mathematics which investigates the intuitive notion of order using binary relations.
A page break is a marker in an electronic document that tells the document interpreter that the content which follows is part of a new page.
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-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-7 was a minicomputer produced by Digital Equipment Corporation as part of the PDP series.
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages, Perl 5 and Perl 6.
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.
Pike is an interpreted, general-purpose, high-level, cross-platform, dynamic programming language, with a syntax similar to that of C. Unlike many other dynamic languages, Pike is both statically and dynamically typed, and requires explicit type definitions.
PL/I (Programming Language One, pronounced) is a procedural, imperative computer programming language designed for scientific, engineering, business and system programming uses.
In computer science, a pointer is a programming language object that stores the memory address of another value located in computer memory.
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.
The Portable C Compiler (also known as pcc or sometimes pccm - portable C compiler machine) is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed by Alan Snyder in 1973, and "distributed as the C compiler by Bell Labs...
In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally designed for (e.g. different CPU, operating system, or third party library).
The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems.
Prentice Hall is a major educational publisher owned by Pearson plc.
In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to another program.
Printf format string refers to a control parameter used by a class of functions in the input/output libraries of C and many other programming languages.
Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.
Processing is an open-source computer programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context.
A programming language is a formal language that specifies a set of instructions that can be used to produce various kinds of output.
PurifyPlus is a memory debugger program used by software developers to detect memory access errors in programs, especially those written in C or C++.
Python is an interpreted high-level programming language for general-purpose programming.
qsort is a C standard library function that implements a polymorphic sorting algorithm for arrays of arbitrary objects according to a user-provided comparison function.
In computer science, a record (also called a structure, struct, or compound data) is a basic data structure.
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).
In computer science, a reference is a value that enables a program to indirectly access a particular datum, such as a variable's value or a record, in the computer's memory or in some other storage device.
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 the C programming language and C++, register (not capitalized) is a reserved word (or keyword), type modifier, storage class, and hint.
Research Unix is a term used to refer to versions of the Unix operating system for DEC PDP-7, PDP-11, VAX and Interdata 7/32 and 8/32 computers, developed in the Bell Labs Computing Science Research Center (frequently referred to as Department 1127).
In the C programming language, as of the C99 standard, restrict is a keyword that can be used in pointer declarations.
Ring is a dynamic and general-purpose programming language.
In computing, row-major order and column-major order are methods for storing multidimensional arrays in linear storage such as random access memory.
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.
A runtime system, also called run-time system, primarily implements portions of an execution model.
Rust is a systems programming language sponsored by Mozilla which describes it as a "safe, concurrent, practical language," supporting functional and imperative-procedural paradigms.
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.
Seed7 is an extensible general-purpose programming language designed by Thomas Mertes.
In computing, a segmentation fault (often shortened to segfault) or access violation is a fault, or failure condition, raised by hardware with memory protection, notifying an operating system (OS) the software has attempted to access a restricted area of memory (a memory access violation).
The semicolon or semi colon is a punctuation mark that separates major sentence elements.
A sequence point defines any point in a computer program's execution at which it is guaranteed that all side effects of previous evaluations will have been performed, and no side effects from subsequent evaluations have yet been performed.
In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment).
In computer programming, a sigil is a symbol attached to a variable name, showing the variable's datatype or scope, usually a prefix, as in $foo, where $ is the sigil.
SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.
The Single UNIX Specification (SUS) is the collective name of a family of standards for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark.
In the programming languages C and C++, the unary operator sizeof generates the size of a variable or datatype, measured in the number of char-sized storage units required for the type.
Smalltalk is an object-oriented, dynamically typed, reflective programming language.
Portability in high-level computer programming is the usability of the same software in different environments.
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.
A source-to-source compiler, transcompiler or transpiler is a type of compiler that takes the source code of a program written in one programming language as its input and produces the equivalent source code in another programming language.
In writing, a space ( ) is a blank area that separates words, sentences, syllables (in syllabification) and other written or printed glyphs (characters).
A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service.
Split-C is a parallel extension of the C programming language.
In computer programming, standard streams are preconnected input and output communication channels between a computer program and its environment when it begins execution.
In computer programming, a statement is a syntactic unit of an imperative programming language that expresses some action to be carried out.
In the C programming language (and its close descendants such as C++ and Objective-C), static is a reserved word controlling both lifetime (as a static variable) and visibility (depending on linkage).
In computer programming, a static variable is a variable that has been allocated "statically", meaning that its lifetime (or "extent") is the entire run of the program.
Stephen Curtis Johnson (known as Steve Johnson) is a computer scientist who worked at Bell Labs and AT&T for nearly 20 years.
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).
A struct in the C programming language (and many derivatives) is a composite data type (or record) declaration that defines a physically grouped list of variables to be placed under one name in a block of memory, allowing the different variables to be accessed via a single pointer, or the struct declared name which returns the same address.
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.
Studentlitteratur is an academic publishing company based in Sweden and publishing mostly in Swedish.
In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit.
In mathematics, a set A is a subset of a set B, or equivalently B is a superset of A, if A is "contained" inside B, that is, all elements of A are also elements of B. A and B may coincide.
Subtraction is an arithmetic operation that represents the operation of removing objects from a collection.
A supercomputer is a computer with a high level of performance compared to a general-purpose computer.
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
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, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express.
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.
System programming (or systems programming) is the activity of programming computer system software.
The tab key (abbreviation of tabulator key or tabular key) on a keyboard is used to advance the cursor to the next tab stop.
The C Programming Language (sometimes termed K&R, after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as co-designed the Unix operating system with which development of the language was closely intertwined.
In computer science, a tree is a widely used abstract data type (ADT)—or data structure implementing this ADT—that simulates a hierarchical tree structure, with a root value and subtrees of children with a parent node, represented as a set of linked nodes.
In computer science, type conversion, type casting, and type coercion are different ways of changing an entity of one data type into another.
In statistical hypothesis testing, a type I error is the rejection of a true null hypothesis (also known as a "false positive" finding), while a type II error is failing to reject a false null hypothesis (also known as a "false negative" finding).
In computer science, type punning is a common term for any programming technique that subverts or circumvents the type system of a programming language in order to achieve an effect that would be difficult or impossible to achieve within the bounds of the formal language.
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.
Unicode is a computing industry standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems.
Unified Parallel C (UPC) is an extension of the C programming language designed for high-performance computing on large-scale parallel machines, including those with a common global address space (SMP and NUMA) and those with distributed memory (e.g. clusters).
In computer science, a union is a value that may have any of several representations or formats within the same position in memory; or it is a data structure that consists of a variable that may hold such a value.
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-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification.
A user is a person who utilizes a computer or network service.
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.
Valgrind is a programming tool for memory debugging, memory leak detection, and profiling.
In computer science, a value is the representation of some entity that can be manipulated by a program.
In computer programming, a variable-length array (VLA), also called variable-sized, runtime-sized, is an array data structure whose length is determined at run time (instead of at compile time).
A variadic macro is a feature of some computer programming languages, especially the C preprocessor, whereby a macro may be declared to accept a varying number of arguments.
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems.
The Void type, in several programming languages derived from C and Algol68, is the type for the result of a function that returns normally, but does not provide a result value to its caller.
In computer programming, particularly in the C, C++, C#, and Java programming languages, the volatile keyword indicates that a value may change between different accesses, even if it does not appear to be modified.
Watcom C/C++ (currently Open Watcom C/C++) is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages.
In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition.
In computer programming, white space is any character or series of characters that represent horizontal or vertical space in typography.
Wolfram Mathematica (usually termed Mathematica) is a modern technical computing system spanning most areas of technical computing — including neural networks, machine learning, image processing, geometry, data science, visualizations, and others.
A working group or working party is a group of experts working together to achieve specified goals.
.c, 32/16 bit C programming, C (Programming Language), C (computer language), C (lang), C (language), C (programming langage), C (programming langauge), C (programming language, C (programming), C (software), C Language, C Programming, C Programming Language, C lang, C language, C prog, C program, C programing language, C programming, C programming Language, C programming language, C programming language, criticism, C programming language/Evolution, C programming language/K and R C, C(programming language, C(programming language), C-programming, Computer language C, Criticism of C, Criticism of C (programming language), Criticism of the C programming language, K and R C, K and r c, K&R C, Programming language C.