Skip to content
Category

Programming language comparisons

page 1
colon
punctuation mark consisting of two equally sized dots centered on the same vertical line
pointer
type which stores memory addresses in a computer program
functional programming
programming paradigm based on applying and composing functions
imperative programming
programming paradigm of directly specifying commands that affect program state
lambda calculus
formal system in mathematical logic
polymorphism
in programming languages and type theory, accessing different types using a common interface
namespace
In computing, a names space is a set of signs (names) that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names so that they can be easily identified.
control flow
order in which individual statements, instructions or function calls of an imperative program are executed or evaluated
generic programming
way of designing and writing programs where algorithms are written in terms of parametric types enabling easy reuse
WebAssembly
WebAssembly (Wasm) defines a portable binary code format and a corresponding text format for executable programs and software interfaces for facilitating communication between such programs and their host environment.
constructor
special method used for initializing a newly allocated object in object-oriented programming
infinite loop
programming idiom
lazy evaluation
evaluation strategy that delays evaluation of expressions until actually needed
reflective programming
ability of a process to examine, introspect and modify itself
scope
region of a computer program where a name binding is valid
newline
thumb|A newline inserted between the words "Hello" and "world" A newline (frequently called line ending, end of line (EOL), next line (NEL) or line break) is a control character or sequence of control characters in character encoding specifications such as ASCII, EBCDIC, Unicode, etc. A newline is used to signify the end of a line of text and the start of a new one.
interface
purely abstract class in object-oriented programming
visitor pattern
design pattern
higher-order function
mathematical function that takes one or more functions as an input or that outputs a function
pattern matching
programming language construct for processing data conditionally on its structure
lock
synchronization mechanism for enforcing limits on concurrent access to a resource
programming style
set of rules or guidelines used when writing the source code for a computer program
safe typing
property of a type system that prevents certain erroneous or undesirable program behaviours
Carbon
programming language
run-time type information
C++ mechanism that exposes information about an object's data type at runtime
list comprehension
computer language construct for declaratively defining lists (or other data structures)
lazy initialization
Delaying a task until it is first needed
variance
relationship between a generic type or a function and a component type on subtyping
comparison of programming languages
Wikimedia list article
fold
family of higher-order functions that analyze a recursive data structure and build up a return value
multiple dispatch
feature of some programming languages
variadic function
function of indefinite arity, i.e., one which accepts a variable number of arguments
inline expansion
compiler optimization replacing a function call with that function's body
tacit programming
programming paradigm
map
higher-order function in a programming language, which applies a given function element-wise to a collection (most generally, a functor instance)
type introspection
capability of some object-oriented programming languages to examine the type or properties of an object at runtime
fixed-point combinator
higher-order function y for which y f = f (y f)
option type
encapsulation of an optional value in programming or type theory
factory
design pattern in object-oriented programming
type class
type system construct for ad-hoc polymorphism
Rosetta Code
wiki-based programming website with implementations of common algorithms in various programming languages
variable-length array
data structure in programming
arithmetic shift
shift operator in computer programming
specification pattern
design pattern where business rules can be recombined by chaining them together using boolean logic, often used in domain-driven design
variable shadowing
a variable in an inner scope hiding an identically named variable in an outer scope