LENGUAJE NATURAL Y ARTIFICIAL

Hablar de "lenguaje" de computaci�n es hablar metaf�ricamente, aunque se trata de una met�fora que agoniza a fuerza de ser usada. Aun aquellos que nunca han estado cerca de una computadora han o�do hablar de FORTRAN, COBOL o PASCAL y saben que se trata de lenguajes cr�pticos por medio de los cuales se habla a la m�quina. FORTRAN (el nombre abrevia "Formula Translator"), PASCAL, y los dem�s no son, obviamente, lenguajes vivos. Los programadores se dan cuenta de esto cuando distinguen entre lenguajes artificiales o programaci�n y lenguajes "naturales" como el espa�ol y el ingl�s. En s�, la palabra "artificial" nos dice algo sobre el plan del programador. Aunque el espa�ol o cualquier otro idioma son tambi�n producto de artificio, su creaci�n a lo largo de siglos no fue plenamente consciente y racional como ha sido la creaci�n de lenguajes de programaci�n.

Los lenguajes de programaci�n no se hablan, lo cual significa tambi�n una gran diferencia. Su fin no es que se entiendan en la comunicaci�n oral, ya que las computadoras actuales casi no toman en cuenta las ondas sonoras. Pero a�n suponiendo que fuera posible hablar a una computadora (lo cual es completamente concebible), muy pocos programadores estar�an dispuestos a dialogar en FORTRAN . En este terreno resulta exacta la imagen que nos da la ficci�n cient�fica. Cuando los humanos hablan a su robots y a sus cerebros electr�nicos lo hacen m�s o menos en alg�n idioma, pero omitiendo con frecuencia art�culos y otras palabras peque�as con lo cual sugieren la preferencia de la computadora al reducir el lenguaje o la osamenta desnuda de la l�gica. Hablar en FORTRAN ser�a tan dif�cil como hablar en �lgebra porque la relaci�n que estos c�digos establecen entre sus s�mbolos s�lo se puede captar cuando se presenta especialmente y es examinada con la vista. El ojo puede examinar un rengl�n varias veces para desentra�ar su significado o saltarse diez renglones para comprobar la definici�n o el uso de un s�mbolo. Para casi todos nosotros, una versi�n hablada de un enunciado FORTRAN desaparece en el momento mismo en que se pronuncia. Aun dos programadores muy diestros deber�an sentarse ante una versi�n escrita si es que quieren analizar un programa. esto mismo es aplicable a los matem�ticos y a sus ecuaciones; sorprende en verdad enterarnos de que un matem�tico ciego de la talla de Euler haya podido visualizar sus pruebas sin la ayuda del papel. El lenguaje natural opera de un modo diferente: evolucion� hasta hacerse plenamente inteligible en palabras debido a que el lenguaje hablado precedi� milenios al escrito. Es muy redundante, a diferencia de la buena programaci�n de las computadoras. Es espa�ol o en cualquier otro idioma tenemos que anunciar y renunciar las ideas para hacerlas entender; no asignamos un s�mbolo un�voco a cada idea y no esperamos que nuestros interlocutores lo recuerden durante el resto de nuestra conversaci�n.

FORTRAN tiene usos mucho m�s restringidos que los lenguajes comunes. No sirve para expresar emociones ni muchas percepciones razonadas, sino tan s�lo una estrecha gama de problemas definidos l�gicamente. Por otra parte los lenguajes de programaci�n no evolucionan del mismo modo irrestricto que los lenguajes naturales; estos lenguajes est�n en un flujo constante: conforme algunas palabras caen en desuso, otras se vuelven populares y de moda. La gram�tica cambia, y la pronunciaci�n var�a de una regi�n a otra, de un grupo de hablantes a otro y con el transcurso del tiempo. La mayor�a de estos cambios no son planeados y casi siempre desalientan al establecimiento literario. Los cambios, en especial en pronunciaci�n, son inconscientes en la mayor�a de los hablantes, por lo que son democr�ticos en el mejor sentido tambi�n en el peor; se trata de un proceso ca�tico en el cual el cambio colectivo es la suma de millones de idiosincrasias. Las reformas al lenguaje por �rdenes de comit�s casi siempre van al fracaso, sin embargo, el hebreo moderno es quiz� una excepci�n.

