128 relations: Actor model, Andrei Alexandrescu, Anonymous function, Application binary interface, Array data type, Array slicing, Assembly language, Associative array, Autocomplete, Backward compatibility, Boost (C++ libraries), Bounds checking, C (programming language), C dynamic memory allocation, C Sharp (programming language), C++, Central processing unit, Closure (computer programming), Code refactoring, Code::Blocks, Common Intermediate Language, Common Language Infrastructure, Compile time function execution, Compiled language, Compiler, Component Object Model, Computer hardware, Concurrency (computer science), Concurrent computing, Const (computer programming), Ctags, Currying, Ddoc, Design by contract, Device driver, Digital Mars, Directive (programming), Documentation generator, Domain-specific language, Dynamic array, Dynamic programming language, Eclipse (software), Eiffel (programming language), Emacs, Expressive power (computer science), Factorial, Filter (higher-order function), First-class citizen, Fold (higher-order function), Foreach loop, ..., FreeBSD, Functional programming, Garbage collection (computer science), Geany, Generic programming, Genie (programming language), GitHub, GNU Compiler Collection, GNU Debugger, Graphical user interface, Higher-order function, Imperative programming, Inline assembler, Inner class, Integrated development environment, Interface (computing), Interface (Java), Java (programming language), Language binding, Lazy evaluation, Library (computing), Linux, List of language bindings for GTK+, LLVM, Local variable, Low-level programming language, Machine code, Map (higher-order function), Memory safety, Metaprogramming, Microsoft Visual Studio, Microsoft Windows, MiniD, Mixin, Modular programming, MonoDevelop, Multiple inheritance, Nested function, Object-oriented programming, Open source, Open-source license, Operating system, Operator overloading, OS X, Printf format string, Procedural programming, Programming paradigm, Pure function, Python (programming language), Reference implementation, Ruby (programming language), Runtime library, SciTE, SlickEdit, Smultron, Software bug, Software development, Standard library, Strong and weak typing, Swift (programming language), Syntactic sugar, Syntax, System programming language, TextMate, Tuple, Type inference, Type system, Uniform Function Call Syntax, Unit testing, Unix-like, UTF-32, UTF-8, Vala (programming language), Vim (text editor), Virtual machine, Walter Bright, WinDbg, Xcode. Expand index (78 more) » « Shrink index
The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and determine how to respond to the next message received.
Andrei Alexandrescu is a Romanian American C++ and D language programmer and author.
In computer programming, an anonymous function (also function literal or lambda abstraction) is a function definition that is not bound to an identifier.
In computer software, an application binary interface (ABI) is the interface between two program modules, one of which is often a library or operating system, at the level of machine code.
In computer science, an array type is a data type that is meant to describe a collection of elements (values or variables), each selected by one or more indices (identifying keys) that can be computed at run time by the program.
In computer programming, array slicing is an operation that extracts certain elements from an array and packages them as another array, possibly with different number of indices (or dimensions) and different index ranges.
An assembly language (or assembler language) is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language 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 just 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.
In telecommunications and computing, a product or technology is backward compatible (BC) or downward compatible if it can work with input generated by or meant to an older product or technology such as a legacy system.
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.
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 malloc, realloc, calloc and free.
C#By convention, a number sign is used for the second character in normal text; in artistic representations, sometimes a true sharp sign is used: C♯.
C++ (pronounced as cee plus plus) is a general-purpose programming language.
New!!: D (programming language) and C++ ·
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, closures (also lexical closures or function closures) are a technique for implementing lexically scoped name binding in languages 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, pronounced either "sil" or "kil") (formerly called Microsoft Intermediate Language or MSIL) is the lowest-level human-readable programming language defined by the Common Language Infrastructure (CLI) specification and is used by the.NET Framework and Mono.
The Common Language Infrastructure (CLI) is an open specification developed by Microsoft and standardized by ISO and ECMA that describes executable code and a runtime environment that allow 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 a computer program (or a set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language), with the latter often having a binary form known as object code.
Component Object Model (COM) is a binary-interface standard for software components introduced by Microsoft in 1993.
Computer hardware (usually simply called hardware when a computing context is implicit) is the collection of physical elements that constitutes a computer system.
In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other.
Concurrent computing is a form of computing in which several computations are executing during overlapping time periods – concurrently – instead of sequentially (one completing before the next starts).
In the C, C++, and D programming languages, const is a type qualifier: a keyword applied to a data type that indicates that the data is constant (does not vary).
Ctags is a programming tool that generates an index (or tag) file of names found in source and header files of various programming languages.
New!!: D (programming language) and Ctags ·
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 (partial application).
Ddoc is the embedded documentation generator for the D programming language designed by Walter Bright.
New!!: D (programming language) and Ddoc ·
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 (commonly referred to as a 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 and C++ 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 pragma (from "pragmatic") is a language construct that specifies how a compiler (or assembler or interpreter) 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 is a term used in computer science to describe a class of high-level programming languages which, at runtime, execute many common programming behaviors that static programming languages perform during compilation.
In computer programming, Eclipse is an integrated development environment (IDE).
Eiffel is an ISO-standardized, object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software.
Emacs and its derivatives are a family of text editors that are characterized by their extensibility.
New!!: D (programming language) and Emacs ·
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.
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 (typically 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 known variously as 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 computer language idiom for traversing items in a collection.
FreeBSD is a free Unix-like operating system descended from Research Unix via the Berkeley Software Distribution (BSD).
New!!: D (programming language) and FreeBSD ·
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 "cross-platform" GUI based text editor using Scintilla and GTK+, including basic Integrated Development Environment (IDE) features.
New!!: D (programming language) and Geany ·
In the simplest definition, 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.
Genie is a modern, general-purpose high-level programming language in active development since 2008.
GitHub is a Web-based Git repository hosting service.
New!!: D (programming language) and GitHub ·
The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages.
The GNU Debugger, usually called just GDB and named gdb as an executable file, is the standard debugger for the GNU operating system.
In computer science, a graphical user interface or GUI, pronounced ("gooey") is a type of interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, as opposed to text-based interfaces, typed command labels or text navigation.
In mathematics and computer science, a higher-order function (also functional, functional form or functor; not to be confused with the functor concept in category theory) 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, the inline assembler is a feature of some compilers that allows very low level code written in assembly to be embedded in a high level language like C or Ada.
In object-oriented programming (OOP), an inner class or nested class is a class declared entirely within the body of another class or interface.
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.
In computing, an interface is a shared boundary across which two separate components of a computer system exchange information.
An interface in Java programming language is an abstract type that is used to specify an interface (in the generic sense of the term) 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.
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 particular 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 to develop software.
Linux (pronounced or, less frequently) is a Unix-like and mostly POSIX-compliant computer operating system (OS) assembled under the model of free and open-source software development and distribution.
New!!: D (programming language) and Linux ·
As shown in the table below, GTK+ has a range of bindings for various languages that implement some or all of its feature set.
The LLVM compiler infrastructure project (formerly Low Level Virtual Machine) is a compiler infrastructure designed to be a set of reusable libraries with well-defined interfaces.
New!!: D (programming language) and LLVM ·
In computer science, a local variable is a variable that is given local scope.
In computer science, 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 or machine language is a set of instructions executed directly by a computer's central processing unit (CPU).
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.
Memory safety is a concern in software development that aims to avoid software bugs that cause security vulnerabilities dealing with random-access memory (RAM) access, such as buffer overflows and dangling pointers.
Metaprogramming is the writing of computer programs with the ability to treat programs as their data.
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft.
Microsoft Windows (or simply Windows) is a metafamily of graphical operating systems 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.
New!!: D (programming language) and MiniD ·
In object-oriented programming languages, a mixin is a class that contains a combination of methods from other classes.
New!!: D (programming language) and Mixin ·
Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
MonoDevelop is an open source integrated development environment for Linux, OS X, 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.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A distinguishing feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
In production and development, open source as a development model promotes a universal access via a free license to a product's design or blueprint, and universal redistribution of that design or blueprint, including subsequent improvements to it by anyone.
An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions.
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—less commonly known as operator ad hoc polymorphism—is a specific case of polymorphism, where different operators have different implementations depending on their arguments.
OS X (pronounced; originally Mac OS X) is a series of Unix-based graphical interface operating systems (OS) developed and marketed by Apple Inc. It is designed to run on Macintosh computers, having been pre-installed on all Macs since 2002.
New!!: D (programming language) and OS X ·
Printf format string (of which "printf" stands for "print formatted") refers to a control parameter used by a class of functions in the string-processing libraries of various programming languages.
Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call.
A programming paradigm is a fundamental style of computer programming, serving as a way of building the structure and elements of computer programs.
In computer programming, a function may be considered a pure function if both below statements about the function hold.
Python is a widely used general-purpose, high-level programming language.
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, reflective, object-oriented, general-purpose programming language.
In computer programming, a runtime library 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.
New!!: D (programming language) and SciTE ·
SlickEdit, previously known as Visual SlickEdit, is a cross-platform commercial source code editor by SlickEdit, Inc.
Smultron is a text editor for 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 It is written in Objective-C using the Cocoa API.
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 computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product.
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 strongly typed or weakly typed.
Swift is a multi-paradigm, compiled programming language created by Apple Inc. for iOS, OS X, and watchOS development.
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.
New!!: D (programming language) and Syntax ·
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.
A tuple is a finite ordered list of elements.
New!!: D (programming language) and Tuple ·
Type inference refers to the automatic deduction of the data type of an expression in a programming language.
In programming languages, a type system is a collection of rules that assign a property called type to various constructs a computer program consists of, such as variables, expressions, functions or modules.
Uniform Function Call Syntax (UFCS) is a programming language feature in D that allows any function to be called on an object (as in Object-oriented programming) like the function is a method of its class.
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 (or UCS-4) stands for Unicode Transformation Format 32 bits.
New!!: D (programming language) and UTF-32 ·
UTF-8 is a character encoding capable of encoding all possible characters, or code points, in Unicode.
New!!: D (programming language) and UTF-8 ·
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system (that "can be seen as an alternative to C-derived languages such as C++ and Objective-C").
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 of Bill Joy's vi editor for Unix.
In computing, a virtual machine (VM) is an emulation of a particular computer system.
Walter Bright is a computer programmer and the creator of the D programming language.
WinDbg is a multipurpose debugger for the Microsoft Windows computer operating system, distributed on the Worldwide Web by Microsoft.
New!!: D (programming language) and WinDbg ·
Xcode is an integrated development environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS.
New!!: D (programming language) and Xcode ·