viernes, 20 de junio de 2008

Lenguaje de programación D

D es un lenguaje de programación de uso general desarrollado por Walter Bright cuya primera versión apareció en 1995, resultado de décadas de investigación y experiencia de programadores expertos en muchos lenguajes.

Es de un nivel más alto que C++, pero conserva la capacidad de escribir código de alto rendimiento y de interconectar directamente con él los APIs de un sistema operativo o el hardware. Además se comporta bien con programas de gran escala con un millón de líneas, que desarrollan equipos de programadores.

D es fácil de aprender, proporciona muchas funciones para ayudar al programador, y cumple bien con la tecnología agresiva de optimización del recopilador. Es un lenguaje compilado, no interpretado. Es un lenguaje práctico para programadores que necesitan conseguir un trabajo finalizado rápidamente, con un código fácil de entender.

C++ es el lenguaje al que D aspira a sustituir. Es un lenguaje evolucionario, no revolucionario y en un principio puede parecer que no aporta demasiado sobre C++, Pero no son las características generales sino los detalles de las mismas los que marcan la diferencia. En primer lugar D conserva todas las características de expresividad de C++ (cosa que ni C# ni mucho menos Java consiguen en su afán por hacerse lenguajes más accesibles), pero con una sintaxis y unas construcciones mucho más sencillas y lógicas. Además, otro de los puntos fuertes de C++, su rendimiento, también se ve reflejado en D (en algunas ocasiones incluso superado).

Por otro lado D cuenta con muchas otras mejoras e incluso características de las que C++ no dispone, las cuales se enumeran a continuación. Al contrario de lo que pasa con Java o C#, estas características no suponen una pérdida apreciable de rendimiento para D en comparación con C++:

Gestión automática de memoria (recolección de basura)
Delegados, funciones anidadas y funciones literales
Sobrecarga de operadores y propiedades sin sobrecargar al programador
Estructuración: Módulos y paquetes
Propiedades
Programación genérica muy mejorada
Programación por contratos
Mantenibilidad y fiabilidad
Compilación condicional sin sucios preprocesadores
Compatibilidad con C sin cargar con C
Arrays asociativos
Tabla de contenidos [ocultar]
1 Ventajas e inconvenientes
1.1 Ventajas
1.2 Inconvenientes
2 Referencias
3 Enlaces externos



Ventajas e inconvenientes
Ventajas ,Lenguaje más intuitivo y fácil de aprender que C, C++ o Java, con gran cantidad de mejoras respecto a estos.
Compatibilidad con los binarios de C (no C++).
Lenguaje compilado (no se ejecuta en una máquina virtual, como Java).
Garbage collector o recolector de basura (sistema que libera la memoria dinámica cuando ya no se necesita, como Java, pero con posibilidad de desactivarlo si se desea mayor control).
Elimina parte de la complejidad de sintaxis de C++.

Inconvenientes, La única documentación es la especificación oficial.

No hay comentarios: