next up previous
Next: El lenguaje Convert, la Up: COMPUTADORAS Y PROCESOS SIMBÓLICOS Previous: ?`Las computadoras pueden pensar?

La Computadora y los símbolos

Al mismo tiempo que se elaboraban estas construcciones formales, se desarrollaba también la tecnología electrónica, de manera que al confluir ambos procesos, se posibilitó la construcción de las modernas computadoras.


Aunque originalmente las primeras computadoras, se construyeron para realizar operaciones aritméticas en gran escala, muy pronto fue evidente que también se podían utilizar para otro tipo de manipulación de símbolos, porque ciertamente, los números son también símbolos pero no son todos los símbolos; existen otros -quizá más importantes- de diferente naturaleza.


En efecto, muy rápidamente la computadora comenzó a ser utilizada en el manejo de información no numérica; principalmente en el texto escrito y los símbolos de la matemática no aritmética.


Desde las primeras aplicaciones no numéricas, fue posible obtener no sólo los resultados inicialmente esperados, sino también la consolidación de ciertos procedimientos de orden general. Tal es el caso de IPL, un conjunto de subrutinas elaboradas por Newell, Simon y Shaw en el Instituto Tecnológico de Carnegie orientadas a organizar datos con el empleo de estructuras distintas a las tablas, en las que las relaciones que guardan con los datos entre sí, son tan importantes como los datos mismos.


De igual forma surge FLPL (Fortran List Processing Language), como una colección de subrutinas -construidas en Fortran- que permitieron organizar información en forma de estructuras ramificadas. Aunque debe decirse que su éxito fue limitado.


No tardaron en surgir verdaderos lenguajes de programación, entre los cuales merecen mención especial COMIT, desarrollado por V. Yngre y Lisp (List Processor), desarrollado por John McCarty - y sus alumnos-, en el Instituto Tecnológico de Massachusetts al final de los 50's. Lisp se convertiría por antonomasia, en el lenguaje de las aplicación en inteligencia artificial.


Lisp reunió en su definición pocos conceptos, pero todos ellos de importancia capital: estructuras ramificadas (árboles binarios o listas), uso de texto escrito, recursividad y el concepto de máquina universal. Como puede apreciarse, resulta ser un lenguaje compacto, consistente consigo mismo.


Lisp incluyó la recursividad, posiblemente porque su autor fue estudiante de la Universidad de Princeton en donde las ideas de Church, Post y Turing tenían considerable arraigo y difusión.


Fue también el primer lenguaje que comprendía el concepto de función universal.


No obstante que fue el lenguaje que mejor potenció la computación simbólica, dado que su diseño reunió la elegancia, la flexibilidad y la sencillez, sufrió de algunas deficiencias de índole pragmática:


1.
La recursividad inevitable en Lisp, ya que forma parte del lenguaje exige la conservación de resultados parciales aún cuando no se usen, por ello, los programas en Lisp requieren grandes capacidades de memoria y también prolongados tiempos de ejecución. No es propiamente una deficiencia de lenguaje, sino una característica de la naturaleza de los problemas a los que se aplica.
2.
Sus deficiencias para cálculo numérico fueron tan agudas, porque carecía de aritmética elemental de cualquier tipo. Esta carencia es más imputable a la pereza de los autores que a una imposibilidad conceptual, aunque no faltó quién intentara -con poco éxito- subsanarla.


La programación involucrada no es difícil, pero la definición misma de un número es más compleja y profunda que la de un conjunto.


Para un manejo adecuado de la aritmética, los lenguajes deben distinguir a los números de entre los otros símbolos. La compresión del concepto número, requiere de sólidos fundamentos en el lenguaje y su acercamiento conceptual, exige elaborados esquemas matemáticos para su construcción formal. Y esto lo deben ofrecer de manera que no importunen al usuario con formas grotescas para indicar la aritmética.

3.
Otras quejas menores, producto de las características cosméticos del lenguaje, entre las que se pueden citar el empleo de la notación funcional y el abundante uso de paréntesis.

\begin{figure}
\centering
\begin{picture}
(260,200)
\put(0,0){\epsfxsize=260pt \...
...\vss}\hss}\special{ps:currentpoint grestore moveto}\ }
\end{picture}\end{figure}


next up previous
Next: El lenguaje Convert, la Up: COMPUTADORAS Y PROCESOS SIMBÓLICOS Previous: ?`Las computadoras pueden pensar?
Microcomputadoras
2000-12-12