- miguelcarrion.com - http://www.miguelcarrion.com -

Los lenguajes de programación

Publicado por Miguel Carrión el 26 Octubre 2007 9:30 en Artículos de opinión | No hay comentarios

Los lenguajes de programación tienen bastantes similitudes a nivel ortográfico, gramatical, sintáctico y semántico con los lenguajes naturales (idiomas).

Tienen reglas estrictas sobre cómo escribir o relacionar las expresiones y sobre cómo obtener su significado. Sin embargo, como pertenecen al grupo de los lenguajes formales, son unívocos (tienen un significado único) y no dan pie a malas interpretaciones provocadas por condicionantes externos.

Supongamos que un emisor enuncia la frase: “Hoy hace un buen día”. Puede parecernos que el mensaje es claro y concreto pero, en realidad, no es así.

Pensemos por un momento cómo cambiaría su interpretación si el mensaje fuera pronunciado en diferentes condiciones:

1) Si estamos en la estación de esquí de Arinsal, que haga un buen día querrá decir que no ha hecho demasiado calor y que las condiciones de la nieve son buenas.
2) Si estamos en Londres, probablemente significará que no hay lluvia.
3) Si estamos en el mes de diciembre, transmitirá que no hace demasiado frío.
4) Si estamos en pleno agosto, seguramente entenderemos que no hace mucho calor.
5) Si tenemos una relación de confianza con esa persona, quizás nos sugiera que está feliz.

Por lo tanto, una simple frase en un lenguaje natural, independientemente del idioma que se use (inglés, catalán, castellano o chino), está abierta a múltiples acepciones.

No obstante, cuando esto se traslada a un lenguaje de programación, queda formulado de una manera casi matemática que cierra sus interpretaciones a una sola.

Podemos definir como buen día una temperatura de entre 22 y 26 grados Celsius, una humedad relativa de entre el 50% y el 60% y una luminosidad de, al menos, 20 lúmenes por segundo.

Como podemos observar, la conclusión que se obtiene tras procesar lo anterior es unívoca.

Si una misma frase en los lenguajes naturales (catalán, vasco, gallego, francés…) no es entendible o, en ocasiones, significa algo diferente; en los lenguajes de programación (C#, C++, VB u ObjectPascal) ocurre los mismo, son incompatibles a nivel sintáctico.


http://www.miguelcarrion.com/index.php/2007/10/26/los-lenguajes-de-programacion/