¿Vale la pena aprender el lenguaje ‘D’ después de aprender C / C ++ / Python?

Lo que determina el éxito y la popularidad de un lenguaje de programación para el desarrollo de software en el mundo real está solo parcialmente relacionado con la calidad del lenguaje en sí. Como lenguaje puro, D podría decirse que tiene muchas ventajas sobre C ++ y Java. Como mínimo, es una alternativa creíble como lenguaje puro, todas las demás cosas son iguales.

Si quieres aprender D visita aquí: https://hackr.io/tutorials/learn…

Sin embargo, otras cosas son importantes para el desarrollo de software, casi más que el lenguaje en sí mismo: portabilidad (en cuántas plataformas se ejecuta), soporte de depurador, soporte de IDE, calidad de biblioteca estándar, soporte de biblioteca dinámica, enlaces para API comunes, documentación, el desarrollador comunidad, impulso y apoyo comercial, solo por nombrar algunos. En todos estos aspectos, D está irremediablemente detrás de Java, C ++ y C #. De hecho, diría que incluso está detrás de los llamados lenguajes de “scripting” como Python, Perl, PHP, Ruby e incluso JavaScript en este sentido.

Para ser franco, simplemente no puede construir una aplicación multiplataforma a gran escala usando D. Con una biblioteca estándar inmadura,

sin soporte en ningún IDE moderno

(hay complementos para Visual Studio y Xamarin Studio / MonoDevelop), soporte limitado de biblioteca dinámica / compartida y pocos enlaces a otros idiomas, D simplemente no es una opción hoy en día.

Si te gusta lo que ves de D, por supuesto, apréndelo; no te tomará mucho tiempo si ya conoces Java y C ++. No creo que el evangelismo sea útil: en este punto, si D va a tener éxito, lo que realmente necesita es que más personas lo utilicen en silencio y aborden sus principales deficiencias, como la biblioteca estándar y el soporte IDE.

Finalmente, en cuanto a C ++, aunque la mayoría está de acuerdo en que el lenguaje es demasiado complejo, miles de empresas están utilizando C ++ con éxito como parte de una combinación saludable de lenguajes al permitir solo un subconjunto más pequeño y bien definido del lenguaje. Todavía es difícil vencer a C ++ cuando se requiere tanto el rendimiento sin procesar como el uso de memoria pequeña.

No puedo hablar de la popularidad de ‘D’, pero estoy seguro de que una búsqueda en Google arrojará buena información. Pero puedo comentar sobre el tema de amplitud vs profundidad cuando se trata de programación.

He usado muchos lenguajes en mi carrera como Básico, C, C ++, C #, ensamblaje, PHP, TCL, Expect, Java, Ruby, Javascript, Erlang y, más recientemente, Elixir. Estoy seguro de que he olvidado algunas. Aunque la amplitud es importante, creo que el dominio en uno o dos es aún más importante. Algo que probablemente necesitará varios años de exposición diaria para lograr.

En los últimos años, me encuentro teniendo que usar ocasionalmente PHP, C y Javascript, por lo que estos son importantes para mí. Sin embargo, paso todo el tiempo escribiendo software comercial y de código abierto en Elixir porque me encanta el idioma.

Recomiendo mucho aprender un lenguaje funcional incluso si no lo usa regularmente después. Hay muchos conceptos de la programación funcional que pueden ayudarlo a convertirse en un mejor programador imperativo. Desde que me lancé a aprender programación funcional, no tengo ningún deseo de regresar a OO.

Según algunas de las otras respuestas, estoy de acuerdo en que debe comprender sus objetivos a largo plazo y elegir un idioma que se alinee con ellos. Y luego, si aún no lo ha hecho, elija uno y trabaje en el dominio.

