D is a general-purpose programming language with static typing, systems-level access, and C-like syntax.
A great post about how D is suitable for data science, particularly, replacing the role of python scripts for fast prototyping.
An article talking about several useful functions and templates in Phobos.
By Walter Bright, Andrei Alexandrescu, Michael Parker. The history and development of D language.
A study about porting a minimal D runtime to ARM Cortex-M preprocessors.
An article that explains the design principles behind D's purity feature.
building a bare metal ARM Cortex-M (arm-none-eabi) GDC cross compiler for a Linux host.
kernel hello world in D (using GDC compiler)
another kernel hello world in D (using LDC compiler)
an exokernel operating system written in D. Main page, github.
A feed of news and blog posts about D.
Official blog.
A great blog for many useful idioms with D programming.
Simple examples of how to use GtkD to build GUI applications.
A repository of co-authored D-specific blogs maintained by Vladimir Panteleev.
A blog about learning the D programming language and various D language trivia.
A weekly overview of activity in the D community and brief advice columns to help you get the most out of the D Programming Language.
A recipe-packed reference guide filled with practical tasks that are concisely explained to develop and broaden the user's abilities with the D programming language. by Adam D. Ruppe. Here is an interesting review of the book.
Whether you are new to the world of D, or already have developed applications in D, or if you want to leverage the power of D for web development, then this book is ideal for you.
This book is intended for those with some background in a C-family language who want to learn how to apply their knowledge and experience to D. (...) This book will help you get up to speed with the language and avoid common pitfalls that arise when translating C-family experience to D.
A very detailed book about programming in D by Ali Çehreli covering many areas of the language. Has a free online version and is suitable for beginners.
The D Programming Language* by Andrei Alexandrescu.
A universal build system to build your software at the push of a button.
CMake D Projects
Fast incremental build tool intended for projects in D
De facto official package and build management system for D. Will be included officially soon.
Makefile template for D projects
Premake has built-in support for D projects
meta build system in D
Scons has built-in support for building D projects, thanks to Russel Winder.
Wild build system, used to build the PowerNex kernel
A highly flexible recipe build system inspired by Make
XMake is a crossplatform build system, that incorporated the D language and also has support for DUB repositories.
A literate programming tool for any language.
#1 Free OneDrive Client for Linux.
Todod is a command line based todo list manager. It also has support for shell interaction based on linenoise.
Fast file sharing from cli, using transfer.sh.
A processor for command-line arguments, an alternative to Getopt, written in D.
Flexible parser of command line arguments.
A command line and config file parser for DLang
A modern, powerful commmand line argument parser.
A port of the ruby library colorize. It add some methods to set color, background color and text effect on console easier using ANSI escape sequences.
A D implementation of the expect framework. Handy for bash emulation.
simple easy-to-use colorful logger for command-line applications
A command-line fuzzy finder.
Utility library to aid writing script-like programs in D.
Part of Adam Ruppe's arsd library supporting cursor and color manipulation on the console.
The reference compiler for the D programming language. Stable, builds insanely fast, very good for learning and rapid prototyping/development. Currently the frontend is implemented in D, and shared between dmd, ldc and gdc, the backend is implemented in C++.
GNU D Compiler. Use DMD frontend and GCC backend. Currently targets the most platforms due to the use of GCC. Generated code runs faster than DMD in most cases, on par with LDC. In the process of integration with the official GCC toolchain.
The LLVM-based D compiler. Uses the DMD frontend and LLVM backend. Builds slower than dmd, but generates more optimized code than DMD. It supports all the target platforms of LLVM.
Cache oriented string based JSON representation for fast read & writes and serialisation.
Serialisation library for D
arsd - an xml/html DOM based on what Javascript provides in browsers
Google Protocol Buffer support in D.
A library for D that aims to provide the fastest possible implementation of some every day routines.
Successor of std.experimental.xml. DOM compatible, and also has a SAX parser.
General purpose serializer (currently only supports XML)
Convert between D types and std.json.
Phobos candidate for JSON serialization (based on Vibed)
Phobos candidate for a XML serialization
D's standard library JSON module. Needs refinement.
JSON functions in Vibe.d. Currently the best implementation I used.
Adam D. Ruppe's library; in addition to a Web backend, it also has support for database access with database.d, sqlite.d, mysql.d and postgres.d.
Database access for D2. Currently only supports PostgreSQL.
DDBC is a DB Connector for D language (similar to JDBC). HibernateD (see below) uses ddbc for database abstraction.
An ORM for D with Vibe support. Works with vibe.d and mysql-d, giving it the ability to access MongoDB and MySQL.
HibernateD is an ORM for D (similar to Hibernate).
INteract with a PocketBase database
A MySQL client implemented in native D.
Redis driver for D. Fast, Simple, Stable. Has no dependencies.
Vibe.d has internal support for Redis and MongoDB, which are very stable. Soon, the database drivers will be separated into independent projects.
Cross Platform GUI for D programming language. My personal favorate, because it is written in D(not a binding), and is cross platform. DLangUI also has a good showcase in the IDE DLangIDE.
Qt Qml bindings for the D programming language.
A declarative cross-platform user interface library for D.
GObject Introspection D Package Repository.
GtkD is a D binding and OO wrapper of GTK+. GtkD is actively maintained and is currently the most stable GUI lib for D.
D bindings for the Sciter - crossplatform HTML/CSS/script desktop UI toolkit.
GUI toolkit for the D programming language based on Tcl/Tk.
Audio library
Cross-Platform renderer
Bindings compatible with `-betterC` and `@nogc`, using bindbc-loader.
Vector graphics
D binding/wrapper to Allegro 5, a modern game programming library.
Bindings, now largely outdated. BindBC is its modern successor.
Image library
A static binding of SFML in a way that makes sense for D. See .
Networking library
Image loading
Font rendering
Window/Input library
D language bindings for the Godot Engine's GDNative API.
Text shaping
Immediate mode GUI
Gamepad/Gyro input
UI widget toolkit
Audio codec
PostgreSQL library
Video codec
Audio codec
Scripting language
Messaging library
Vector graphics
Physics library
Immediate mode GUI
Physics library
Audio library
Graphics API
Graphics API
Virtual file system
D bindings for raylib.
Game library
Multimedia library
Drawing primitives for SDL2
Multimedia library
D bindings for the sokol headers.
Audio library
Modern GPU API
Fast compression
3D game engine for D. See:
D gamedev toolkit.
Cross Platform D-Lang Game Engine with scripting support.
Games math library for D.
A delightfully simple 2D game engine.
2D graphics engine written in D.
lightweight, expressive, extensible 2D/3D game engine.
Plugin-based client-server voxel game engine written in D language.
A cute visual novel about looking at an egg.
A Backgammon GUI for Linux built with Gtk.
Clean a spooky haunted house.
Robot Tank Battle Game.
FPS game with physics based puzzles using OpenGL.
An endless runner game where you help cute animals.
A 3d multiplayer deathmatch space game written in D 2.0.
A bite-sized escape room game.
generic data structures (GC-free dynamic and associative arrays and more)
Containers that do not use the GC
Overhead allocators, allocator-aware containers and lifetime management for D objects
A reference counted string implementation for D's build in string construct
Another very active community for D conversations and question.
Examples of how to do many basic things in D.
Less traffic than forums but possibly easier to search.
Highest traffic site for answering D questions.
\[open-vsx\] - Visual Studio Code extension using serve-d
Independent auto-complete program for the D programming language. Could be used with editors like vim, emacs, sublime text, textadept, and zeus. See editors support.
IDE for the D programming language, its compilers, tools and libraries.
Vim plugin that integrates various D development tools
Atom extension for D using serve-d
Support for the D programming language within IntelliJ IDEA.
Language Server Protocol (LSP) implementation for D. Adds modern IDE features to any editor with LSP support (VSCode, Atom, Vim/Neovim and others)
Visual Studio extension for the D programming language.
Vladimir Panteleev's ae library has a package for image processing in functional style, which is described in the article Functional Image Processing in D.
A simple Windows app for viewing photos and preparing them for a blog.
bmp.d, jpg.d, png.d - basic color struct, HSL functions and reading and writing image files
image processing (8 and 16 bits per channel, floating point operations, filtering, FFT, HDRI, graphics formats support including JPEG and PNG)
Unofficial OpenCV binding for D
Compile-Time Parser (with converter) Generator written in D.
LALR(1) Parser Generator written in D.
Goldie Parsing System.
A D language lexer and parser, (possibly) future standard D parser/lexer.
A lexer generator.
A D parser written in C# and used in Mono-D.
A Parsing Expression Grammar (PEG) module written in D.
bindbc bindings to Microsoft's cross-platform, high performance ML inferencing and training accelerator
Autograd and GPGPU library for dynamic neural networks in D
Tensorflow wrapper for D
Nexflix's opensource deep learning framework.
Official blog.
Offical Library/Module Registry for D.
Official website for D.
Official forum. Many interesting discussions occurring on a daily basis.
Official GitHub organization for D. Repo for all official D tools & code.
Official issue tracking/reporting system for D. If you find bugs in the D compiler and/or libraries, please come and report them!
D programming language specification.
Official Wiki for D.
We are a group of game developers at Rochester Institute of Technology building games and game tech. Hosts Dash, a 3D game engine written in D, and other related libs.
Official Organization, hosts DMD, Phobos and other official tools and libs.
A GitHub organization hosting all Derelict bindings including OpenGL and other multimedia/game related library bindings. (OpenGL 3, Bgfx, ENet, SDL 2, GLFW 3,OpenGLES, Free Image, Assimp3, libtheora, libogg, libvorbis, SFML 2, libpq, PhysicsFS, Open Dynamics Engine, Lua, DevIL, OpenAL, ALURE).
A focal point and first port of call for scientific libraries and tooling for D.
A Career building company that uses D as their main language. Hosts their opensource projects.
A technology group using DLang. Have pure D language implementation of quickly develop server-side applications and build distributed system services.
Infognition is a self-funded and self-sustained company specializing in video processing and compression technologies for end-users and developers. They provide several opensource video related applications & tools written in D, hosted on bitbucket. They are also porting their main product--Video Enchanser from C/C++ to D.
LDC releated projects.
D's numeric library development team
Berlin based company specializing in real-time bidding for online advertising. Main sponsor of the annual D language conference. Has open-sourced large parts of their codebase as part of the tsunami organization.
Symmetry Investments LP is an investment management company with approximately US$4.7 billion in assets under management as of 31 December 2018. Main sponsor of the Symmetry Autumn of Code. Have sponsored the development of excel-d, dpp, autowrap, mir-algorithm, and various other projects.
C++ guru. Author of *The D Programming Language* and *Modern C++ Design*. With Walter Bright, Andrei co-designed many important features of D and authored a large part of D's standard library. Andrei works as a trainer in advanced C++ programming and algorithms and is now actively evangelizing D in the organization.
Deputy Leader of D.
Father of D. Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages.
bindbc MeCab binding (Part-of-Speech and Morphological Analyzer for Japanese)
Decimal library for D.
A statistics library for D.
Sandbox for some mir packages: sparse tensors, Hoffman and others.
N-dimensional arrays (matrixes, tensors), algorithms, general purpose library.
Advanced Random Number Generators.
Scientific library for the D programming language
An article written by Walter Bright that details how D's functional support leads to a flexible and beautiful component programming style.
A detailed blog post about how to do component programming in a idiomatic D way with ranges, with a full working example.
D metaprogramming tutorial series
A tutorial dedicated to D Templates. Very good explanation about templates. Has pdf version. by Philippe Sigaud.
Series of tutorials covering basic to advanced features of the D programming language and standard library.
A very interesting tutorial about writing an image processing lib in D. Shows the power of D's templates/CTFE/Ranges/UFCS for functional style programming.
A video series on learning game development with D from Ki Rill. His channel also posts other videos related to D programming.
OpenGL tutorials in D.
This is a pragmatic introduction to the D Programming Language. by Andreas Zwinkau.
An introductory video series about programming in D.
An interactive tutorial for D, inspired by Golang Tour.
An asynchronous event-driven network framework written in dlang, like netty framework in D.
Advanced unit testing & mocking toolkit
A library for creating cross-platform GUI applications. GWT is a port of the Java SWT library to D. DWT was promoted as a semi-standard GUI library for D, but unfortunately didn't catch up popularity yet.
D Programming Language implementation of the google flatbuffers library.
Grpc for D programming language, hunt-http library based.
A refined core library for D programming language. The module has concurrency / collection / event / io / logging / text / serialize and more.
Hunt is a high-level D Programming Language Web framework that encourages rapid development and clean, pragmatic design. It lets you build high-performance Web applications quickly and easily.
D language universal cache library, using radix, redis and memcached.
Hunt console creation easier to create powerful command-line applications.
Hunt database abstraction layer for D programing language, support PostgreSQL / MySQL / SQLite.
Hunt entity is an object-relational mapping tool for the D programming language. Referring to the design idea of JPA, support PostgreSQL / MySQL / SQLite.
A Apache V2 gossip protocol implementation for D programming language.
HTTP/1 and HTTP/2 protocol library for D.
High-performance network library for D programming language, event-driven asynchonous implemention(IOCP / kqueue / epoll).
A time library and similar to Joda-time and Java.time api.
A data validation library for DLang based on hunt library.
Fast and light, flatbuffers based rpc framework.
Dynamic Binding for libui
A lightweight, language-independent, featureful RPC framework. Thrift provides clean abstractions for data transport, data serialization, code generation, and application level processing. Apache Thrift Page
Adam D. Ruppe's web framework.
A component library for Vibe that functions as a CMS.
HTTP client library inspired by python-requests
A static site generator with a different approach.
A simple, lightweight, and well-documented HTTP server that lets you bootstrap ideas and have something up and running in minutes.
A very newbility RPC Library for D, and it support 25+ languages now.
Cross-platform event loop library of asynchronous objects
HTTP/2 library in D, translated from nghttp2
Small and ready-to-go http server, in D
Asynchronous I/O Web Framework that doesn’t get in your way, written in D.