¿Cómo lidian las personas con múltiples lenguajes de programación cuando desarrollan un sistema de software y no usan herramientas de desarrollo web?

Solicitud : ¿Podría explicar su pregunta en detalle en la sección de detalles? Recibo la primera parte de la pregunta, pero la otra parte es un poco vaga.
Todavía lo intentaré.

¿Cómo manejan las personas los múltiples lenguajes de programación cuando desarrollan un sistema de software?

He estado trabajando en lenguajes como Java, Objective-C, Javascript (CoffeeScript), un poco de Ruby durante algún tiempo. Todos estos idiomas se usan en el mismo proyecto. Por lo tanto, me siento elegible para dar algunas ideas sobre esto.

NOTA: Todavía estoy en el viaje y me esfuerzo por mejorar de vez en cuando.

* Conozca los fundamentos : este es un consejo muy genérico que las personas dan a cualquier pregunta de programación que se les haga. Se aplica aquí también.
Los lenguajes de programación se crean con una filosofía y paradigmas de programación en mente. También tienen bloques de construcción básicos como tipos de datos, gestión de memoria, etc., que lo definen como completo.

por ejemplo, Java se basa principalmente en el paradigma orientado a objetos.
Scala es el mejor de los mundos funcionales y orientados a objetos y alguna filosofía subyacente.

Entonces, si tiene una buena comprensión de los diferentes paradigmas, los lenguajes se convierten en un medio de representación para presentar su solución en forma legible por máquina. Esencialmente, la mayor parte del esfuerzo para aprender un nuevo lenguaje de programación es comprender la sintaxis y la semántica.

* Concéntrate en un idioma, pero intenta ser un políglota :
aprender varios idiomas es un proceso gradual. Durante un período de tiempo, comprenderá todos los idiomas. Intenta dominar uno de estos. Porque, te ayudará a entender los pros y los contras de usar ese lenguaje sobre otros.
Puede implementar series de Fibonacci en muchos de los lenguajes de programación. Pero cada uno tendría su conjunto de aspectos positivos y negativos. Equilibrar lo bueno y lo malo, y elegir el idioma adecuado para resolver un problema en la mano, es una habilidad que uno puede desarrollar durante un período de tiempo, con este enfoque.

* Trate de estar en contacto con cada uno de los idiomas tanto como sea posible.

* Siempre habrá personas en su equipo que sean buenas en algún idioma. Haga un esfuerzo sincero para discutir sobre el idioma y obtener comentarios sobre sus aprendizajes de ellos.

Todas las actividades / sugerencias anteriores requieren mucho tiempo, así que trabaje con paciencia.

Si su única herramienta es un martillo, la solución a cada problema se verá como un clavo. Elija el idioma que sea más apropiado para el problema en cuestión.

En general, en una tienda de desarrollo de la empresa existen estándares sobre qué idiomas puede usar. Si se debe hacer todo en, por ejemplo, Cobol, para cumplir con las reglas, es posible que desee poner algo de energía para justificar una revisión de esas reglas.

En un equipo de desarrollo de varias personas, puede haber cierta especialización entre los individuos en cuanto al idioma en el que cada uno es “mejor”. Es posible que la especialización no se ajuste tanto a los lenguajes de implementación como a los aspectos del sistema (front-end, back-end, base de datos) y puede haber diferentes lenguajes de programación que se adapten mejor a cada parte especializada del sistema.

Una forma popular de introducir un nuevo lenguaje de programación en la tienda es usar un lenguaje moderno de alto nivel como Python para construir rápidamente un prototipo de la aplicación prevista. Dado un prototipo funcional y una estimación realista del trabajo para volver a implementar la aplicación en un lenguaje estándar de la compañía, la gerencia puede estar fuertemente inclinada a aceptar el lenguaje del prototipo como una adición a los estándares de la compañía.

Parte de tener un lenguaje incluido en el estándar de su equipo es que debe haber formas estándar de hacer las compilaciones y distribuciones de software. Algo de esto se discute en esta charla muy técnica;

Programe en varios idiomas, o divida la tarea para que ciertas personas se especialicen en ciertos idiomas.

Si elige la especialización, evite crear un cuello de botella o un único punto de falla asegurándose de que las personas que no son especialistas en un idioma determinado al menos conozcan sus fundamentos.