If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: en.wikipedia.org/wiki/D_(programming_language) - D (programming language) - Wik.

site address: en.wikipedia.org/wiki/D_(programming_language) redirected to: en.wikipedia.org/wiki/D_(programming_language)

site title: D (programming language) - Wikipedia

Our opinion (on Tuesday 22 September 2026 22:36:38 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:

Headings (most frequently used words):

features, better, lifetime, programming, interaction, with, safety, of, code, language, contents, history, implementations, development, tools, uses, critique, see, also, references, further, reading, external, links, paradigms, memory, management, safed, other, systems, imperative, object, oriented, functional, parallelism, concurrency, metaprogramming, scope, assignments, function, parameter, annotations, within, safe, included, in, excluded, from, an, example, interoperation,

Text of the page (most frequently used words):
the (234), and (145), retrieved (84), programming (74), #language (73), for (66), code (49), int (44), with (41), from (35), compiler (35), function (35), std (35), edit (32), are (32), that (30), can (30), this (29), may (27), january (27), languages (25), using (25), august (24), 2020 (24), features (23), functions (22), time (20), github (20), compile (20), 2018 (19), also (19), not (19), use (18), memory (18), has (18), which (18), void (18), library (17), support (17), return (17), used (17), standard (16), 2014 (16), december (16), scope (16), first (16), result (16), was (15), april (15), july (15), other (15), dlang (15), 2012 (15), project (15), import (15), 2026 (14), class (14), gcc (14), writeln (14), license (13), digital (13), mars (13), 2017 (13), written (13), such (13), example (12), bright (12), 2015 (12), main (12), type (12), lifetime (12), source (11), types (11), walter (11), archived (11), derived (11), reduce (11), under (10), object (10), new (10), than (10), system (10), end (10), gdc (10), better (10), classes (10), libraries (10), functional (10), arrays (10), available (9), org (9), string (9), but (9), original (9), 2016 (9), machine (9), dmd (9), parameter (9), stack (9), only (9), development (9), they (9), supports (9), runtime (9), safe (9), factorial (9), send (9), september (8), boost (8), based (8), visual (8), alexandrescu (8), andrei (8), 2010 (8), com (8), some (8), management (8), tango (8), references (8), uses (8), ide (8), however (8), version (8), collection (8), style (8), field (8), parallel (8), safety (7), wikipedia (7), text (7), software (7), systems (7), oriented (7), compilers (7), dynamic (7), data (7), february (7), tiobe (7), tools (7), release (7), log (7), article (7), when (7), any (7), supported (7), public (7), garbage (7), imperative (7), static (7), array (7), auto (7), inheritance (7), gloin (7), pointer (7), tid (7), parallelism (7), articles (6), free (6), 2001 (6), level (6), open (6), compiled (6), studio (6), windows (6), implementations (6), official (6), many (6), virtual (6), dub (6), package (6), now (6), ldc (6), changes (6), its (6), into (6), like (6), interface (6), different (6), both (6), marked (6), within (6), metaprogramming (6), access (6), stdio (6), reference (6), iota (6), algorithm (6), foundation (5), page (5), template (5), links (5), all (5), paradigm (5), syntax (5), implementation (5), how (5), june (5), 2024 (5), highlight (5), october (5), november (5), concurrency (5), application (5), via (5), march (5), sdc (5), front (5), backend (5), linux (5), change (5), specification (5), safed (5), part (5), been (5), specific (5), programs (5), custom (5), back (5), released (5), directly (5), paradigms (5), same (5), format (5), structs (5), print3i (5), base (5), single (5), allows (5), error (5), escapes (5), thorin (5), does (5), rad (5), bad (5), variables (5), foo (5), msg (5), foreach (5), map (5), taskpool (5), pure (5), interfaces (5), java (5), contents (4), search (4), statement (4), you (4), citations (4), multi (4), high (4), index (4), blocks (4), ides (4), file (4), wikibooks (4), book (4), wired (4), 2009 (4), case (4), netflix (4), web (4), blog (4), mono (4), llvm (4), gnu (4), switch (4), 2011 (4), parameters (4), allocator (4), strings (4), work (4), assert (4), needed (4), see (4), there (4), due (4), since (4), operating (4), projects (4), includes (4), others (4), above (4), target (4), including (4), subset (4), common (4), full (4), current (4), final (4), 2007 (4), alternative (4), more (4), two (4), history (4), module (4), nested (4), deleteinstance (4), createinstance (4), following (4), interaction (4), methods (4), returned (4), order (4), checked (4), ensure (4), design (4), influenced (4), must (4), templates (4), create (4), allocated (4), mixins (4), execution (4), enum (4), range (4), pivot (4), chain (4), delegate (4), general (4), hide (4), move (4), sidebar (4), add (3), topic (3), toggle (3), view (3), about (3), wayback (3), content (3), statements (3), typed (3), created (3), cross (3), platform (3), designer (3), pascal (3), external (3), 978 (3), isbn (3), next (3), big (3), never (3), heard (3), well (3), write (3), reading (3), should (3), 2023 (3), dlangui (3), faster (3), performance (3), running (3), introducing (3), what (3), monodevelop (3), parker (3), xcode (3), wiki4d (3), net (3), another (3), modules (3), lua (3), storage (3), pointers (3), trusted (3), experimental (3), way (3), expressions (3), complex (3), licensed (3), computer (3), called (3), led (3), information (3), applications (3), include (3), often (3), debugger (3), various (3), microsoft (3), after (3), graphical (3), though (3), completion (3), extensions (3), possible (3), either (3), webassembly (3), environment (3), rather (3), bit (3), while (3), frontend (3), between (3), symantec (3), excluded (3), concurrent (3), closures (3), community (3), phobos (3), being (3), collector (3), similar (3), core (3), built (3), thread (3), overloading (3), allocation (3), call (3), will (3), known (3), mul (3), factor (3), extern (3), println (3), where (3), name (3), namespace (3), shall (3), equivalent (3), match (3), these (3), bindings (3), generation (3), python (3), usually (3), cannot (3), variable (3), declarations (3), assignments (3), concepts (3), contains (3), struct (3), programmers (3), ranges (3), examples (3), operations (3), pragma (3), through (3), else (3), ulong (3), construct (3), message (3), variant (3), cont (3), help (3), automatically (3), mysum (3), closure (3), immutable (3), higher (3), local (3), inference (3), anonymous (3), multiple (3), scaled (3), unlike (3), inline (3), low (3), table (2), legal (2), contact (2), privacy (2), policy (2), additional (2), terms (2), apply (2), non (2), wikimedia (2), inc (2), commons (2), attribution (2), categories (2), unsourced (2), lacking (2), short (2), description (2), matches (2), wikidata (2), statically (2), vala (2), objective (2), comparison (2), compatibility (2), kdevelop (2), geany (2), eclipse (2), embedded (2), preprocessor (2), forum (2), website (2), metz (2), cade (2), dobb (2), journal (2), came (2), addison (2), wesley (2), further (2), reddit (2), production (2), quality (2), opend (2), lazarus (2), malware (2), vectorflow (2), gpu (2), kernel (2), javascript (2), 2025 (2), youtube (2), aaa (2), command (2), line (2), build (2), dustmite (2), entice (2), poseidon (2), vscode (2), visuald (2), descent (2), google (2), hosting (2), wiki (2), dexed (2), editor (2), snazzy (2), series (2), fixes (2), hacker (2), news (2), device (2), accepted (2), inclusion (2), discontinued (2), user (2), ported (2), mike (2), registry (2), scoped (2), attributes (2), own (2), one (2), 2021 (2), permission (2), swift (2), 2022 (2), api (2), citation (2), converted (2), 112 (2), portal (2), major (2), lack (2), published (2), described (2), critique (2), machines (2), processing (2), gui (2), games (2), popular (2), integrated (2), useful (2), debugged (2), limited (2), windbg (2), ddbg (2), zerobugs (2), exist (2), plugin (2), partial (2), partially (2), integration (2), provided (2), feature (2), focused (2), freebsd (2), powerpc (2), amd64 (2), handle (2), compiles (2), cil (2), then (2), run (2), years (2), working (2), x86 (2), macos (2), tracking (2), implementing (2), itself (2), almost (2), shared (2), improve (2), initially (2), most (2), added (2), developed (2), made (2), announced (2), would (2), contributions (2), stabilization (2), just (2), beginning (2), named (2), days (2), were (2), threading (2), etc (2), constructors (2), destructors (2), typeinfo (2), printf (2), protections (2), exit (2), raii (2), slicing (2), bounds (2), delegates (2), allocate (2), included (2), linked (2), differences (2), null (2), ref (2), disable (2), private (2), abstract (2), explicit (2), interoperation (2), abi (2), those (2), specified (2), writing (2), reflection (2), binary (2), link (2), codes (2), model (2), escape (2), global (2), given (2), ignored (2), behaviour (2), annotations (2), longer (2), valid (2), defined (2), tmp (2), involving (2), rust (2), provides (2), certain (2), corruption (2), cases (2), immediately (2), alloca (2), instances (2), default (2), heap (2), instead (2), schemes (2), counting (2), implement (2), operator (2), managed (2), objects (2), footod (2), returns (2), combined (2), allow (2), performs (2), ctfe (2), right (2), here (2), received (2), receive (2), hello (2), spawn (2), sender (2), implemented (2), require (2), typing (2), nums (2), filter (2), each (2), ufcs (2), loop (2), passing (2), enclosing (2), nothrow (2), inside (2), literals (2), prove (2), necessary (2), shorthand (2), syntaxes (2), form (2), expression (2), automatic (2), contract (2), hierarchy (2), multiplier (2), declared (2), assembler (2), native (2), eiffel (2), ruby (2), ago (2), learn (2), disambiguation (2), appearance (2), upload (2), read (2), english (2), bahasa (2), account (2), donate (2), menu (2), mobile, cookie, statistics, developers, conduct, contacts, disclaimers, site, agree, registered, trademark, profit, organization, creative, sharealike, rendered, parsoid, last, edited, utc, hidden, webarchive, dmy, dates, procedural, family, https, php, title, programming_language, oldid, 1367708251, israel, united, states, national, gnd, international, authority, control, databases, category, dennis, ritchie, zig, alef, descendant, netbeans, gnome, builder, codelite, clion, anjuta, watcom, msvc, tcc, sdcc, pcc, norcroft, lcc, icc, iar, workbench, compcert, comeau, clang, borland, turbo, ack, uclibc, newlib, musl, crt, klibc, eglibc, glibc, dietlibc, libhybris, bionic, posix, variadic, math, char, operators, header, files, freestanding, misra, c2y, c23, c17, c11, c99, ansi, turkish, beginner, guide, ruppe, adam, packt, publishing, 783, 28721, cookbook, distributed, teaches, novices, covers, advanced, topics, çehreli, ali, professional, 321, 63536, d_language, enterprise, www, company, ship, carrying, silverware, sailed, hackers, drop, rat, year, old, log4j, bug, funkwerk, tilix, interview, gerald, nunn, numeric, age, mir, glas, openblas, eigen, diamond, mvc, framework, vibe, asynchronous, toolkit, dcompute, powernex, ecma, 262, higgs, wookash, podcast, why, lewis, nicolle, quantum, break, gaming, technology, medium, hood, warp, fast, dprogramming, michael, dav1dde, lumen, michel, fortin, schuetze, rainer, rainers, extension, gitlab, basile, editorsupport, zeusforwindows, deadalnix, ghostarchive, dconf, amaury, sechet, make, jonathan, allen, infoq, codeplex, buildinstructionsphobosdruntimetrunk, trac, fsf, duff, 6680, magazin, german, unter, freier, lizenz, comment, backendlicense, txt, dsource, lib, announcing, intro, bindbc, derelict, pyd, 2019, ownership, borrowing, sealed, steven, schveighoffer, bartosz, milewski, your, 2008, incorporates, bsl, introduction, building, __file__, __line__, upper, saddle, river, jersey, 0321635365, 314, show, nice, fileinfo, faq, switched, nov, 2005, sparse, mentions, magazines, ranks, rank, severe, marketing, situation, remained, virtually, unchanged, magazine, sometimes, leads, uncertainty, stability, familiarity, bias, agility, process, difficulty, post, former, contributor, apparent, frustration, fork, north, korean, hacking, group, exploited, cve, 44228, aka, deploy, three, families, log4shell, successfully, interpreters, learning, servers, research, passenger, numerical, analysis, indie, notable, organisations, ebay, facebook, manager, tool, minimizing, finding, tests, issues, gdb, although, extremely, debugging, having, debug, cv2pdb, kate, autocompletion, enables, bundle, yet, similarity, refactoring, textmate, plug, ins, ddt, dead, rich, xamarin, mainly, sharp, formerly, coedit, editors, supporting, zeus, among, smultron, scite, vim, emacs, slickedit, highlighting, environments, toolchains, architectures, primary, host, operate, modern, browser, dedicated, wasm, apple, safari, edge, mozilla, firefox, chrome, android, solaris, opensolaris, aix, netbsd, mac, s390, sparc, motorola, m68k, dec, alpha, mips64, aarch64, scheduler, symbol, resolution, currently, bytecode, cli, updated, author, indicated, active, anymore, infrastructure, intermediate, toy, proof, concept, merged, versions, 2004, gained, platforms, improved, fixed, bugs, upstream, said, biggest, 100, entire, bootstrapping, sourced, self, optimizers, ready, originally, qualifying, conforming, had, whole, gave, too, definition, 076, moved, bugtracker, patch, submission, basis, significant, increase, today, commonly, referred, signaled, placed, maintenance, receiving, corrections, bugfixes, introduced, later, numerous, solved, problems, separating, port, purity, const, breaking, members, announcement, adopted, embracing, oop, modularity, allowed, progress, incompatible, apis, impossible, existence, widely, meant, packages, creating, incompatibility, across, started, 1999, reached, concentrated, sync, synchronized, exceptions, slices, associative, moduleinfo, validation, unittest, failures, directed, interfacing, checking, member, lambdas, facilities, unrestricted, pre, enabled, flags, betterc, fno, druntime, flag, without, option, lead, slightly, behaviours, asserts, forbids, requiring, override, delete, namespaces, vtable, matched, calls, mangling, conventions, because, provide, interpreter, thin, directional, long, properly, performed, mixed, intermix, abis, thus, passed, similarly, interchanged, ways, restricts, primitive, forms, unions, callbacks, component, fundamental, enabling, direct, existing, additionally, balin, annotated, below, copied, otherwise, copies, required, outlive, argument, escaped, constraints, dictates, applied, keywords, constrain, hence, extends, reversed, fails, test, assignment, assignee, assigned, mechanisms, place, primarily, deal, roadmap, plans, expand, drawing, ideas, banners, dip1000, dip25, against, ill, formed, constructions, lifetimes, guaranteed, could, arithmetic, unchecked, casts, distinguish, disabled, potential, modular, composable, allocators, keyword, annotate, parts, indicate, destroyed, destructor, whatever, deallocated, depends, size, recast, means, slice, resizing, appending, avoided, obvious, reasons, stdc, stdlib, instance, changed, assigning, value, typecons, calling, fallback, controlled, exclude, observed, enable, force, generational, cycle, documentation, scenarios, preferred, malloc, overloaded, finalized, out, majority, mixin, hypothetical, parses, parse, program, domain, fact_9, fact_7, formatting, displays, factorial9, ordinary, constant, meet, criteria, factorial7, compute, factorials, constants, need, explicitly, hand, sides, infers, their, conditional, demonstrated, calculation, compared, regular, calculates, number, demonstrate, tuples, thistid, float, integers, huh, false, true, bool, fully, methodologies, sum, 1_000_000_000, 95ms, 2864ms, amd, threadripper, 2950x, 888ms, 5140ms, intel, 3930x, creation, tasks, fold, lazily, evaluated, elements, computed, worker, task, body, executed, extra, sharing, detected, transparently, alternatively, compositions, expressed, natural, left, uniform, literal, currying, simply, relevant, surrounding, creates, unless, likewise, places, enclosed, exits, frame, longhand, recursively, notation, aspects, rtti, facilitate, generic, techniques, traits, reflective, introspected, contain, before, entry, accord, methodology, invariants, forwarding, optional, dispatch, overridden, covariant, comparable, separate, functionality, defining, world, writefln, identical, accessed, looping, over, actor, five, character, characters, imaginary, numbers, symbols, forward, enter, method, underlying, produced, drivers, hardware, processor, assembly, implements, technically, lazy, evaluation, container, iteration, declaration, closely, behave, compatible, purpose, collected, manual, structured, separately, executables, describes, follows, joined, effort, originated, engineering, very, drawn, inspiration, notably, genie, minid, renamed, croc, qore, basic, filename, strong, inferred, discipline, stable, appeared, developer, designed, list, remove, please, precise, lacks, sufficient, corresponding, computing, encyclopedia, item, printable, download, pdf, print, export, legacy, parser, get, shortened, url, cite, permanent, related, actions, talk, tiếng, việt, українська, türkçe, toki, pona, тоҷикӣ, svenska, slovenčina, simple, русский, română, português, polski, norsk, bokmål, nederlands, नेपाली, melayu, മലയാളം, latina, 한국어, ქართული, 日本語, italiano, ido, indonesia, հայերեն, magyar, עברית, galego, français, suomi, فارسی, español, esperanto, deutsch, čeština, کوردی, català, বাংলা, български, azərbaycanca, العربية, subsection, top, personal, special, pages, recent, contribute, random, events, navigation, jump,


Text of the page (random words):
is a regular function that calculates the factorial of a number ulong factorial ulong n if n 2 return 1 else return n factorial n 1 here the use of static if d s compile time conditional construct is demonstrated to construct a template that performs the same calculation using code that is similar to that of the function above template factorial ulong n static if n 2 enum factorial 1 else enum factorial n factorial n 1 in the following two examples the template and function defined above are used to compute factorials the types of constants need not be specified explicitly as the compiler infers their types from the right hand sides of assignments enum factorial7 factorial 7 this is an example of compile time function execution ctfe ordinary functions may be used in constant compile time expressions provided they meet certain criteria enum factorial9 factorial 9 the std string format function performs printf like data formatting also at compile time through ctfe and the msg pragma displays the result at compile time import std string format pragma msg format 7 s fact_7 pragma msg format 9 s fact_9 string mixins combined with compile time function execution allow for the generation of d code using string operations at compile time this can be used to parse domain specific languages which will be compiled as part of the program hypothetical module which contains a function that parses foo source code and returns equivalent d code import footod void main mixin footod import example foo memory management edit memory is usually managed with garbage collection but specific objects may be finalized immediately when they go out of scope this is what the majority of programs and libraries written in d use explicit memory management is possible using the overloaded operator new by calling c s malloc and free directly or implementing custom allocator schemes such as stack allocation with fallback raii style allocation reference counting or shared reference counting garbage collection can be controlled programmers may add and exclude memory ranges from being observed by the collector can disable and enable the collector and force either a generational or full collection cycle 15 the language documentation provides examples of how to implement alternative memory management schemes for scenarios where garbage collection is not preferred 16 in functions struct instances are by default allocated on the stack while class instances by default allocated on the heap with only reference to the class instance being on the stack however this can be changed for classes for example using standard library template std typecons scoped or by using new for structs and assigning to a pointer instead of a value based variable 17 in functions static arrays of known size are allocated on the stack for dynamic arrays one can use the core stdc stdlib alloca function similar to alloca in c to allocate memory on the stack the returned pointer can be used recast into a typed dynamic array by means of a slice however resizing array including appending must be avoided and for obvious reasons they must not be returned from the function 17 a scope keyword can be used both to annotate parts of code but also variables and classes structs to indicate they should be destroyed destructor called immediately on scope exit whatever the memory is deallocated also depends on implementation and class vs struct differences 18 std experimental allocator contains modular and composable allocator templates to create custom allocators for specific use cases 19 safed edit safed 20 is the name given to the subset of d that can be guaranteed to be memory safe functions marked safe are checked at compile time to ensure that they do not use any features that could result in corruption of memory such as pointer arithmetic and unchecked casts any other functions called must also be marked as safe or trusted functions can be marked trusted for the cases where the compiler cannot distinguish between safe use of a feature that is disabled in safed and a potential case of memory corruption 21 scope lifetime safety edit initially under the banners of dip1000 22 and dip25 23 now part of the language specification 24 d provides protections against certain ill formed constructions involving the lifetimes of data the current mechanisms in place primarily deal with function parameters and stack memory however the language design roadmap includes plans to expand lifetime tracking within the d programming language drawing on concepts from the rust programming language 25 influenced by ideas from rust programming language lifetime safety of assignments edit within safe code the lifetime of an assignment involving a reference type is checked to ensure that the lifetime of the assignee is longer than that of the assigned for example safe void test int tmp 0 1 int rad 2 rad tmp if the order of the declarations of 1 and 2 is reversed this fails int bad 45 the lifetime of bad only extends to the scope in which it is defined rad bad this is valid rad bad the lifetime of rad is longer than bad hence this is not valid function parameter lifetime annotations within safe code edit when applied to function parameter which are either of pointer type or references the keywords return and scope constrain the lifetime and use of that parameter the language standard dictates the following behaviour 26 storage class behaviour and constraints to of a parameter with the storage class scope references in the parameter cannot be escaped ignored for parameters with no references return parameter may be returned or in case of void functions copied to the first parameter but otherwise does not escape from the function such copies are required not to outlive the argument s they were derived from ignored for parameters with no references an annotated example is given below safe int gp void thorin scope int void gloin int int balin return scope int p scope int q int r gp p error p escapes to global variable gp gp q error q escapes to global variable gp gp r ok thorin p ok p does not escape thorin thorin q ok thorin r ok gloin p error p escapes gloin gloin q error q escapes gloin gloin r ok that r escapes gloin return p ok return q error cannot return scope q return r ok interaction with other systems edit c s application binary interface abi is supported as well as all of c s fundamental and derived types enabling direct access to existing c code and libraries d bindings are available for many popular c libraries additionally c s standard library is part of standard d on microsoft windows d can access component object model com code as long as memory management is properly performed many other languages can be mixed with d in a single binary for example the gdc compiler allows to link and intermix c c and other supported language codes such as objective c d code functions can also be marked as using c c pascal abis and thus be passed to the libraries written in these languages as callbacks similarly data can be interchanged between the codes written in these languages in both ways this usually restricts use to primitive types pointers some forms of arrays unions structs and only some types of function pointers because many other programming languages often provide the c application programming interface api for writing extensions or running the interpreter of the languages d can interface directly with these languages also using standard c bindings with a thin d interface file for example bi directional bindings exist for the languages python 27 lua 28 29 and others often using compile time code generation and compile time type reflection methods interaction with c code edit for d code marked as extern c the following features are specified the name mangling conventions shall match those of c on the target for function calls the abi shall be equivalent the vtable shall be matched up to single inheritance the only level supported by the d language specification c namespaces are used via the syntax extern c namespace where namespace is the name of the c namespace an example of c interoperation edit on c import std class base public virtual void print3i int a int b int c 0 class derived public base private int field public explicit derived int field field field void print3i int a int b int c std println a a std println b b std println c c int mul int factor return field factor derived createinstance int i return new derived i void deleteinstance derived d delete d d 0 on d extern c abstract class base public void print3i int a int b int c class derived base private int field public disable this override void print3i int a int b int c final int mul int factor derived createinstance int i void deleteinstance ref derived d void main import std stdio auto d1 createinstance 5 writeln d1 field writeln d1 mul 4 base b1 d1 b1 print3i 1 2 3 deleteinstance d1 assert d1 is null auto d2 createinstance 42 writeln d2 field deleteinstance d2 assert d2 is null better c edit the d programming language has an official subset known as better c 30 this subset forbids access to d features requiring use of runtime libraries other than that of c enabled via the compiler flags betterc on dmd and ldc and fno druntime on gdc better c may only call into d code compiled under the same flag and linked code other than d but code compiled without the better c option may call into code compiled with it this will however lead to slightly different behaviours due to differences in how c and d handle asserts features included in better c edit unrestricted use of compile time features for example d s dynamic allocation features can be used at compile time to pre allocate d data full metaprogramming facilities nested functions nested structs delegates and lambdas member functions constructors destructors operating overloading etc the full module system array slicing and array bounds checking raii scope exit memory safety protections interfacing with c com classes and c classes assert failures are directed to the c runtime library switch with strings final switch unittest blocks printf format validation features excluded from better c edit garbage collection typeinfo and moduleinfo built in threading e g core thread dynamic arrays though slices of static arrays work and associative arrays exceptions synchronized and core sync static module constructors or destructors history edit walter bright started working on a new language in 1999 d was first released in december 2001 1 and reached version 1 0 in january 2007 31 the first version of the language d1 concentrated on the imperative object oriented and metaprogramming paradigms 32 similar to c some members of the d community created an alternative runtime and standard library named tango as an alternative to phobos d s official runtime and standard library the first public tango announcement came within days of d 1 0 s release 33 tango adopted a different programming style embracing oop and high modularity being a community led project tango was more open to contributions which allowed it to progress faster than the official standard library at that time tango and phobos were incompatible due to different runtime support apis the garbage collector threading support etc this made it impossible to use both libraries in the same project the existence of two widely used libraries meant that some packages used phobos and others used tango creating an incompatibility across different projects 34 in june 2007 the first version of d2 was released 35 the beginning of d2 s development signaled d1 s stabilization the first version of the language has been placed in maintenance only receiving corrections and implementation bugfixes d2 introduced breaking changes to the language beginning with its first const system d2 later added numerous other language features such as closures purity and support for the functional and concurrent programming paradigms d2 also solved standard library problems by separating the runtime from the standard library the completion of a d2 tango port was announced in february 2012 36 the release of andrei alexandrescu s book the d programming language on 12 june 2010 marked the stabilization of d2 which today is commonly referred to as just d in january 2011 d development moved from a bugtracker patch submission basis to github this has led to a significant increase in contributions to the compiler runtime and standard library 37 in december 2011 andrei alexandrescu announced that d1 the first version of the language would be discontinued on 31 december 2012 38 the final d1 release d v1 076 was on 31 december 2012 39 code for the official d compiler the digital mars d compiler by walter bright was originally released under a custom license qualifying as source available but not conforming to the open source definition 40 in 2014 the compiler front end was re licensed as open source under the boost software license 3 this re licensed code excluded the back end which had been partially developed at symantec on 7 april 2017 the whole compiler was made available under the boost license after symantec gave permission to re license the back end too 4 41 42 43 on 21 june 2017 the d language was accepted for inclusion in gcc 44 implementations edit most current d implementations compile directly into machine code production ready compilers dmd the digital mars d compiler by walter bright is the official d compiler open sourced under the boost software license 3 4 the dmd frontend is shared by gdc now in gcc and ldc to improve compatibility between compilers initially the frontend was written in c but now most of it is written in d itself self hosting the backend and machine code optimizers are based on the symantec compiler at first it supported only 32 bit x86 with support added for 64 bit amd64 and powerpc by walter bright bright said in 2020 the biggest project is implementing the d compiler itself in 100 d 45 the backend and almost the entire compiler was ported from c to d for full bootstrapping gcc the gnu compiler collection merged gdc 46 into gcc 9 on 29 october 2018 47 the first working versions of gdc with gcc based on gcc 3 3 and gcc 3 4 on 32 bit x86 on linux and macos 48 was released on 22 march 2004 since then gdc has gained support for additional platforms improved performance and fixed bugs while tracking upstream dmd code for the frontend and language specification 49 ldc a compiler based on the dmd front end that uses llvm as its compiler back end the first release quality version was published on 9 january 2009 50 it supports version 2 0 51 toy and proof of concept compilers d compiler for net a back end for the d programming language 2 0 compiler 52 53 it compiles the code to common intermediate language cil bytecode rather than to machine code the cil can then be run via a common language infrastructure cli virtual machine the project has not been updated in years and the aut...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)
  • Wikipedia
  • The Free Encyclopedia
  • Wikimedia Foundation
  • Powered by MediaWiki

