51
D es un lenguaje con sintaxis tipo C y escritura estática.Combina pragmáticamente la eficiencia, el control y la potencia de modelado, con la seguridad y la productividad del programador.La conveniencia D permite escribir fragmentos de código grandes sin especificar tipos de forma redundante, al estilo de lenguajes dinámicos.Sin embargo, la inferencia estática deduce tipos y otras propiedades de código, dando lo mejor de los mundos estático y dinámico.La administración automática de memoria crea un código seguro, simple y robusto.D también admite la gestión de recursos con ámbito (también conocido como modismo RAII) y las declaraciones de alcance para el código transaccional determinista que es fácil de escribir y leer.Las matrices, cortes y rangos lineales y asociativos incorporados hacen que la programación diaria sea simple y agradable para tareas pequeñas y grandes.... Poder El mejor paradigma es no imponer uno a expensas de los demás.D ofrece polimorfismo clásico, semántica de valores, estilo funcional, genéricos, programación generativa, programación por contrato y más, todo integrado armoniosamente.D ofrece un enfoque innovador para la concurrencia que presenta datos verdaderos inmutables, transmisión de mensajes, no se comparte de manera predeterminada y el uso compartido mutable controlado a través de hilos.Desde simples guiones hasta grandes proyectos, D tiene la amplitud para escalar con las necesidades de cualquier aplicación: pruebas unitarias, ocultación de información, modularidad refinada, compilación rápida, interfaces precisas.Eficiencia D compila naturalmente a código nativo eficiente.D está diseñado de tal manera que el código más "obvio" es rápido y seguro.En ocasiones, una función puede necesitar escapar de los límites de la seguridad de tipos para lograr la máxima velocidad y control.Para casos tan raros, D ofrece punteros nativos, conversiones de tipos, acceso a cualquier función de C sin ninguna traducción intermedia e incluso ensamblador en línea.Los atributos modulares @safe, @trusted y @system permiten al programador decidir mejor las compensaciones de seguridad / eficiencia de una aplicación en particular y hacer que el compilador verifique la coherencia.