D is a systems programming language with C-like syntax and static typing. It combines efficiency, control and modeling power with safety and programmer productivity. The language was developed originally by Walter Bright and Andrei Alexandrescu since D version 2.

D is the culmination of decades of experience implementing compilers for many diverse languages and has a large number of unique features:

  • high level constructs for great modeling power
  • high performance, compiled language
  • static typing
  • evolution of C++ (without the mistakes)
  • direct interface to the operating system API's and hardware
  • blazingly fast compile-times
  • allow memory-safe programming (SafeD)
  • maintainable, easy to understand code.
  • short learning curve (C-like syntax, similar to Java and others)
  • compatible with C application binary interface
  • multi-paradigm (imperative, structured, object oriented, generic, functional programming purity, and even assembly)
  • built-in error prevention (contracts, unittests)

The D Language Foundation is the organization devoted to developing and advancing the D language.

Help us explain this better! File a GitHub issue at https://github.com/exercism/d/issues if you have suggestions, or submit a patch with improvements to the https://github.com/exercism/d/blob/master/docs/ABOUT.md file.

Try It!

If you've downloaded the command-line client and have D installed on your machine, then go ahead and fetch the first problem.

exercism fetch d

In order to be able to submit your solution, you'll need to configure the client with your Exercism API key.

exercism configure --key=YOUR_EXERCISM_KEY

When you've written a solution, submit it to the site. You'll have to configure the command-line client with your exercism API key before you can submit.

exercism submit PATH_TO_FILE