D (lenguaje de programación)

Se origina como un rediseño de C++, con un enfoque más pragmático, pero no es un lenguaje puramente derivado del anterior.

D ha mantenido algunas características de C++ y también está influido por otros conceptos de otros lenguajes como Java, C# y Eiffel.

El siguiente ejemplo es una función regular que calcula el producto factorial de un número: Aquí, se muestra el uso de la palabra reservada static for (la construcción iterativa en tiempo de ejecución en D), para construir una plantilla que es capaz de realizar el mismo cálculo: En los siguientes dos ejemplos, la plantilla y la función definidas arriba se utilizan para calcular factoriales.

En este caso, produce una sucesión de índices (i) y valores (arg) desde el arreglo args.

El diseño está virtualmente congelado, y nuevos lanzamientos se concentran en resolver bugs existentes.

D todavía no está soportado en muchos entornos de desarrollo, lo cual es un problema esencial para muchos usuarios.

Editores que pueden ser usados incluyen a Entice Designer, emacs, vim, SciTE y Zeus entre otros.

Aplicaciones escritas en D pueden ser depuradas con cualquier depurador de C o C++, como GDB o WinDbg, aunque soporte para varias características fundamentales de D es limitado.

El depurador comercial ZeroBUGS para Linux tiene soporte experimental para D. Ddbg puede ser usado con varios IDEs o desde la línea de comandos, ZeroBUGS tiene su propia interfaz gráfica.

Un ejemplo es el opIndex, que sufre porque D no permite regresar referencias.

La solución parcial de D es el operador opIndexAssign, que solo repara casos donde la expresión indexeada es solo un valor L como obj[i] = 5 pero no los casos originales.

Bibliotecas compartidas ELF de Unix son soportadas hasta un punto usando el compilador GDC.