Verified site has: 358 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-105 106-110 111-115 116-120 121-125 126-130 131-135 136-140 141-145 146-150
151-155 156-160 161-165 166-170 171-175 176-180 181-185 186-190 191-195 196-200
201-205 206-210 211-215 216-220 221-225 226-230 231-235 236-240 241-245 246-250
251-255 256-260 261-265 266-270 271-275 276-280 281-285 286-290 291-295 296-300
301-305 306-310 311-315 316-320 321-325 326-330 331-335 336-340 341-345 346-350
351-355 356-358


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 301 Moved Permanently
content-length 0
location htt????/en.wikipedia.org/wiki/D_(programming_language)
server HAProxy
x-cache cp6011 int
x-cache-status int-tls
connection close
HTTP/2 200
date Tue, 22 Sep 2026 13:14:49 GMT
server mw-web.eqiad.main-56fc7846fc-6lb9p
x-content-type-options nosniff
content-language en
accept-ch
reporting-endpoints csp-report-to-endpoint= /w/api.php?action=cspreport&format=json ;
content-security-policy script-src unsafe-eval blob: self meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost htt????/localhost:* htt???/localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org unsafe-inline auth.wikimedia.org; default-src self data: blob: upload.wikimedia.org thumb.wikimedia.org htt????/commons.wikimedia.org meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost htt????/localhost:* htt???/localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org en.wikibooks.org en.wikinews.org en.wikiquote.org en.wikisource.org en.wikiversity.org en.wikivoyage.org en.wiktionary.org www.mediawiki.org commons.wikimedia.org foundation.wikimedia.org incubator.wikimedia.org species.wikimedia.org wikimania.wikimedia.org www.wikidata.org www.wikifunctions.org auth.wikimedia.org; style-src self data: blob: upload.wikimedia.org thumb.wikimedia.org htt????/commons.wikimedia.org meta.wikimedia.org *.wikimedia.org *.wikipedia.org *.wikinews.org *.wiktionary.org *.wikibooks.org *.wikiversity.org *.wikisource.org wikisource.org *.wikiquote.org *.wikidata.org *.wikifunctions.org *.wikivoyage.org *.mediawiki.org mediawiki.org wikimedia.org *.wmflabs.org *.wmcloud.org *.toolforge.org wss://*.toolforge.org *.jsdelivr.net unpkg.com cdnjs.cloudflare.com raw.githubusercontent.com *.github.com code.jquery.com cdn.mathjax.org use.typekit.net fonts.cdnfonts.com use.fontawesome.com i.ytimg.com rsms.me doi.org localhost htt????/localhost:* htt???/localhost:* wss://localhost:* ws://localhost:* *.google.com *.gstatic.com *.googleapis.com *.translate.yandex.net yastatic.net ya.ru radically.github.io cdn.sammdot.ca cdn.fontshare.com viaf.org publicai-proxy.alaexis.workers.dev iiif.archive.org api.flickr.com live.staticflickr.com api.anthropic.com api.openai.com api.publicai.co catalogo.pusc.it parsifal.urbe.it opac.sbn.it overpass-api.de api.openrouteservice.org archive.org *.openstreetmap.org *.waymarkedtrails.org *.thunderforest.com registry.ipe.wiki analytics.ipe.wiki qlever.dev app.goacoustic.com wikipedia-archive.ourworldindata.org api.inaturalist.org inaturalist-open-data.s3.amazonaws.com validator.w3.org db.onlinewebfonts.com fontlibrary.org unsafe-inline ; object-src none ; report-uri /w/api.php?action=cspreport&format=json; report-to csp-report-to-endpoint
last-modified Tue, 22 Sep 2026 11:36:50 GMT
content-type text/html; charset=UTF-8
content-encoding gzip
age 33709
accept-ranges bytes
x-cache cp6002 hit, cp6009 hit/1
x-cache-status hit-front
strict-transport-security max-age=106384710; includeSubDomains; preload
report-to group : wm_nel , max_age : 604800, endpoints : [ url : htt????/intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0 ]
nel report_to : wm_nel , max_age : 604800, failure_fraction : 0.05, success_fraction : 0.0
set-cookie WMF-Last-Access=22-Sep-2026;Path=/;HttpOnly;secure;Expires=Sat, 24 Oct 2026 12:00:00 GMT
set-cookie WMF-Last-Access-Global=22-Sep-2026;Path=/;Domain=.wikipedia.org;HttpOnly;secure;Expires=Sat, 24 Oct 2026 12:00:00 GMT
set-cookie WMF-DP=5a0;Path=/;HttpOnly;secure;Expires=Wed, 23 Sep 2026 00:00:00 GMT
x-client-ip 5.135.42.194
cache-control private, s-maxage=0, max-age=0, must-revalidate, no-transform
vary Accept-Encoding,X-Subdomain,Cookie,Authorization,User-Agent
set-cookie GeoIP=FR:::48.86:2.34:v4; Path=/; secure; Domain=.wikipedia.org
set-cookie NetworkProbeLimit=0.001;Path=/;Secure;SameSite=None;Max-Age=3600
set-cookie WMF-Uniq=xZ0XXATKHtEIcz1ma_-V4QPjAAAAAFvdo3RTgw5QIliQuxhYG6ei2tM1sy2NZS87;Domain=.wikipedia.org;Path=/;HttpOnly;secure;SameSite=None;Expires=Wed, 22 Sep 2027 00:00:00 GMT
content-length 82667
x-request-id 2f124497-dac7-4819-9753-bcb7ae982786
x-analytics
server-timing cache;desc= hit-front , host;desc= cp6009 ,co_id;desc= 2001229253

Meta Tags

title="D (programming language) - Wikipedia"
charset="UTF-8"
name="ResourceLoaderDynamicStyles" content=""
name="generator" content="MediaWiki 1.47.0-wmf.20"
name="referrer" content="origin"
name="referrer" content="origin-when-cross-origin"
name="robots" content="max-image-preview:standard"
name="format-detection" content="telephone=no"
property="og:image" content="htt????/thumb.wikimedia.org/wikipedia/commons/thumb/2/24/D_Programming_Language_logo.svg/1280px-D_Programming_Language_logo.svg.png?utm_source=en.wikipedia.org&utm_campaign=index&utm_content=thumbnail"
property="og:image:width" content="1200"
property="og:image:height" content="910"
name="viewport" content="width=1120"
property="og:title" content="D (programming language) - Wikipedia"
property="og:type" content="website"
property="mw:PageProp/toc" id="mwSg" data-mw='{"autoGenerated":true}'

Load Info

page size501853
load time (s)0.13109
redirect count1
speed download631045
server IP 185.15.58.224
* all occurrences of the string "http://" have been changed to "htt???/"