¿Cuáles son las ventajas de conocer muchos lenguajes de programación?

Hay varias maneras de ver esto …

Desde el punto de vista profesional, si elige cuidadosamente un conjunto de idiomas ampliamente utilizados, mejorará significativamente su probabilidad de encontrar empleo. Java es ideal para trabajos Python es ideal para trabajos. JavaScript es ideal para trabajos C ++ es ideal para trabajos. Java y Python y JavaScript y C ++ cubrirán aproximadamente el 70% de todas las ofertas de trabajo en Indeed.com. No se puede hacer mucho mejor que eso.

Si elige cuidadosamente un conjunto de lenguajes que mejor representan cada uno de varios paradigmas de programación importantes (como OOP, FP, lógica, concurrente, etc.), será más adaptable a diferentes escenarios de programación.

Todos los lenguajes de programación tienen sus pros y sus contras. Saber idiomas que son complementarios para que las debilidades individuales puedan solucionarse le brinda un conjunto de herramientas más sólido. Por ejemplo, Smalltalk es un fantástico lenguaje OOP, pero en ciertas circunstancias, Java o C ++ pueden ser preferibles, especialmente. Si necesita escritura estática o acceso directo al hardware. Otro ejemplo: JavaScript es el idioma nativo del navegador web, por lo que es inevitable para el desarrollo web. Sin embargo, JavaScript también es un lenguaje de mierda y puede ser ventajoso usar algo como Amber Smalltalk o Python o Go para escribir tus aplicaciones web.

Algunos lenguajes son naturalmente mejores para aprender sobre ciertos conceptos de programación de. Por ejemplo, sin lugar a dudas, Smalltalk es la mejor manera de aprender programación orientada a objetos (OOP). Una vez que haya aprendido Smalltalk, comprenderá mucho mejor la POO cuando compre Java, C ++, C #, Scala, etc. De manera similar, no puedo pensar en una mejor manera de aprender programación funcional (o FP) que con esquema o elixir. En primer lugar, un lenguaje que se subestima lamentablemente, es prácticamente la única forma de aprender acerca de la programación basada en la pila. Y no olvidemos APL o su progenie, J.

Diferentes lenguajes admiten diferentes paradigmas de programación: enfoques para representar el problema o sistema que desea resolver o representar en código.

Algunos paradigmas, y por lo tanto, los idiomas, son más adecuados para tipos de problemas particulares que otros. Saber varios idiomas, por lo tanto, permite programar un conjunto más amplio de soluciones.

Clasificación de Nygaard de los paradigmas de programación: –

  • Programación procesal. Una ejecución de programa se considera como una secuencia (parcialmente ordenada) de llamadas a procedimientos que manipulan variables.
  • Programación funcional. Un programa es considerado como una función matemática, que describe una relación entre entrada y salida.
  • Programación de restricciones. Un programa se considera como un conjunto de ecuaciones que describen relaciones entre entrada y salida.
  • Programación orientada a objetos. La ejecución de un programa se considera un modelo físico, que simula el comportamiento de una parte real o imaginaria del mundo. [* 1]

Muchos también consideran que conocer múltiples paradigmas y lenguajes, mejora el pensamiento y la comprensión de cualquiera de ellos.

[* 1] La descripción de Krysten Nygaard de la programación orientada a objetos es controvertida, pero se debe recordar que él (junto con Ole-Johan Dahl) son los padres de la orientación a objetos, por los cuales ganaron el Premio Turing.

Depende de lo que busca lograr con ese conocimiento.

Hay alrededor de 20–25 idiomas, marcos, idiomas front-back-end en los que puedo construir cosas, pero no soy un desarrollador.

Mi función es reunir equipos y hacerlos más eficientes al romper las barreras de comunicación entre los silos.

Al saber cómo codificar y aprender continuamente, sé cuándo hacer retroceder a mis equipos de desarrollo, guiar a los equipos creativos y estratégicos, conocer mejor las limitaciones de lo que estamos construyendo, administrar mejor los presupuestos y los recursos y, cuando todo esto falla, acumular mi mangas y simplemente hacer las cosas.

Pero, cuando busco contratar a un desarrollador, busco experiencia dentro y fuera de mi país solo en unos pocos idiomas. Así que a veces, si vas demasiado amplio, limitas tus oportunidades.

La práctica de resolución de problemas desde diferentes perspectivas siempre lo convierte en un mejor programador que solo conocer bien un idioma. Cuantos más tipos diferentes de problemas resuelvas, más probable será que estés al final.

Cada nuevo idioma te enseña a pensar de nuevas maneras para lograr tus objetivos. Este proceso de pensamiento puede abrirte a nuevas formas de pensar sobre otro idioma.

Un ejemplo de esto es cómo Ruby on Rails influyó en Laravel

La misma ventaja de saber utilizar un martillo y un destornillador.

Me concentraría en los necesarios para hacer lo que quieras construir. El resto es un ejercicio académico.