¿Qué es la programación políglota?

Un políglota, en términos simples de inglés, es una persona capaz de comunicarse en más de un idioma. El uso de esta palabra en el contexto de programación está relacionado. La primera definición se da a continuación. (Llegaremos al segundo más tarde)

Polyglot – los programas

En informática, un políglota es un programa de computadora o script escrito en una forma válida de múltiples lenguajes de programación, que realiza las mismas operaciones o resultados independientemente del lenguaje de programación utilizado para compilarlo o interpretarlo. [1]

Hacer esto se vuelve un poco complicado porque diferentes lenguajes de programación tienen diferentes tokens asociados con la misma operación. Por ejemplo, para declarar un entero simple y asignarle un valor de 100 en C ++, puede escribir:

  int x = 100;

Pero en Python, las variables no tienen que declararse explícitamente para reservar espacio en la memoria. El método más simple para hacerlo sería

  x = 100

PERO, la primera línea de código (que usé para C ++) se puede usar en Python porque acepta esa sintaxis. La segunda línea que utilicé para Python no es válida si la ejecuta en un compilador de C ++.

Entonces, ¿cómo se escribe un políglota?
En lenguajes como C, puede redefinir varios tokens como otros en diferentes idiomas. Wikipedia me dice que, por lo general, los políglotas se escriben en una combinación de C (que permite la redefinición de tokens con un preprocesador) y un lenguaje de secuencias de comandos como Lisp o Perl. Puede encontrar varios ejemplos en la página de Wikipedia vinculada.

Polyglot – la persona

Por lo tanto, un políglota también se puede definir como una persona que conoce varios lenguajes diferentes que son lo suficientemente variados como para hacer una diferencia (sabiendo que Java y C # son demasiado similares en construcciones, por ejemplo) y lo suficientemente expertos como para reconocer formas de hacer el mejor uso de cierto número de idiomas para resolver un problema mezclando la solución. Un buen programador polygot no solo lanza “otros” lenguajes porque son geniales o nuevos. Tienen que existir por una razón. Un políglota DEBE saber qué idioma es el mejor para usar en una situación particular.
Por ejemplo, usar Ruby para construir un DSL tiene más sentido ya que se presta a esa solución (en comparación con C #, por ejemplo), pero Ruby puede no ser el lenguaje más efectivo para decir un sistema incrustado. Ser capaz de mezclar los dos (o tres, o cuatro) juntos de manera armoniosa es donde sobresale la programación polygot. [2]

Para convertirse en un políglota, sugeriría aprender un lenguaje de programación en el que puede redefinir tokens (como C y C ++) en profundidad (con todas sus desventajas y ventajas). Luego, encuentre áreas en las que este idioma carece y donde otros idiomas prominentes pueden realizar mejor estas tareas. Después de aprender los conceptos básicos del otro lenguaje de programación, uno debe poder integrar ambos lenguajes de programación.

En resumen, los beneficios:

  • Optimiza el rendimiento donde importa.
  • Optimice la productividad, la extensibilidad, la agilidad y la personalización del usuario final en cualquier otro lugar.

Desventajas

  • Más complejidad con más de 2 idiomas.
  • Se hace difícil manejar la interfaz entre dos capas


[1] Polyglot (informática)
[2] lenguaje agnóstico: ¿cómo se define un programador políglota? – Desbordamiento de pila

Un políglota es aquel que habla varios idiomas a un nivel suficiente. El políglota mundial proviene del griego que significa “muchas lenguas”. No hay ningún requisito específico, por lo que la cantidad de idiomas que uno debe hablar es bastante vaga. Los políglotas tienden a compartir muchos rasgos, como el amor por los idiomas y las culturas extranjeras. Los políglotas están dedicados al aprendizaje de idiomas. Ser políglota es más una pasión que nada.

Históricamente, el mayor número de idiomas que se hablaban regularmente en una sociedad era de cinco, por lo que seis se consideraban impresionantes y mostraban un talento para las habilidades de habla lingüística. Sin embargo, ese número no es oficial.

Aquí hay algunos otros términos relacionados con políglotas (en términos de idiomas hablados)

  • Monolingüe / monoglot: 1 idioma
  • Bilingüe / byoglot: 2 idiomas
  • Trilingüe / triaglot: 3 idiomas
  • Cuatrilingüe: 4 idiomas
  • Pentalingual – 5 idiomas hablados
  • Hexalingual – 6 idiomas hablados
  • Septalingual – 7 idiomas hablados
  • Octalingual – 8 idiomas hablados
  • Nonalingual – 9 idiomas hablados
  • Decalingual – 10 idiomas hablados
  • Undecalingual – 11 idiomas hablados
  • Dodecalingual – 12 idiomas hablados

Además, el término hiperpolíglota es aquel que habla una cantidad aún mayor de idiomas que un políglota. Este término tampoco tiene un número oficial de idiomas que se deben hablar.