En cambio, los lenguajes de computaci�n cambian precisamente de un modo autocr�tico: por decreto de la administraci�n. El programador no es libre de modificar FORTRAN seg�n sus gustos porque cualquier desviaci�n de la r�gida sintaxis en uso har� que su programa falle. Los cambios nunca son espont�neos. Un grupo de programadores, inconforme con los aspectos peque�os del lenguaje, agitar� para lograr reformas en su centro de computaci�n. La reforma se presenta ante la administraci�n del centro, y en cuanto se llega a una decisi�n se encarga a algunos programadores de sistemas el trabajo de rescribir el programa que controla a FORTRAN. Reformas de m�s fuste se necesitar�n para adaptar un lenguaje a una nueva l�nea de m�quinas. Debido a la anarqu�a institucional de comit�s, cada lenguaje de computaci�n crea sus dialectos conforme se propaga en los diversos pa�ses. No tardan en existir muchas versiones competidoras, no del todo compatibles una con otra, pero reconociblemente son del mismo lenguaje.

Los lenguajes de computaci�n, al igual que los naturales, se pueden agrupar en familias. El abuelo indoeuropeo del lenguaje electr�nico es FORTRAN: de �l han descendido PL/I y el lenguaje comercial COBOL; ambos refinan su sintaxis para satisfacer sus mutuas necesidades. Otros grupos de lenguajes m�s ex�ticos empiezan con otros principios sint�cticos. Todos los lenguajes de prop�sitos generales tienen m�s o menos el mismo poder: lo que se puede programar en uno cabe hacerlo en los otros, debido a que todos ellos son en el fondo instrucciones para construir una m�quina de Turing. Sin embargo, cada lenguaje tiene su propio colorido, que refleja la filosof�a con base en la cual fue ideado. FORTRAN (que ya tiene bastante m�s de veinte a�os, lo cual es una longevidad notable para un programa de computaci�n) sigue siendo la cosa que m�s se acerca a una lingua franca: es directo, no particularmente sutil y es idioma propio de la ingenier�a. ALGOL es un idioma europeo elegante que usan los especialistas cuando describen algoritmos en revistas; PASCAL es su primo m�s joven. PL/I es un lenguaje que tiende a extenderse, que busca proporcionar todos los elementos que puede necesitar cualquier programador (cient�fico, ingeniero u hombre de negocios); como trata de satisfacer a todo el mundo, no satisface a nadie. LISP y APL son lenguajes concisos y bellamente l�gicos, populares entre aquellos ( como son los especialistas en inteligencia artificial) que quieren destacar la derivaci�n de la programaci�n de computadoras partiendo de la l�gica simb�lica.

Los hombres de letras sol�an hablar en t�rminos generales de los lenguajes naturales como veh�culos de expresi�n —de la calidad recia y filos�fica del alem�n, de la delicadeza del franc�s, de la claridad del lat�n, etc—. Sin duda, un sentimiento de estilo entra en la elecci�n de un lenguaje de programaci�n como en la estructura del propio programa. Los programadores de computaci�n, al igual que los matem�ticos buscan y destacan la elegancia de su trabajo. Hay programas hechos s�lo para ejecutar otros que han sido pulidos con el fin de hacerlos no solamente m�s eficientes sino tambi�n de lectura m�s f�cil y de modificaci�n m�s sencilla.

Los programas se escriben para dos clases muy diferentes de lectores: el individuo que los ejecuta y las dem�s personas que tal vez necesiten leerlos y revisarlos. Para este segundo grupo el programador inserta comentarios en lenguaje natural, espacia las instrucciones y se esfuerza porque el programa sea tan directo como sea posible. Los dise�adores se esfuerzan continuamente por lograr que los lenguajes de programaci�n sean m�s naturales y m�s accesibles a los legos, por razones no s�lo econ�micas sino tambi�n t�cnicas; al mundo de los negocios le agradar�a mucho prescindir de los programadores y poder poner a sus propios empleados y ejecutivos en estrecho contacto con sus computadoras. Sigue siendo un hecho inevitable que los lenguajes actuales de programaci�n son m�s bien c�digos que lenguajes naturales: los humanos deben ir al encuentro de la m�quina mucho m�s all� del punto medio. La computadora retiene gran parte de su misterio precisamente porque su medio de comunicaci�n es un c�digo, dif�cil de descifrar y m�s dif�cil a�n de recordar. Los lenguajes de computaci�n escritos por un especialista son casi siempre ilegibles por otro si no hay amplios comentarios en lenguaje natural; todos los programadores han enfrentado la experiencia frustrante de no poder descifrar alg�n c�digo que ellos mismos escribieron unas cuantas semanas o meses antes.

Fondo 2000 �ndice Anterior Nivel anterior Siguiente