¿Alguien está usando D para aplicaciones del mundo real? Si es así, ¿para qué lo usa? Parece que no puedo encontrar nada grande en la web escrito en D.
A pesar de la falta de grandes usuarios conocidos, D me parece un lenguaje muy prometedor y, según TIOBE , es bastante popular.
d
popularity
wvdschel
fuente
fuente
Respuestas:
Estoy usando D para mi trabajo de investigación en el área de gráficos por computadora. Yo y otros hemos publicado artículos en nuestros campos basados en el trabajo realizado con D. Creo que definitivamente está listo para su uso en proyectos de investigación pequeños a medianos donde el rendimiento es importante. Es una buena opción para el trabajo de investigación porque, a menudo, está comenzando desde cero de todos modos, por lo que no tiene mucho código heredado para preocuparse por la integración.
Otra área popular de uso parece ser los servicios web. Esperemos que alguien más pueda comentar quién está en este espacio, pero también creo que la idea es que el rendimiento a menudo es realmente importante, por lo que desea un lenguaje compilado al metal. Los servicios son a menudo procesos bastante pequeños e independientes, por lo que la interoperabilidad con grandes cantidades de código C ++ heredado no es realmente necesaria ni útil. Así D puede poner su pie en la puerta.
Creo que D continuará ganando seguidores de base de esta manera, en proyectos más pequeños que por cualquier razón pueden permitirse deshacerse del legado de C ++ para obtener un lenguaje de programación que sea mucho más agradable de usar y quizás también más productivo.
Pero hasta que haya una gran cantidad de usuarios de base, sospecho que no habrá muchos usuarios corporativos.
fuente
Realizo trabajos de bioinformática en D. Para mí, la clave de D es que adopta un enfoque muy equilibrado para las compensaciones y reconoce el principio de rendimientos decrecientes.
A diferencia de C ++, que se adhiere rigurosamente al principio de cero gastos generales, D permite características que pueden tener un pequeño costo de rendimiento / espacio si hacen que el lenguaje sea mucho más útil. Estos incluyen recolección de basura, un objeto de monitor para cada clase, información de tipo de tiempo de ejecución, etc.
A diferencia de Ruby, Python, PHP, etc., D intenta ser casi tan rápido como C, incluso si es menos dinámico y un poco más difícil de programar que los lenguajes de secuencias de comandos.
El resultado es un lenguaje que es óptimo cuando el tiempo de desarrollo y el tiempo de ejecución son igualmente importantes, lo que en mi campo es la mayor parte del tiempo.
Del mismo modo, D adopta un enfoque de seguridad muy equilibrado frente a la flexibilidad. Asume que los programadores básicamente saben lo que están haciendo, pero cometen errores.
A diferencia de C y C ++, se supone que no desea utilizar punteros, conversiones inseguras, administración manual de memoria, etc., en todas partes de su código, porque son propensos a errores, y se supone que no desea filtrar a través de múltiples mensajes de error de plantilla de página cuando lo arruinas solo para usar matrices redimensionables.
A diferencia de Java y otros lenguajes de servidumbre y disciplina, D asume que a veces los punteros, los lanzamientos inseguros, la administración manual de memoria, etc. son un mal necesario, y asume que eres lo suficientemente inteligente como para manejar plantillas reales, sobrecarga de operadores, etc. sin escribir código ofuscado También se supone que puede equivocarse y acceder a una matriz fuera de los límites, pero que el programador sabe mejor qué compensación se debe hacer entre seguridad y velocidad en cualquier situación dada. Por lo tanto, si las matrices son límites comprobados simplemente se determina mediante un conmutador de compilación.
fuente
Sé de una pequeña empresa que ha enviado un producto de servidor de correo al mercado. Tenían al menos 2 personas trabajando a tiempo completo en el proyecto.
Además, un jugador importante en el negocio de TI tiene varios empleados que usan D en proyectos internos más grandes.
Además, sé de una compañía que busca fondos de riesgo, varios (al menos 4) empleados en compañías más pequeñas que usan D ya sea a tiempo parcial o completo, y al menos un par (incluido yo) que busca activamente oportunidades en el mercado de consultoría.
Probablemente he omitido algunos de los que debería haber sabido, y probablemente algunos de los que no he oído hablar, pero que todavía existen, ya que lo anterior es más o menos lo que conozco a través de la comunidad.
Un pequeño porcentaje de mis ingresos actuales proviene de D.
fuente
Yo uso D para el desarrollo web y resultó ser mucho más productivo en comparación con C / C ++. Hay muchos frameworks basados en ruby / php / python, por supuesto. Pero cuando desea desarrollar algo único que también tiene que ser tan rápido como C y casi tan fácil como programar con él como lo hace en muchos lenguajes de script, entonces D es una buena opción.
fuente
Yo uso D para un entorno de prueba de hardware en el bucle (HIL). Esto es para pruebas de software en el área automotriz. D se puede usar aquí, porque como lenguaje de programación del sistema se puede usar en programas en tiempo real (controladores IRQ en una extensión en tiempo real de Linux RTAI-LXRT).
Con el puerto actual de SWT / JFace planeo hacer más y trabajar en D, lo que hubiera hecho en Java antes.
fuente
Facebook anunció que lo están usando en producción a partir de hoy.
fuente
Estoy usando D en la investigación sobre la traducción del código de tiempo de compilación. La plantilla avanzada combinada con tuplas y mixins hace que la traducción del código sea mucho más fácil y permite que la traducción del código se realice durante el tiempo de compilación sin requerir una herramienta separada.
Hay algunos ejemplos de físicos que usan D para mejorar sus programas con metaprogramación en D.
video - Charla de la conferencia, no se pudo encontrar el sitio de origen del uso físico.
fuente
Toda nuestra infraestructura de red (de alto tráfico) se basa solo en D1 y tango. Somos una empresa joven y nueva en Berlín: sociomantic.com
fuente
Mi tarea de trabajo actual es un sistema para traducir C # a D. Esto es parte de un proyecto con fines de lucro para desarrollar un sistema de software.
fuente
Bueno, he escrito un par de trabajos de investigación en D al igual que otros.
http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=digitalmars.D.announce&artnum=13337
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=9466 .
fuente
Parece que Remedy Games tiene una gran base de código D2 para sus juegos (cf. Uso de D junto a un motor de juego) de Manu Evans - DConf 2013).
Son una gran empresa, saber que una gran empresa está utilizando D es muy bueno.
fuente
Muchos de los juegos lanzados por ABA Games están escritos en D 1.x, aunque imagino que los puertos de la consola tuvieron que reescribirse en C ++.
He escrito bastantes prototipos de juegos en D, pero no estoy seguro de si eso califica como "mundo real" ya que los escribí para mi propio beneficio y nunca he lanzado ninguno de ellos.
fuente
Escribí (y sigo manteniendo y desarrollando) un software para la conversión de protocolos de prueba de varias estaciones de prueba de hardware a un formato de salida estandarizado para la trazabilidad y cosas por el estilo.
Todos juntos a lo largo de 5k líneas de código, escritas con D 1.xy la biblioteca Phobos.
D es muy fácil de aprender, y sin tener en cuenta algunas trampas (en la biblioteca de Phobos) es un verdadero placer programarlo.
fuente
Usé D para mi proyecto de investigación sobre el desarrollo de un algoritmo de optimización global. Lo apliqué al problema del entrenamiento de redes neuronales. Depende de usted si quiere llamar a este "mundo real".
fuente
Escribí un script de envoltura que construye DGCC en OS X
http://github.com/davecheney/make-gdc-apple/tree/master
Me encantaría saber de otros programadores de DMD
fuente
Yo uso D2, el segundo estándar de la versión. Escribí aplicaciones en tiempo real (motor 3D, por ejemplo).
El idioma se vuelve más y más poderoso cada día. D es muy pragmático y todas las características integradas, especialmente el paradigma de metaprogramación, en mi opinión, superan con creces a C ++. La sintaxis es más clara, puede usar la fuerza de la programación funcional a través de funciones como filtrar o reducir , y una de las características más importantes: puede usar todas las bibliotecas de C.
Definitivamente es mi idioma favorito, y estoy bastante seguro de que será un lenguaje usado extendido.
fuente
Supongo que podemos leer algo sobre la falta de respuestas inmediatas a esta pregunta y es que no muchos / ninguno de los respondedores activos de stackoverflow están usando D. También me sorprendió un poco el nivel de su clasificación en la lista TIOBE que usted enlace a.
Dicho esto, Walter Bright ha estado trabajando en el lenguaje durante bastantes años y creo que tiene bastantes seguidores que recuerdan el buen trabajo que hizo con el compilador Zortech C ++ en los años 90. También noto que el lenguaje parece inclinarse hacia la dirección funcional ahora.
fuente
El sitio web oficial de D enumera las organizaciones que actualmente usan D.
La wiki de D también proporciona una lista de organizaciones, pero está desactualizada.
Solo observe atentamente las conversaciones de DConf .
Casi todas las personas allí trabajan para alguna compañía, y usan D en el trabajo.
fuente
Estoy comenzando un proyecto para reescribir algunas de nuestras herramientas internas de Perl a D. Elegí D porque estoy muy entusiasmado con las filosofías de diseño del lenguaje. He estado programando durante mucho tiempo y he usado muchos lenguajes, desde ensambladores hasta lenguajes de alto nivel (principalmente C) y scripts (principalmente Perl), y D es el primer idioma que me ha entusiasmado aprender en muchos años. .
Decidí pasar a un lenguaje compilado por una razón principal: la seguridad. Funcionalmente, Perl funciona bastante bien para el conjunto de herramientas en el que trabajo, pero es inseguro: cualquiera que pueda ejecutar un script también puede leer, copiar y crear su propia versión modificada de la herramienta. (Y lo hacen). Sé que hay métodos tortuosos para solucionar este problema (más o menos), pero para ser honesto, no tengo suficientes horas en el día para manejar todo eso y todavía hacer mi trabajo principal.
fuente
Comencé un renderizador de trazado de rayos en D con ldmd2.
http://palaes.rudanium.org/SubSpace/render.php
fuente