AAA (pronounced "triple-A") is an informal classification used for video games produced and distributed by a mid-sized or major publisher, typically having higher development and marketing budgets.
The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation.
Andrei Alexandrescu (born 1969) is a Romanian-American C++ and D language programmer and author.
In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.
In computer software, an application binary interface (ABI) is an interface between two binary program modules; often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user.
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.
In computer programming, array slicing is an operation that extracts a subset of elements from an array and packages them as another array, possibly in a different dimension from the original.
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 science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection.
Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing.
Backward compatibility is a property of a system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in telecommunications and computing.
Boost is a set of libraries for the C++ programming language that provide support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing.
In computer programming, bounds checking is any method of detecting whether a variable is within some bounds before it is used.
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and redistribution of covered software.
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 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.
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.
A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions.
In programming languages, a closure (also lexical closure or function closure) is a technique for implementing lexically scoped name binding in a language with first-class functions.
Code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior.
Code::Blocks is a free, open-source cross-platform IDE that supports multiple compilers including GCC, Clang and Visual C++.
Common Intermediate Language (CIL), formerly called Microsoft Intermediate Language (MSIL), is the lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification and is used by the.NET Framework,.NET Core, and Mono.
The Common Language Infrastructure (CLI) is an open specification (technical standard) developed by Microsoft and standardized by ISO and ECMA that describes executable code and a runtime environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures.
Compile-time function execution (or compile time function evaluation, or general constant expressions) is the ability of a compiler, that would normally compile a function to machine code and execute it at run time, to execute the function at compile time.
A compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation takes place).
A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language).
Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993.
Computer hardware includes the physical parts or components of a computer, such as the central processing unit, monitor, keyboard, computer data storage, graphic card, sound card and motherboard.
In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the final outcome.
Concurrent computing is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).
In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments (or a tuple of arguments) into evaluating a sequence of functions, each with a single argument.
The D Language Foundation (DLF) is a nonprofit organization devoted to the D programming language launched on October 16, 2015.
Ddoc is a compiler-embedded documentation generator and associated syntax, for the D programming language, designed by Walter Bright.
Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software.
In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer.
Digital Mars is a small American software company owned by Walter Bright that makes C, C++ and D compilers, and associated utilities such as an integrated development environment (IDE) for Windows and DOS, which Digital Mars terms an integrated development and debugging environment (IDDE).
In computer programming, a directive or pragma (from "pragmatic") is a language construct that specifies how a compiler (or other translator) should process its input.
A documentation generator is a programming tool that generates software documentation intended for programmers (API documentation) or end users (End-user Guide), or both, from a set of specially commented source code files, and in some cases, binary files.
A domain-specific language (DSL) is a computer language specialized to a particular application domain.
In computer science, a dynamic array, growable array, resizable array, dynamic table, mutable array, or array list is a random access, variable-size list data structure that allows elements to be added or removed.
Dynamic programming language, in computer science, is a class of high-level programming languages which, at runtime, execute many common programming behaviors that static programming languages perform during compilation.
eBay Inc. is a multinational e-commerce corporation based in San Jose, California that facilitates consumer-to-consumer and business-to-consumer sales through its website.
Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE.
Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software.
Emacs is a family of text editors that are characterized by their extensibility.
In computer science, the expressive power (also called expressiveness or expressivity) of a language is the breadth of ideas that can be represented and communicated in that language.
Facebook is an American online social media and social networking service company based in Menlo Park, California.
In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. For example, The value of 0! is 1, according to the convention for an empty product.
In functional programming, filter is a higher-order function that processes a data structure (usually a list) in some order to produce a new data structure containing exactly those elements of the original data structure for which a given predicate returns the boolean value true.
In programming language design, a first-class citizen (also type, object, entity, or value) in a given programming language is an entity which supports all the operations generally available to other entities.
In functional programming, fold (also termed reduce, accumulate, aggregate, compress, or inject) refers to a family of higher-order functions that analyze a recursive data structure and through use of a given combining operation, recombine the results of recursively processing its constituent parts, building up a return value.
For each (or foreach) is a control flow statement for traversing items in a collection.
FreeBSD is a free and open-source Unix-like operating system descended from Research Unix via the Berkeley Software Distribution (BSD).
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.
Geany (IPA:ʒeːniː) is a lightweight GUI text editor using Scintilla and GTK+, including basic IDE features.
Genie is a modern, general-purpose high-level programming language in active development since 2008.
GitHub Inc. is a web-based hosting service for version control using Git.
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Go, Java and partially others.
The GNU General Public License (GNU GPL or GPL) is a widely used free software license, which guarantees end users the freedom to run, study, share and modify the software.
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.
A graphics processing unit (GPU) is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device.
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.
In computer science, imperative programming is a programming paradigm that uses statements that change a program's state.
In computer programming, an inline assembler is a feature of some compilers that allows low-level code written in assembly language to be embedded within a program, among code that otherwise has been compiled from a higher-level language such as C or Ada.
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.
Intelligent code completion is a context-aware code completion feature in some programming environments that speeds up the process of coding applications by reducing typos and other common mistakes.
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.
An interface in the Java programming language is an abstract type that is used to specify a behavior that classes must implement.
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.
The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system.
In computing, a binding from a programming language to a library or operating system service is an application programming interface (API) providing glue code to use that library or service in a given programming language.
In programming language theory, lazy evaluation, or call-by-need is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (sharing).
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
Linux is a family of free and open-source software operating systems built around the Linux kernel.
The LLVM compiler infrastructure project is a "collection of modular and reusable compiler and toolchain technologies" used to develop compiler front ends and back ends.
In computer science, a local variable is a variable that is given local scope.
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.
Machine code is a computer program written in machine language instructions that can be executed directly by a computer's central processing unit (CPU).
macOS (previously and later) is a series of graphical operating systems developed and marketed by Apple Inc. since 2001.
In many programming languages, map is the name of a higher-order function that applies a given function to each element of a list, returning a list of results in the same order.
Memory safety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access, such as buffer overflows and dangling pointers.
Metaprogramming is a programming technique in which computer programs have the ability to treat programs as their data.
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft.
Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft.
The MiniD programming language is a small, lightweight, extension language in the vein of Lua or Squirrel, but designed to be used mainly with the D programming language.
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.
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.
MonoDevelop (also known as Xamarin Studio) is an open source integrated development environment for Linux, macOS, and Windows.
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.
In computer programming, a nested function (or nested procedure or subroutine) is a function which is defined within another function, the enclosing function.
Netflix, Inc. is an American over-the-top media services provider, headquartered in Los Gatos, California.
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to general symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics).
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").
The open-source model is a decentralized software-development model that encourages open collaboration.
Open-source software (OSS) is a type of computer software whose source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose.
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
In programming, operator overloading, sometimes termed operator ad hoc polymorphism, is a specific case of polymorphism, where different operators have different implementations depending on their arguments.
A passenger information system (PIS or PIDS) is an automated system for supplying users of public transport with information about the nature and state of a public transport service, through visual, voice or other media.
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.
Programming paradigms are a way to classify programming languages based on their features.
In computer programming, a function or expression is considered pure if its evaluation has no side effect, such as mutation of objects or output to I/O devices.
Python is an interpreted high-level programming language for general-purpose programming.
Qore is an interpreted, high-level, general-purpose, garbage collected dynamic programming language, featuring support for code embedding and sandboxing with optional strong typing and a focus on fundamental support for multithreading and SMP scalability.
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.
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language.
In computer programming, a runtime library (RTL) is a set of low-level routines used by a compiler to invoke some of the behaviors of a runtime environment, by inserting calls to the runtime library into compiled executable binary.
SciTE or SCIntilla based Text Editor is a cross-platform text editor written by Neil Hodgson using the Scintilla editing component.
SlickEdit, previously known as Visual SlickEdit, is a cross-platform commercial source code editor, text editor, code editor and Integrated Development Environment developed by SlickEdit, Inc.
Smultron is a text editor for macOS (previously Mac OS X) that is designed for both beginners and advanced users; it was originally published as open source and is now sold through the Mac App Store.
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 development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software.
Software relicensing is applied in open-source software development when software licenses of software modules are incompatible and are required to be compatible for a greater combined work.
A standard library in computer programming is the library made available across implementations of a programming language.
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).
Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux.
Symantec Corporation (commonly known as Symantec) is an American software company headquartered in Mountain View, California, United States.
In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express.
In linguistics, syntax is the set of rules, principles, and processes that govern the structure of sentences in a given language, usually including word order.
Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML.
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.
TextMate is a general-purpose GUI text editor for Mac OS X created by Allan Odgaard.
The Open Source Definition is a document published by the Open Source Initiative, to determine whether a software license can be labeled with the open-source certification mark.
In mathematics, a tuple is a finite ordered list (sequence) of elements.
Type inference refers to the automatic detection of the data type of an expression in a programming 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.
Uniform Function Call Syntax (UFCS) or sometimes Universal Function Call Syntax is a programming language feature in D, Rust and Nim that allows any function to be called using the syntax for method calls (as in object-oriented programming), by using the receiver as the first parameter, and the given arguments as the remaining parameters.
In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use.
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.
UTF-32 stands for Unicode Transformation Format in 32 bits.
UTF-8 is a variable width character encoding capable of encoding all 1,112,064 valid code points in Unicode using one to four 8-bit bytes.
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.
Vim ("Vim is pronounced as one word, like Jim, not vi-ai-em. It's written with a capital, since it's a name, again like Jim." a contraction of Vi IMproved) is a clone, with additions, of Bill Joy's vi text editor program for Unix.
In computing, a virtual machine (VM) is an emulation of a computer system.
Visual Studio Code is a source code editor developed by Microsoft for Windows, Linux and macOS.
Walter Bright is an American computer programmer and the creator of the D programming language.
Web development is a broad term for the work involved in developing a web site for the Internet (World Wide Web) or an intranet (a private network).
WinDbg is a multipurpose debugger for the Microsoft Windows computer operating system, distributed by Microsoft.
Xcode is an integrated development environment (IDE) for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS, and tvOS.