Skip to content
Language reviews: D
Profile icon

Language review: D

Big, fat D

D is a general-purpose programming language with static typing, systems-level access, and C-like syntax. With the D Programming Language, write fast, read fast, and run fast.

It's pretty much C+++ (C++)+

It's strongly, statically typed, has safe pointer usage, built in unit tests, and more.

It was made by Walter Bright in 1999, with the first public version in 2001, and 1.0 in 2007.

Some code examples:

(Compute average line length for stdin)

void main() { import std.range, std.stdio; auto sum = 0.0; auto count = stdin.byLine .tee!(l => sum += l.length).walkLength; writeln("Average line length: ", count ? sum / count : 0); }

(Invoke external program)

void main() { import std.exception, std.stdio, std.process; auto result = ["whoami"].execute; enforce(result.status == 0); result.output.write; }

As you can see, D is a very simple, very fast (On par with C++) language, with only a few cons.

  • Phobos (Stdlibs) documentation is hard to understand, unlike Python's or JS'
  • Not a lot of support / documentation for stuff like GUI's
  • No native Replit support yet. (Use this template)

However, not is all bad

Some of the gems in D:

  • Built in unit test support:
int sum(int a, int b) return a + b; void main() { unittest { assert add(1, 1) == 2; assert add(1, 1) != 3; } }

Total scores:

Usability: 70% (Lacking in GUI bindings)
Ease of development: 80% (Some strange operators)
Documentation: 50% (Good docs, hard to read)

Total score: 66%

Should you use D?

Yes, unless you are doing GUI work (GTK, QT)

You are viewing a single comment. View All
Profile icon


Profile icon

I have returned from hiatus —read minecraft—, only to enter into another —but I shall return!

Profile icon