programacion - D Lenguaje de programación en el mundo real?
lenguaje de programacion c (20)
Bueno, he escrito un par de trabajos de investigación en D como otros.
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=9466 .
¿Alguien está usando D para aplicaciones del mundo real? Si es así, ¿para qué lo estás usando? Parece que no puedo encontrar nada grande en la web escrito en D.
A pesar de la falta de grandes usuarios conocidos, D parece un lenguaje muy prometedor para mí, y según TIOBE , es bastante popular.
Conozco una empresa pequeña que envió 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, conozco una empresa que busca financiación de riesgo, varios (al menos 4) empleados en empresas más pequeñas que utilizan D, ya sea de tiempo completo o parcial, y al menos un par (incluyéndome a mí) buscando activamente oportunidades en el mercado de consultoría.
Probablemente haya omitido algunas de las que debería haber sabido, y probablemente algunas de las que no haya escuchado, pero que aún existen, ya que lo anterior es más o menos lo que conozco a través de la comunidad.
Un pequeño porcentaje de mi ingreso actual proviene de D.
El sitio web oficial de D enumera las organizaciones que actualmente están utilizando D.
El D wiki también proporciona una lista de organizaciones, pero está desactualizado.
Solo mira detenidamente las conversaciones de DConf .
Casi todas las personas trabajan para alguna empresa y usan D en el trabajo.
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 en más de 5k líneas de código, escritas con D 1.x y la biblioteca de Phobos.
D es tan fácil de aprender, y sin tener en cuenta algunas trampas (en la biblioteca de Phobos) es un verdadero placer programar.
Escribí un script de envoltura que crea DGCC en OS X
http://github.com/davecheney/make-gdc-apple/tree/master
Me encantaría saber de otros programadores de DMD por ahí
Estoy empezando un proyecto para reescribir algunas de nuestras herramientas internas de Perl a D. Escogí 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 alto nivel (sobre todo C) hasta lenguajes de scripting (principalmente Perl), y D es el primer idioma que me entusiasmó aprender durante 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 sortear este problema (más o menos), pero para ser sincero, no tengo suficientes horas en el día para gestionar todo eso y aún hacer mi trabajo principal.
Estoy usando D en la investigación sobre la traducción de código de tiempo de compilación. Las plantillas avanzadas combinadas con tuplas y mixins hacen 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 necesidad de una herramienta por separado.
Hay algunos ejemplos de físicos que usan D para mejorar sus programas con meta-programación en D.
video - Charla de conferencia, no se pudo encontrar el sitio de origen del uso del físico.
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 importa. Es una buena opción para el trabajo de investigación porque a menudo estás empezando de cero de todos modos, por lo que no tienes mucho código heredado con el que preocuparte de integrarte.
Otra área popular para su uso parece ser servicios web. Espero que alguien más pueda comentar quién está en este espacio, pero también creo que la idea es que el rendimiento a veces realmente importa, así que quieres un lenguaje compilado para el metal. Los servicios a menudo son procesos bastante pequeños y autónomos, por lo que la interoperabilidad con grandes cantidades de código C ++ heredado no es realmente necesaria o útil. Por lo tanto, 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 motivo pueden permitirse abandonar el 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, no habrá mucho en el camino de los grandes usuarios corporativos, sospecho.
Hago trabajo de bioinformática en D. Para mí, la clave de D es que toma un enfoque muy equilibrado de 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 funciones 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 del 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 algo más difícil de programar que los lenguajes de scripting.
El resultado es un lenguaje que es óptimo cuando tanto el tiempo de desarrollo como el tiempo de ejecución importan por igual, lo que en mi campo es la mayor parte del tiempo.
Del mismo modo, D adopta un enfoque muy equilibrado de la seguridad frente a la flexibilidad. Supone que los programadores básicamente saben lo que están haciendo, pero que cometen errores.
A diferencia de C y C ++, asume que no desea utilizar punteros, moldes inseguros, administración de memoria manual, etc., en todas partes del código, porque son propensos a errores, y supone que no desea filtrar a través de múltiples mensajes de error de plantilla de página cuando se arruina solo para usar matrices de tamaño variable.
A diferencia de Java y otros lenguajes de bondad y disciplina, D asume que a veces punteros, moldes inseguros, 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 asume que puede arruinar y acceder a una matriz fuera de límites, pero que el programador sabe mejor qué compensación se debe hacer entre la seguridad y la velocidad en cualquier situación dada. Por lo tanto, si las matrices se marcan los límites simplemente se determina mediante un interruptor de compilación.
Inicié un procesador de trazos rayados en D con ldmd2.
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.
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 ser reescritos 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.
Nuestra infraestructura de red completa (de alto tráfico) se basa solo en D1 y tango. Somos una empresa joven de inicio en Berlín: sociomantic.com
Parece que Remedy Games tiene una gran base de código D2 para sus juegos (ver Usando D junto a un motor de juego de Manu Evans - DConf 2013).
Son una gran empresa, saber que una gran compañía está usando D es muy buena.
Supongo que podemos leer algo sobre la falta de respuestas inmediatas a esta pregunta y es que no muchos / ninguno de los respondedores de activos están usando D. También me sorprendió un poco el nivel de su clasificación en la lista de TIOBE que usted enlace a.
Habiendo dicho eso, 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 observo que el lenguaje parece estar inclinado hacia la dirección funcional ahora.
Uso D para un hardware en el entorno de prueba de 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 en curso de SWT / JFace, planeo hacer más y trabajar en D, lo que ya habría hecho en Java.
Utilicé D para mi proyecto de investigación sobre el desarrollo de un algoritmo de optimización global. Lo apliqué al problema de entrenar redes neuronales. Depende de ti si quieres llamar a esto "mundo real".
Utilizo 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 desee desarrollar algo único que también tenga que ser tan rápido como C y casi tan fácil como programarlo como lo hace en muchos lenguajes de guiones, entonces D es una buena opción.
Yo uso D2, el segundo estándar de la versión. Escribí aplicaciones en tiempo real (motor 3D, por ejemplo).
El lenguaje 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, lo hacen muy por encima de C ++, en mi opinión. 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 mi idioma favorito, y estoy bastante seguro de que será un lenguaje extendido.
Facebook anunció que lo están usando en producción a partir de hoy.