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.