Difference between revisions of "D"

From RogueBasin
Jump to navigation Jump to search
(Added programming language category)
Line 1: Line 1:
[http://en.wikipedia.org/wiki/D_%28programming_language%29 D Programming Language] Wiki link.
== Introduction ==


(Paraphrased from the [http://www.digitalmars.com/d/ Digital Mars] site) D is a systems programming language focused on combining C++'s high performance with the programmer productivity of modern languages like Ruby and Python.
D is static, compiled language influenced by [[Cpp|C++]]. It was created by Walter Bright, author of the first C++ compiler to compile directly to machine code.


{{stub}}
D has an imperative core, but is a multi-paradigm language that includes support for object-orientated, functional, and generic programming.
 
(NOTE: This article will deal with d2.0, the latest but still-in-development version)
 
== Advantages ==
 
* Fast language, with performance comparable to C++ while still being garbage collected by default.
* Interfaces well with [[C]] libraries, without writing boilerplate or using a foreign function interface, though cannot import headers unmodified - see http://www.digitalmars.com/d/2.0/htomodule.html
* Has a modern module system, no need to write header files or deal with a preprocessor.
* Syntax is familiar to C, C++, [[C_Sharp|C#]], [[Java]] etc programmers.
* Supports the functional programming better paradigm than other C-like languages, with features such as closures, delegates, transitive immutability, higher order functions, anonymous functions, and the ability to write compiler enforced pure functions.
* DMD, the official compiler, is very fast, typically an order of magnitude faster than gcc for C/C++.
 
== Disadvantages ==
 
* Paucity of tools such as IDE's, editor support, debuggers etc compared to more popular languages.
* Documentation is scarce and incomplete (though this is somewhat offset by the knowledgeable community)
* The language is still in development so has some rough edges.
* DMD, the official compiler, has no 64-bit support.
 
== Compilers ==
 
* DMD (official compiler) - http://www.digitalmars.com/d/2.0/dmd-windows.html
*GDC (includes support for 64 bit) - http://bitbucket.org/goshawk/gdc/wiki/Home
 
== Roguelike Libraries ==
 
Bindings for [[libtcod]] - http://code.google.com/p/libtcod-d/
 
== Links ==
 
* [http://www.digitalmars.com/d/ Official Site]
* [irc://irc.freenode.net/d IRC channel]
* [http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage D wiki]
* [http://www.dsource.org/ another dsource]


[[Category:Programming languages]]
[[Category:Programming languages]]

Revision as of 10:20, 25 November 2010

Introduction

D is static, compiled language influenced by C++. It was created by Walter Bright, author of the first C++ compiler to compile directly to machine code.

D has an imperative core, but is a multi-paradigm language that includes support for object-orientated, functional, and generic programming.

(NOTE: This article will deal with d2.0, the latest but still-in-development version)

Advantages

  • Fast language, with performance comparable to C++ while still being garbage collected by default.
  • Interfaces well with C libraries, without writing boilerplate or using a foreign function interface, though cannot import headers unmodified - see http://www.digitalmars.com/d/2.0/htomodule.html
  • Has a modern module system, no need to write header files or deal with a preprocessor.
  • Syntax is familiar to C, C++, C#, Java etc programmers.
  • Supports the functional programming better paradigm than other C-like languages, with features such as closures, delegates, transitive immutability, higher order functions, anonymous functions, and the ability to write compiler enforced pure functions.
  • DMD, the official compiler, is very fast, typically an order of magnitude faster than gcc for C/C++.

Disadvantages

  • Paucity of tools such as IDE's, editor support, debuggers etc compared to more popular languages.
  • Documentation is scarce and incomplete (though this is somewhat offset by the knowledgeable community)
  • The language is still in development so has some rough edges.
  • DMD, the official compiler, has no 64-bit support.

Compilers

Roguelike Libraries

Bindings for libtcod - http://code.google.com/p/libtcod-d/

Links