Con mucha frecuencia, los lenguajes de programación se comparan con una de estas dos cosas: los lenguajes hablados o las herramientas profesionales. Hoy analizaremos los primeros y estableceremos una analogía entre la programación y los lenguajes hablados. Esto nos permitirá ver las ventajas y los retos del poliglotismo en la programación, o el desarrollo de software multilingüe.
Las lenguas habladas identifican a grupos de personas que pertenecen a un mismo grupo. En nuestra sociedad estos grupos suelen ser, aunque no necesariamente, naciones. Las personas que hablan la misma lengua que una nación suelen tener características específicas que construyen su identidad. India es conocida por la subcontratación de soporte técnico. Rumanía es conocida por sus profesionales de TI. Estados Unidos es conocido por sus empresas. Si quieres hacer grandes cosas en cualquiera de los ámbitos específicos de un idioma, debes hablarlo.
Los lenguajes de programación son muy parecidos. Cada lenguaje de programación tiene un fuerte; una cosa específica que hace mejor. C/C++ es estupendo para programar a bajo nivel, cerca del hardware. HTML y CSS son estupendos para presentar contenido visual en una página web. PHP es excelente para proporcionar un puente entre los clientes web y los recursos en un servidor. Por eso, en Syneto hablar siempre el idioma adecuado para el problema.
"Poliglotismo o poliglotismo es la capacidad de dominar, o el estado de dominar, varias lenguas".
- Wikipedia
El uso de muchas lenguas también plantea muchos problemas. El hecho de tener que cruzar la barrera lingüística es más difícil de lo que cabría esperar. Supongamos que usted es francés. Quiere sacar provecho del mercado estadounidense, donde la gente come mucho queso. Para poder vender allí, debe promocionar sus productos en su idioma y para su cultura específica. Sí. Cada idioma tiene un poderoso aspecto cultural que hay que dominar para tener éxito.
En programación te enfrentas al mismo reto. Debes comprender la filosofía y la cultura que hay detrás de cada lenguaje de programación. Debes hacerlo y adoptar la cultura para llegar a ser productivo en ese lenguaje de programación. Una vez que lo hayas hecho, podrás utilizar la filosofía de un lenguaje para mejorar tu forma de escribir código en otro. Un buen extra, digo yo.
Pero, ¿y China? Aprender chino sería tan difícil que no funcionaría. Quizá prefiera aprender otro idioma que tanto usted como su homólogo chino puedan utilizar. El inglés es la solución más común para superar la barrera lingüística.
El mismo problema existe en la programación. ¿Cómo puede un programa escrito en Perl hablar con otro escrito en Java e interpretar las respuestas de otro escrito en Scala? La respuesta es sencilla. Se necesita un lenguaje común, o protocolo, conocido por todos los lenguajes. Tales protocolos son HTTP, REST, JSON, etc.
En la cultura de nuestra empresa combinamos influencias de muchos idiomas, tanto en nuestra forma de comportarnos como en la de escribir el código fuente. Descubra más leyendo nuestro Sitio web de la Alianza Ágiltitulado Un error al mes.