Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

D: un nuevo lenguaje de programación

D es un lenguaje de propósito general y para aplicaciones. Es de alto nivel pero retiene la capacidad de escribir código de alto desempeño y...

d-00

D es un lenguaje de propósito general y para aplicaciones. Es de alto nivel pero retiene la capacidad de escribir código de alto desempeño y poderlo ligar directamente con el API del sistema operativo y el hardware del equipo. D es una buena opción para escribir programas medianamente grandes a algunos de gran escala, con millones de líneas de código, escritos por un grupo de desarrolladores. D -dicen los creadores- es fácil de aprender y da muchas posibilidades y ayudas al programador. Tiene además una optimización agresiva en el compilador.

D no es un lenguaje de scripts o interpretado. No tiene una máquina virtual como Java, por ejemplo. No es una religión ni una filosofía de vida. Es un lenguaje práctico para los programadores prácticos que necesitan sacar el trabajo rápidamente, con código entendible y mantenible fácilmente. Es, dicen, la culminación de décadas de experiencia implementando compiladores para diversos lenguajes e intentando construir proyectos grandes usando estos lenguajes. D obtiene su inspiración en C++.

Pero… ¿por qué necesitaríamos un nuevo lenguaje? La industria del software ha tenido un largo camino desde que el lenguaje C fue inventado. Muchos conceptos se añadieron a C++, pero manteniendo la compatibilidad hacia atrás con C. Con ello también se mantenía la compatibilidad con sus debilidades, por decirlo de algún modo. Y aunque C y C++ están en constante revisión, cada nueva característica debe ponerse cdon mucho cuidado para ser compatible con las estructuras existentes sin requerir reescribir código antiguo. El resultado es complicado: El C estándar tiene cerca de 500 páginas y C++ tiene unas 750. Es costoso y difícil escribir hoy en día programas en C++ que sean portables a otros sistemas operativos.

La cuestión es si es posible extraer el poder y capacidades de C++, rediseñarlas y ponerlas en un lenguaje simple, ortogonal y práctico. ¿Puede ponerse todo en un paquete que es fácil para los escritores de compiladores implementar correctamente, lo cual permitiría a los compiladores generar código agresivamente optimizado? Ésa es una de las pretensiones de este nuevo lenguaje D.

Waltr Bright es el creador de D, en el cual empezó a trabajar en 1999. D salió públicamente en diciembre del 2001, y alcanzó la versión 1.0 en enero del 2007. La primera versión del lenguaje (D1) se concentró en ser imperativo, orientado a objetos y con paradigmas de metaprogramación, similar a C++. Sin embargo, no estaba satisfecho con Phobos, el módulo de tiempo de ejecución de D, así como la biblioteca estándqar, por lo que la comunidad de D creó una alternativa llamada Tango. El primer anuncio oficial de Tango salió días después de la versión 1.0 de D. Tango adopta un estilo de programación diferente, apoyando la programación orientada a objetos y la alta modularidad. Siendo un proyecto comunitario, Tango estaba más abierto a contribuciones de terceros, permitiendo que se progresará más rápidamente que con la librería estándar. Ya para entonces, Tango y Phobos eran incompatibles y no se podían usar las dos bibliotecas al mismo tiempo. Esto ha llevado a una disputa entre los que apoyan una u otra biblioteca.

En junio del 2007, la primera versón de D 2.0 salió públicamente. D2 introdujo cambios interesantes en el lenguaje y añadió conceptos que ahora están en boga: closure, purity, así como soporte a los paradigmas de la programación concurrente y funcional. D2 resolvió el problema de las bibliotecas estándar separando el módulo de ejecución en tiempo real de la biblioteca estándar. D2 Tango se anunció en febrero del 2012.

Y siguiendo con la tradición, Andrei Alexandrescu sacó el libro: “The D Programming Language” en junio del 2010, lo que marcó la estabilización del lenguaje, el cual se le conoce genéricamente como lenguaje D.

D es de código abierto y evidentemente podría ser un contendiente en esta batalla por hacer el mejor lenguaje de desarrollo.

Referencias:

D Language

Comentarios