Lenguaje de programación D
Keywords: Lenguaje de programación D, 1995, Compilación, Compilador, Código fuente, Código objeto, Enlazado, Español
- Ha habido diversos lenguajes de programación llamados D. El que se presenta en este artículo es el recientemente desarrollado por Walter Bright.
D es un nuevo lenguaje de programación de uso general desarroyado por Walter Bright cuya primera version aparecio 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 del alto rendimiento y de interconectar directamente con él los APÍs de un sistema operativo o el hardware. Ademas 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 de scripting, ni interpretado. Es un lenguaje práctico para programadores que necesitan conseguir un trabajo finalizado rápidamente, con un código fácil de entender.
Nada menos que 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, de las cuales vamos a hacer un pequeño repaso a continuación. Al contrario de lo que pasa con Java o C#, estas características no suponen una perdida 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
Entre otras. Para informacion avanzada consultar enlaces externos.
| Tabla de contenidos |
Ventajas e inconvenientes
- Ventajas:
- Lenguaje mas intuitivo y facil 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 (sistema que ya lleva Java que libera la memoria dinámica cuando ya no se necesita, con posibilidad de desactivarlo).
- Elimina parte de la complejidad de sintaxis de C++.
- Gestión automática de memoria (recolección de basura).
- Inconvenientes:
- Aun esta algo inmaduro en relacion con lo que sera. (versión 0.82)
- Poca documentacion existente hasta ahora.
- Se echan en falta compiladores de D.
Proceso de compilación
La compilación de un programa D se realiza en varias fases que normalmente son automatizadas y ocultadas por los entornos de desarrollo:
- Preprocesado consistente en modificar el código fuente en D según una serie de instrucciones (denominadas directivas de preprocesado) simplificando de esta forma el trabajo del compilador. Por ejemplo, una de las acciones más importantes es la modificación de las inclusiones (
#include) por las declaraciones reales existentes en el fichero indicado. - Compilación que genera el código objeto a partir del código ya preprocesado.
- Enlazado que une los códigos objeto de los distintos módulos y bibliotecas externas (como las bibliotecas del sistema) para generar el programa ejecutable final.
Ejemplo de Código D
Sigue el clásico ejemplo "Hola Mundo!" en D:
#include <stdio.h> /* Entrada / salida estándar */
int main(int argc, char* argv[])
{
printf("¡Hola, Mundo!\n");
return 0;
/* Como se puede apreciar,en este ejemplo no se diferencia en absoluto
de c++, esto es debido a que como ya se ha dicho,D es una evolucion mas
que un nuevo lenguaje */
}
Enlaces externos
- REDIRECT Plantilla:Lenguajes de programación
