El futuro lenguaje de programación: “D”

Publicado: julio 7, 2007 en Desarrollo, Ingenieria de Software, Lenguajes de programacion, Programación

“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

Entre otras. Para información avanzada consultar enlaces externos.

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

  • Aún no se considera terminado, por lo que puede haber cambios en la especificación. Sin embargo, ya es lo suficientemente estable como para usarse en entornos de producción, y la versión 1.0 fue lanzada el 2 de enero de 2007.
  • La única documentación es la especificación oficial.
comentarios
  1. wil dice:

    Es tambien para tecnologia .net ?
    donde puedo conseguir el instalador?

  2. pero a que esta enfocado? el futuro es la web no?

    • ErunamoJAZZ dice:

      Si es de propósito general, es orientado a lo que sea.
      Un lenguaje cualquiera puede ser usado para la web si hay una librería bien diseñada que lo aproveche. (Hasta hay sistemas hechos en C++ para generar webs del mismo estilo que RoR o Django)

  3. Ander dice:

    Donde podemos encontrar su insatalador?

  4. iLChopper dice:

    Otro intento de copiar a java….

    fin.

  5. If some one desires to be updated with newest technologies then he must
    be visit this website and be up to date everyday.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s