2009-09-24 11 views
8

He intentado encontrar información sobre D. Me gusta especialmente este comparison con C++ para obtener una visión general de lo que es. Ahora me pregunto: ¿con qué frecuencia D se usa en el campo, y qué tan viable es la alternativa a C++?Uso de D en el campo

+5

Creo que este es el tipo de "pregunta" que necesita ser wiki de la comunidad para no ser cerrado. – unwind

+1

Las preguntas estrechamente relacionadas incluyen: http://stackoverflow.com/questions/743319/why-isnt-the-d-language-picking-up y http://stackoverflow.com/questions/250511/does-the-d- programming-language-have-a-future –

+2

Creo que la mayoría de los programadores de C++ están muy contentos con C++ 0x. Por supuesto, la sintaxis no es ideal, * ¿y qué? Los programadores de C + están, más que nadie, acostumbrados a eso. El problema con D es que no es una alternativa viable. Todavía no es lo suficientemente estable o estandarizado, no es lo suficientemente compatible, no es compatible con los millones de líneas de código C++ que ya puede tener. Y, sinceramente, si la compatibilidad con el código C++ existente no es un requisito, hay mucho mejores idiomas que * cualquier cosa * en la familia C. – jalf

Respuesta

8

Creo que D es un gran lenguaje, pero lo que la gente podría impedir usar es que es (afaik) no compatible con las bibliotecas de C++. Entonces, todas las bibliotecas que puede usar tienen que estar escritas en C o D. Entonces, si usted es un desarrollador de C++, cambiar a D no es tan divertido.

+1

D2 tendrá compatibilidad limitada con las bibliotecas C++. http://digitalmars.com/d/2.0/cpp_interface.html Además, si tiene envoltorios de C alrededor de esas bibliotecas, D es totalmente compatible con C ABI. – dsimcha

+0

¿por qué es motivo de especial preocupación? ¿Cuáles son las bibliotecas que son incompatibles y por qué D no proporciona las suyas? –

+1

Dado que D enfatiza que debería ser simple implementar el lenguaje, así que para mantener la complejidad baja, no es compatible con todo en C++ (que es sintácticamente un lenguaje muy complejo) porque eso significaría prácticamente tener un compilador de C++ en la D compilador. Esto reduce el número de bibliotecas con las que se puede interconectar, y no hay una lista de cuáles funcionan y cuáles no. D no proporciona el suyo porque todavía es joven; solo salió en 2007, mientras que C++ ha tenido décadas para acumular bibliotecas. –

4

El principal impedimento para el amplio uso de D es la falta de un IDE de primera clase (como VS), conjuntos de herramientas inmaduras y bibliotecas. El problema IDE está mejorando con Descent y se espera/planea que una vez que D versión 2 salga, las dos bibliotecas se fusionarán. El tema de las herramientas también está mejorando, pero más lentamente. (IIRC ha habido algún progreso últimamente en obtener soporte D en el GDB oficial)

+0

seguramente un punto importante. –

+0

Si le gusta Visual Studio, D ahora puede ser [una opción para usted] (http://dsource.org/projects/visuald). – Justin

1

Para mí, el mayor problema de D'es la falta de un respaldo corporativo fuerte o el software "joya de la corona" que lo utiliza. Java tenía Sun. C tenía Bell Labs y tenía Unix escrito temprano. C++ tenía AT & T y luego Microsoft. C# tiene Microsoft.

+0

No es así. El sello distintivo de los programadores es que son flojos. Ir a D es mucho trabajo sin la compatibilidad con C++. – Calyth

+3

Yo tampoco estoy de acuerdo. ¿Qué hay de Python? No tenía un "respaldo corporativo" y ahora está en los 10 idiomas principales (tal vez incluso entre los 5 principales según lo que esté contando). – Jyaan

3

No lo veo demasiado usado a mi alrededor (computación científica). D podría ser una alternativa viable para muchos casos en computación científica donde C++ se usa ahora. Para mí personalmente, hay dos cosas que me impiden usarlo:

  • No hay especificaciones D2 estables todavía. D2 y D2 Phobos está a la par (y posiblemente mejor) que C++ y el STL. D1 Phobos, sin embargo, ni siquiera está cerca de un reemplazo. Pero dado que D2 sigue siendo un objetivo en movimiento, puede que todavía no sea adecuado para los programas.
  • Falta un compilador D2 que admita x86_64. Esto es absolutamente problemático para mi campo, ya que los conjuntos de datos han crecido tanto que necesita más de 4 GB de memoria para procesar datos de manera eficiente, y las máquinas de 64 GB se han convertido en algo común.

Si se resuelven estos dos problemas, consideraré seriamente D en el futuro además de OCaml y Haskell.

Cuestiones relacionadas