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.