Descubrí que en mi carrera (soy un viejo pedo) saber un idioma específico no ha sido una barrera. En los casos en que necesitaba un idioma, simplemente me agachaba durante unas semanas y lo aprendía. Un idioma es solo una herramienta. Comprender cómo descomponer los problemas de la computadora y diseñar algoritmos apropiados es mucho más importante. Cuando dominas un idioma, otros idiomas son bastante fáciles de aprender. Descubrí que pasar al paradigma funcional era bastante sencillo.

Buena suerte y háganos saber lo que elige.

Echa un vistazo a algunos de los videos de dconf en YouTube y decide por ti mismo. También vale la pena leer el libro de Andrei Alexandrescu.

Actualización: ver
https://yow.eventer.com/yow-2014

El beneficio principal es la eficiencia del código nativo y la productividad de algo como Python. Puede escribir los cuellos de botella en C, pero luego debe mantener las bases de código en dos lenguajes (Python más c). Principales inconvenientes menos populares, menos bibliotecas y algunos bordes ásperos restantes.

Me gusta D para mi propio trabajo. No es difícil aprender lo básico, y he estado muy feliz con eso. Pero estas cosas son personales y dependen de su propio contexto y gustos.

Nunca he escuchado si todavía. En mi opinión, depende de qué trabajo se ajuste a usted después de aprender el lenguaje D y si este trabajo es más lucrativo que los lenguajes de programación enumerados en el top 10.
Pero por alguna razón, debería aprender algo de los 10 porque no aparecerían allí sin ninguna razón. De nuevo. Esta es solo mi opinion

Tampoco he oído hablar de “D”, sin embargo, debe ver lo que realmente quiere hacer a largo plazo para determinar qué conjuntos de tecnologías debe invertir su tiempo en el aprendizaje. Nuestro tiempo es limitado, y hay muchas cosas en las que podemos especializarnos, sin embargo, las empresas a menudo quieren contratar especialistas y no alguien que conozca muchas tecnologías pero que solo tenga habilidades promedio en cada una.

¿Es fácil aprender ese nuevo idioma? ¿Cuánto tiempo llevaría saberlo realmente? ¿Cuánto se usa en el mundo real? ¿Qué tan grandes son las comunidades y el apoyo? ¿Es lo suficientemente firme para los tipos de aplicaciones que desea construir? ¿Cuánta empleabilidad tiene?

Yo diría que sí, vale la pena. Incluso si nunca lo usas, D no es tan difícil de aprender una vez que conoces C ++ y Python. Sé que la gente usa D en la investigación en las universidades y asumo en la investigación en otros lugares, pero no puedo decir cuán extendida es su aceptación.

More Interesting

¿Cuál es la mejor estrategia para comprender el flujo de código y el diseño del código de producción?

¿Cuáles son las ventajas de una arquitectura basada en encuestas sobre una arquitectura basada en eventos?

¿Cuál es el número máximo de transistores en un solo chip (hasta la fecha / hasta ahora)?

¿Por qué es importante Hadoop?

¿Qué papel, en todo caso, desempeñará Dassault Systemes en la prometedora industria de la impresión 3D?

Mi supervisor quería hablar conmigo sobre el desarrollo profesional, con una promoción insinuada, pero quería ir a otro lugar, ¿cómo debería responder?

¿Deberíamos invertir en Angular o Vue para un proyecto a largo plazo?

¿Qué son las clases y los objetos en la programación?

Si todo el software se convierte en código abierto, ¿cómo pueden ganar dinero los ingenieros de software?

¿Cuáles son las principales diferencias en los desafíos asociados con un rol de gerente de producto en una empresa B2C versus una empresa SaaS B2B, empresarial?

¿Qué debo aprender a continuación para dar un paso para convertirme en un desarrollador de software senior? Conozco Node.js en el marco LoopBack, así como las utilidades lodash y Async.

¿Cuál es el peor código que has escrito en tu carrera? ¿Qué aprendiste de eso?

¿Qué libro educativo o libro de texto cambió tu vida?

¿Es más fácil atacar que defender en términos de ciberseguridad?

¿Cómo encuentra un nuevo programador todas las API para el idioma que está aprendiendo?