Si explora las preguntas de código de golf en StackExchange , observará un montón de idiomas no estándar pero del mundo real (por ejemplo, no brain-f * ck) como F # , Scala , R , J y Clojure . Al visitar sus sitios web, algunos de los idiomas parecen interesantes para resolver problemas en cualquier idioma que ya esté utilizando.
Sin embargo, hay codificación en el tiempo libre y codificación por dinero. Lo más cercano que tenemos a la verdad sobre quién usa un idioma es el Índice TIOBE , que no enumera ninguno de los idiomas anteriores en el top 10-15. Lo que me hace preguntarme si alguna vez los usaré.
¿Debería molestarme en aprender algunos de los pequeños idiomas especializados? No parece que estaría ganando dinero, y algunos probablemente fracasarán de todos modos.
fuente
Respuestas:
La hipótesis de Sapir-Whorf . Establece, más o menos, que lo que puede pensar está limitado por lo que tiene el lenguaje para describir. La consecuencia de esto es que las personas multilingües pueden pensar de una manera que los hablantes de un solo idioma pueden no ser capaces de hacerlo.
Muchas personas (incluido yo mismo) piensan que esto también es válido para la programación. Learning Lisp, por ejemplo, le enseña una forma completamente nueva de pensar sobre los problemas que puede aplicar a C # o Java o Python. Cuantos más paradigmas de lenguaje haya aprendido, más herramientas habrá en su caja de herramientas mentales, independientemente del idioma que esté utilizando.
fuente
Aprendería cualquier lenguaje que me presentara conceptos y paradigmas que nunca antes había visto. Es por eso que aprendí haskell y esquema: me presentaron a la programación funcional y principalmente a la programación funcional, respectivamente. No me habría importado menos si el esquema y el haskell se usaran ampliamente, aparte de cómo eso afectaría la documentación y los recursos disponibles.
Básicamente, si un pequeño nicho de lenguaje te presenta nuevos conceptos y paradigmas (especialmente aquellos que puedes aplicar a otros idiomas), ¡entonces aprende!
Otras razones por las que es posible que desee aprender un idioma 'pequeño / nicho':
El idioma le permite resolver un problema (tipo de) particular 'mejor' (más rápido, con una mejor solución, más portátil, etc.) que cualquier otro idioma
El lenguaje le permite resolver problemas tan bien como un lenguaje popular, pero tiene algunas características interesantes que le gustan (por ejemplo, clojure)
fuente
Bueno, estoy usando Clojure (uno de los "idiomas de nicho" que mencionas) y descubrí que ha sido una experiencia muy valiosa.
Personalmente, prestaría atención limitada a cosas como TIOBE: realmente no te dicen mucho más allá de lo que ha sido popular en el pasado. Útil tal vez si desea un trabajo de mantenimiento de sistemas antiguos, y menos si desea aprender y ampliar sus horizontes.
fuente
La razón para estudiar un idioma de nicho rara vez es la expectativa de que lo usará directamente (por dinero o de otro modo). Por lo general, se trata de aprender algún nuevo aspecto o estilo de programación. Es probable que hacerlo lo convierta en un mejor programador (y sí, probablemente más valioso), incluso si nunca usa ese lenguaje para producir código de "producción".
fuente
Hablando como desarrollador profesional en un idioma específico , es posible ganarse la vida. Sin embargo, hay ventajas y desventajas.
Cosas que son más difíciles:
Cosas que son más fáciles:
Cosas que simplemente son :
En general, si una carrera es su preocupación, nunca debe ser un pony, mainstream o nicho de un solo truco.
fuente
Actualmente estoy aprendiendo Ruby al usarlo para resolver problemas del Proyecto Euler , solo porque paso la mayor parte del día programando en C o PHP (y, a veces, C #) y quiero ampliar mis horizontes. Hasta ahora realmente me ha abierto los ojos sobre lo que se puede hacer. Incluso si nunca lo uso para ningún trabajo "real", creo que valdrá la pena el tiempo dedicado a aprenderlo.
fuente
De acuerdo con todos los puntos mencionados. Otra motivación para aprender un idioma específico es la posibilidad de que algún día el idioma se vuelva muy popular. En esta situación, su inversión temprana en el lenguaje podría darle pistas para trabajar en marcos influyentes y elementos del lenguaje que podrían tener una gran demanda en el futuro.
Si el idioma se vuelve popular, ya será hábil en él y, por lo tanto, tendrá una gran demanda.
Baja probabilidad, recompensas potencialmente altas.
fuente
Como otros casi han dicho, aprender un idioma de nicho solo porque es un idioma de nicho no tiene mucho sentido. Sin embargo, a menudo, los lenguajes de nicho exploran un concepto más allá / más profundamente de lo que los lenguajes convencionales pueden permitirse o quieren.
Y a veces los idiomas de nicho han existido mucho, mucho más tiempo que cualquiera de los idiomas principales: Smalltalk, Prolog y los idiomas Lisp saltan a la mente. Puede que no sean populares, pero tampoco están desapareciendo.
fuente