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
Respuesta
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.
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
¿por qué es motivo de especial preocupación? ¿Cuáles son las bibliotecas que son incompatibles y por qué D no proporciona las suyas? –
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. –
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)
seguramente un punto importante. –
Si le gusta Visual Studio, D ahora puede ser [una opción para usted] (http://dsource.org/projects/visuald). – Justin
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.
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
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
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.
- 1. Uso de constructores con matrices en D
- 2. Anular a! T() para T definida en uso en D?
- 3. Re-uso en el campo alias de instrucción SQL SELECT
- 4. lo que es el uso de "repo -d sincronización" en el repositorio fuente de Android
- 5. Uso de D para programar la interfaz nativa de Java
- 6. En java -D ¿qué significa la D?
- 7. ¿Qué es "-d" en "npm -d install"?
- 8. ¿Cómo abordaría el uso de D en un entorno incrustado en tiempo real?
- 9. Cuándo eliminar en D?
- 10. ¿Cómo uso el nuevo campo 'ByteCompile' en R-2.14?
- 11. Mostrando el teclado virtual de Android cuando un campo es .focus() 'd using javascript
- 12. El uso de la advertencia de eclipse "declaración de campo oculta otro campo o variable"?
- 13. % D campo en los registros de acceso de Apache: primer o último byte?
- 14. Cuál es el caso de uso para la evaluación de tiempo de compilación de D'0
- 15. Liberar recursos en el lenguaje D
- 16. Llamar C++ (C) desde el lenguaje D
- 17. MongoDB: ¿es posible evitar el uso del campo _id automático?
- 18. Y-combinator en D?
- 19. Importación de módulos en D
- 20. Comparación de tiempo en D
- 21. Programación CGI en D
- 22. Fibras sobre subprocesos en D
- 23. QueryPerformanceCounter en D?
- 24. salida equivalente en D?
- 25. Plantilla en programación D
- 26. Plantillas de expresión en D
- 27. Uso forms.TextArea para el campo JSON personalizada en el sitio de administración de Django
- 28. campo Sharepoint LookUp en el campo Elección?
- 29. Cómo vincular bibliotecas D en un programa D
- 30. Diferencia entre: d [count] y d [count]
Creo que este es el tipo de "pregunta" que necesita ser wiki de la comunidad para no ser cerrado. – unwind
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 –
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