Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Edgar Serna Montoya
Edgar Serna Montoya
Fue uno de los más influyentes miembros de Entre sus contribuciones a la informática
la generación fundadora de las ciencias están “el algoritmo de caminos mínimos”,
computacionales. Son notables son aportes también conocido como “Algoritmo de
científicos en las áreas de: Dijkstra”, y haber sido el impulsor de un
Diseño de Algoritmos nuevo paradigma para la época, “la
Lenguajes de programación programación estructurada”. Era conocido
Diseño de programas por su baja opinión de la sentencia GOTO en
Sistemas operativos programación, que culminó en 1968 con su
Procesamiento distribuido artículo “Go To Statement Considered
Especificación y verificación formal Harmful”, visto como un paso importante
Diseño de argumentos matemáticos hacia el rechazo de esta expresión y de su
eficaz reemplazo por estructuras de control
Además, fue admirable su incesante deseo como el bucle while. Era un aficionado bien
por enseñar y por lograr la integración entre conocido de Algol60 y trabajó en el equipo
la ciencia computacional académica y la que desarrolló el primer compilador para
industria del software. En sus casi cuarenta este lenguaje; creó el primer sistema
años como científico computacional operativo con estructura jerárquica de
influenció a ambos sectores, y sus niveles o capas, denominado “THE” -
contribuciones le merecieron innumerables Technische Hogeschool, Eindhoven- que se
premios y reconocimientos, incluyendo el utilizó con fines didácticos.
más alto honor de las ciencias
computacionales, el ACM Turing Award en Desde los años 70, su principal interés fue la
1972. verificación formal. La opinión que
prevalecía entonces era que primero se debe
Estudió física teórica en la Universidad de escribir un programa y seguidamente
Leiden. Trabajó como investigador para proporcionar una prueba matemática de su
Burroughs Corporation a principios de los corrección. Dijkstra objetó que las pruebas
años 1970. En la Universidad de Texas en que resultan son largas e incómodas, y que la
Austin, Estados Unidos, ocupó el prueba no da ninguna comprensión de cómo
Schlumberger Centennial Chair in Computer se desarrolló el programa. Diseñó un método
Sciences. Se retiró en 2000. alternativo al que llamó “la derivación de
programas”, según el cual se deben
~ 107 ~
“desarrollar prueba y programa trabajos tratan sobre las maneras de hacer
conjuntamente”: se comienza con una fluida la argumentación matemática. Dijkstra
especificación matemática de lo que se murió el 6 de agosto de 2002 después de una
supone que el programa va a hacer, luego se larga lucha contra el cáncer.
aplican transformaciones matemáticas a la
especificación hasta que se transforma en un La siguiente es la traducción al español de su
programa que se pueda ejecutar. El artículo: “On the cruelty of really teaching
programa resultante se determina correcto computing science” - EWD1036, de 1988.
por construcción. Muchos de sus últimos
~ 108 ~
acusaciones a Einstein– cuando decidió alternativa al valioso uso del cerebro,
suprimir su descubrimiento de la geometría llamado "hacer matemáticas", alejando así el
no Euclidiana, dejando que Bolyai y peligro de la novedad radical mediante el
Lobatchewsky recibieran las críticas. Es simple método de ajustar sus definiciones a
probablemente más revelador ir un poco más sus necesidades: simplemente por definición,
atrás, a la Edad Media, en la que era las matemáticas continuarán siendo lo que
característico pensar que "razonar mediante solían ser. Demasiado para los matemáticos.
analogías" era descontrolado; otra
característica era el total estancamiento Déjenme darles un ejemplo más de la
intelectual, y ahora vemos porque ambas desconfianza generalizada acerca de la
características van juntas. existencia de las novedades radicales y, por
consiguiente, de la necesidad de aprender
Una razón para mencionar esto es resaltar cómo tratar con ellas. Es el accionar
que, si se desarrolla un oído entrenado para educacional que prevalece, para el cual el
las analogías no garantizadas, uno puede cambio, casi imperceptible, parece ser el
detectar gran cantidad de pensamiento paradigma exclusivo. ¡Cuántos textos
medieval hoy. La otra cosa que no puedo educacionales no son recomendados porque
resaltar lo suficiente es que la fracción de la apelan a la intuición del estudiante!
población, para la cual el cambio gradual Constantemente tratan de presentar todo
parece ser cualquier cosa menos el único aquello que podría ser una emocionante
paradigma de la historia, es muy grande, novedad, como les sea posible, como algo
probablemente mucho más grande de lo que muy familiar. Conscientemente tratan de
se esperaría. Ciertamente cuando comencé a vincular el material nuevo con lo que se
observarlo, su número resultó ser mucho supone es el mundo familiar del estudiante.
mayor de lo que esperaba. Por ejemplo, la Por ejemplo al enseñar aritmética: en lugar
gran mayoría de la comunidad matemática de enseñar 2 + 3 = 5, el horrendo operador
nunca confrontó la suposición tácita de que aritmético "más" es cuidadosamente
hacer matemáticas continúa básicamente disfrazado llamándolo "y", y a los pequeños
como el mismo tipo de actividad mental que niños se les presentan primero varios
siempre fue: los nuevos temas vendrán, ejemplos familiares, con objetos claramente
florecerán y se irán como lo hicieron en el visibles como manzanas y peras, en contraste
pasado; pero siendo lo que es el cerebro al uso de objetos numerables como
humano y nuestras formas de enseñar y porcentajes y electrones, que no lo son. La
aprender, el entendimiento, las misma tonta tradición se refleja en la
matemáticas, la resolución de problemas y el universidad en diferentes cursos
descubrimiento matemático continuarán introductorios de cálculo para los futuros
siendo básicamente lo mismo. físicos, arquitectos o economistas, en los que
cada uno los adorna con ejemplos de sus
Herbert Robbins expone claramente por qué respectivos campos.
descarta un salto cuántico en la habilidad
matemática: El dogma educacional parece ser que todo
Nadie va a correr 100 metros en cinco está bien siempre y cuando el estudiante no
segundos, sin importar cuánto se invierta en se dé cuenta que está aprendiendo algo
entrenamiento y máquinas. Lo mismo puede verdaderamente nuevo; generalmente, el
decirse acerca del uso del cerebro. La mente presentimiento del estudiante es de hecho
humana no es diferente ahora de lo que era correcto. Considero como un serio obstáculo
hace cinco mil años. Y cuando se trata de
la falencia de una práctica educativa en
matemáticas, hay que darse cuenta que se
trata de utilizar la mente humana al límite de preparar a la próxima generación para el
su capacidad. fenómeno de novedades radicales. Cuando el
Rey Fernando visitó la conservadora
Mi comentario en el margen fue "¡entonces universidad de Cervera, el Rector
reduzca el uso del cerebro y calcule!". orgullosamente le dijo al monarca: "Lejos
Usando la propia analogía de Robbins, se esté de nosotros, Señor, la peligrosa novedad
puede resaltar que, para ir rápido desde A de pensar". Los problemas de España en el
hasta B, pueden existir alternativas a la de siglo que siguió justifican mi caracterización
correr, que son órdenes más efectivas. del problema como "serio". Demasiado para
Robbins rechaza de plano analizar cualquier
~ 109 ~
adoptarse en la educación el paradigma de confrontamos un cociente completamente
cambio gradual. abrumador de 109. El programador está en la
desigual posición en la que la suya es la única
El concepto de novedades radicales es de disciplina y profesión donde un cociente tan
importancia contemporánea ya que, mientras gigante, lo cual completamente sobrepasa
estamos mal preparados para tratar con nuestra imaginación, debe consolidarse por
ellas, la ciencia y la tecnología no se una sola tecnología. Debe poder pensar en
muestran expertas en influirlas sobre términos de jerarquías conceptuales que son
nosotros. Ejemplos científicos antiguos son la mucho más profundas que todas aquellas que
teoría de la relatividad y la mecánica debió enfrentar una sola mente alguna vez.
cuántica; ejemplos tecnológicos modernos Comparado con ese número de niveles
son la bomba atómica y la píldora. Durante semánticos, la teoría matemática promedio
décadas, los dieron lugar a un torrente de es casi plana.
corrientes religiosas, científicas o cuasi-
científicas. Día a día podemos observar el Evocando la necesidad de profundas
profundo error de enfoque con el cual los jerarquías conceptuales, la computadora
últimos se abordan, ya sea por nuestros automática nos confronta con un radical
políticos y líderes religiosos o por el público desafío intelectual que no tiene precedente
en general. Demasiado para el daño hecho a histórico. Nuevamente, debo enfatizar esta
nuestra paz mental por las novedades novedad radical ya que el verdadero
radicales. creyente en el cambio gradual y las mejoras
incrementales no puede verla. Para él, una
Traje esto a colación debido a mi computadora automática es algo como una
convencimiento de que las computadoras familiar caja registradora, sólo que algo más
automáticas representan una novedad radical grande, rápida y más flexible. Pero la
y de que sólo identificándolas como tal analogía es ridículamente superficial: en
podemos identificar todo lo irrelevante, los órdenes de magnitud es como comparar un
conceptos errados y la mitología que las medio de transporte como el avión
rodea. Una inspección más a fondo revelará supersónico, con un bebé que gatea, ya que
que esto es todavía peor, ya que que las el cociente de velocidad es sólo de mil.
computadoras automáticas engloban no sólo
una novedad radical sino dos de ellas. La La segunda novedad radical es que la
primera es una consecuencia directa del computadora automática es nuestro primer
poder bruto de las computadoras actuales. dispositivo digital de gran escala. Tuvimos un
Todos sabemos cómo tratar con algo tan par de notables componentes discretos:
grande y complejo: divide y vencerás; por acabo de mencionar la caja registradora y
ejemplo, vemos el todo como una podemos agregar la máquina de escribir con
composición de partes y tratamos con las sus teclas individuales, con un sólo golpe
partes por separado, y si una parte es muy podemos escribir una Q o una W pero,
grande, repetimos el procedimiento: la aunque las teclas están una al lado de la
ciudad se estructura en barrios, que a su vez otra, nunca se mezclan las dos. Pero tales
se estructuran en calles, que contienen mecanismos son la excepción, y la amplia
edificios, que están hechos de paredes y mayoría de nuestros mecanismos son vistos
pisos, que están construidas de ladrillos..., como dispositivos analógicos cuyo
eventualmente se llega a las partículas comportamiento sobre un amplio rango es
elementales. Y tenemos a todos nuestros una función continua de todos los parámetros
especialistas sobre el tema, desde el involucrados: si presionamos la punta del
ingeniero civil, el arquitecto y el físico de lápiz un poco más fuerte, obtenemos una
estado sólido y demás. Ya que, en cierto línea levemente más gruesa; si el violinista
sentido, el todo es más grande que sus ubica su dedo levemente fuera de su posición
partes, la profundidad de una correcta, reproduce una nota levemente
descomposición jerárquica es algún tipo de desafinada. A esto debería agregar que, al
logaritmo del cociente entre los tamaños del punto que nos vemos como mecanismos, nos
todo y las partes más pequeñas. vemos primordialmente como dispositivos
analógicos: si nos esforzamos un poco más
Desde un bit a cien mega bytes, desde un esperamos rendir un poco más. A menudo el
microsegundo a media hora de cómputos, comportamiento no es solamente una función
~ 110 ~
continua sino también monótona, ya que pero no es así, ya que si lee cuidadosamente
para ver si un martillo es adecuado sobre un su literatura y analiza lo que realmente
cierto rango de clavos, lo probamos con el hacen quienes se avocan a ella, se descubrirá
más pequeño y el más grande de los clavos que la ingeniería de software adopta como
del rango, y si el resultado de ambos estatuto el "Cómo programar si usted no
experimentos es positivo, estamos puede".
perfectamente predispuestos a creer que el
martillo será apropiado para todos los clavos La popularidad de su nombre es suficiente
intermedios. para hacerla sospechosa. En lo que
denominamos sociedades primitivas, la
Es posible, inclusive tentador, ver un superstición de que conocer el verdadero
programa como un mecanismo abstracto, nombre de alguien otorgaba un poder mágico
como alguna clase de dispositivo. Pero sobre él, no es inusual. Difícilmente somos
hacerlo, sin embargo, es altamente menos primitivos: ¿por qué persistimos en
peligroso, ya que la analogía es muy contestar el teléfono con el poco útil "aló" en
superficial debido a que un programa es, vez de nuestro nombre? Tampoco estamos
como mecanismo, totalmente diferente de por encima de la primitiva superstición de
todos los familiares dispositivos analógicos que podemos tener cierto control sobre algún
con los cuáles crecimos. Como toda la demonio malicioso desconocido llamándolo
información digitalizada, tiene la inevitable e por un nombre seguro, familiar e inocente,
incómoda propiedad de que la menor de las tal como ingeniería. Pero esto es totalmente
posibles perturbaciones –cambios a un sólo simbólico, así como demostró uno de los
bit– puede tener las más drásticas fabricantes de computadoras de los EE.UU.
consecuencias. Para complementar agrego hace unos años, cuando contrató a cientos de
que la situación no cambia en su esencia por nuevos "ingenieros de software" mediante el
la introducción de la redundancia o la simple mecanismo de elevar a todos sus
corrección de errores. En el mundo discreto programadores a ese exaltante rango.
de la computación, no hay métrica Demasiado para ese término.
significativa en la cual pequeños cambios y
pequeños efectos vayan de la mano, y nunca La práctica está impregnada de la
los habrá. Esta segunda novedad radical confortable ilusión de que los programas son
comparte el destino usual a todas las simplemente dispositivos como cualquier
novedades radicales: es negada, porque su otro, la única diferencia que se admite es
verdad sería demasiado incómoda. No tengo que su fabricación pueden requerir un nuevo
idea lo que esta negación y descreencia tipo de especialistas: los programadores.
específica le cuesta a los Estados Unidos, Desde allí hay sólo un pequeño paso hasta
pero un millón de dólares al día parece una medir la “productividad del programador” en
modesta estimación. términos de la “cantidad de líneas
producidas por mes”. Esta es una unidad de
Luego de describir, en los términos más medida muy costosa, porque anima a escribir
amplios posibles, lo admito, la naturaleza de código insípido, y si la idea es contar líneas
las novedades computacionales, debo ahora de código, no deben verse como “líneas
proveer la evidencia de que tales novedades producidas”, sino como “líneas gastadas”. El
son, de hecho, radicales. Lo haré explicando sentido común actual es tan tonto como el
una serie de fenómenos que de otra manera hecho de contabilizar una cuenta del lado
serían extraños por la frustrante ocultación o erróneo del balance.
negación de su aterradora extrañeza. Cierta
cantidad de estos fenómenos se agrupan bajo Además de la noción de productividad, el
el nombre de "Ingeniería de Software". Así control de calidad también se distorsiona por
como la economía es conocida como "La la confortable ilusión de que los programas
ciencia miserable", la ingeniería de software funcionan como lo hacen otros aparatos. Han
debería ser conocida como "La disciplina pasado ya dos décadas desde que se señaló
condenada"; condenada porque ni siquiera que el testing de programas puede
puede acercarse a su meta, dado que la convincentemente demostrar la presencia de
misma es en sí misma contradictoria. La errores, pero nunca puede demostrar su
ingeniería de software, por supuesto, se ausencia. Después de citar devotamente este
presenta a sí misma como otra causa valiosa, comentario bien publicitado, el ingeniero de
~ 111 ~
software vuelve al orden del día y continúa consecuencias educativas son, por supuesto,
refinando sus estrategias de testing, tal como las más engorrosas, por lo tanto se discutirán
el alquimista de antaño, quien refinaba sus luego; primero tratemos con las ciencias de
purificaciones crisocósmicas. la computación en sí mismas. ¿Qué es la
computación? ¿De qué trata la ciencia de la
Un profundo malentendido revela el término computación? Una vez que todo está dicho y
“mantenimiento de software” como hecho, la única cosa que los computadores
resultado del cual muchas personas creen pueden hacer por nosotros es manipular
que los programas –inclusive los mismísimos símbolos y producir resultados de tales
lenguajes de programación– están sujetos a manipulaciones. De las observaciones
desgaste y ruptura. Es famosa la historia de previas, es necesario recordar que este es un
la empresa petrolera que creía que sus mundo discreto y, más aún, tanto los
programas en PASCAL no durarían tanto como números como los símbolos involucrados y la
sus programas en FORTRAN “porque PASCAL cantidad de manipulaciones realizadas, son
no tenía soporte”. En el mismo sentido órdenes de magnitudes mayores a los que el
también llama la atención la sorprendente hombre puede concebir: desconciertan
facilidad con que se acepta la sugerencia de totalmente cualquier imaginación y por lo
que los males de la producción de software tanto no es conveniente siquiera tratar de
de deben, en gran medida, a la falta de imaginarlas.
“herramientas de programación” apropiadas
–no falta sino que aparezca la frase “banco Pero antes que un computador esté listo para
de trabajo del programador”. Nuevamente, realizar alguna clase de manipulación con
lo miope de la analogía subyacente se debe a sentido –o cálculo, si se prefiere– es
la Edad Media: las confrontaciones con las necesario escribir un programa. ¿Qué es un
insípidas “herramientas” del tipo de programa? Varias respuestas son posibles: se
“animación de algoritmos” con el que puede ver como lo que transforma un
actualmente se quiere comparar al desarrollo computador de propósito general en un
de software, recuerda el proceso del negocio manipulador de símbolos de propósito
de aceite de serpientes de aquella época. específico, y lo hace sin necesidad de
cambiar un solo cable; lo que fue una
Finalmente, para corregir la posible enorme mejora respecto de las máquinas con
impresión de que la inhabilidad de enfrentar paneles de cables dependientes del
la novedad radical está confinada al mundo problema. Es mejor describirlo de la otra
industrial, analicemos la actual popularidad manera: un programa es un manipulador de
de la Inteligencia Artificial. Se esperaría que símbolos abstracto, que puede convertirse en
la gente se sintiera aterrorizada por los uno concreto suministrándole un
“cerebros gigantes de máquinas que computador. Después de todo, el propósito
piensan”; de hecho, el atemorizante de los programas ya no es más instruir a las
computador se vuelve menos atemorizante si máquinas, en estos días, el propósito de las
se utiliza solamente para simular un no- máquinas es ejecutar los programas.
computador más familiar. Con toda seguridad
que esta explicación será controvertida por Por lo tanto, es necesario diseñar
bastante tiempo dado que la Inteligencia manipuladores de símbolos abstractos. Que
Artificial, como imitadora de la mente se vean como programas o, para usar una
humana, prefiere verse a sí misma como a la terminología más general, usualmente
vanguardia, mientras que la anterior fórmulas de algún sistema formal un tanto
explicación la relega a la retaguardia. “El elaboradas. Realmente ayuda ver a un
esfuerzo de utilizar máquinas para imitar la programa como una fórmula: primero, pone
mente humana siempre me ha parecido la tarea del programador en la perspectiva
bastante tonto: las usaría para imitar algo correcta, tiene que derivar esa fórmula;
mejor”. segundo, explica por qué el mundo de las
matemáticas ignora el desafío de la
Hasta aquí la evidencia de que las novedades programación, los programas eran fórmulas
computacionales son, de hecho, radicales. mucho más largas que las usuales, al punto
Ahora viene la segunda –y más difícil– parte que ni siquiera las reconocieron como tales.
de esta charla: las consecuencias educativas Ahora, de vuelta al trabajo del programador:
y científicas de lo ya expuesta. Las tiene que derivar esa fórmula, tiene que
~ 112 ~
derivar ese programa, y se conoce una única no están mentalmente preparados para
forma confiable de hacerlo, mediante la aceptar que sólo resolvieron los problemas
manipulación de símbolos. más simples a precio de crear uno mucho
más difícil
Ahora el círculo está cerrado: se construyen 3. La subcultura del programador
manipuladores de símbolos mecánicos compulsivo, cuya ética prescribe que una
mediante la manipulación de símbolos idea tonta y un mes de codificación
humanos. Por lo tanto, la ciencia de la frenética, deberían bastar para hacerlo
computación está –y siempre estará– millonario de por vida
relacionada con la interacción entre la 4. Los ingenieros en computación, quienes
manipulación de símbolos mecanizada y quisieran continuar actuando como si
humana, usualmente llamadas fuera solamente cuestión de mayor flujo
“computación” y “programación”, de bits o más flops por segundo
respectivamente. Un beneficio inmediato de 5. Los militares, quienes están hoy
esta visión es que revela a la “programación totalmente absorbidos por el negocio de
automática” como una contradicción de usar computadores para transformar
términos; y un beneficio posterior es que partidas de miles de millones de dólares
indica dónde ubicar la ciencia de la en la ilusión de seguridad automática
computación en el mapa de las disciplinas 6. Todo tipo de ciencias para las cuales la
intelectuales: en la dirección de la computación ahora actúa de alguna
matemática formal y la lógica aplicada, pero especie de refugio interdisciplinario
mucho más allá de donde se encuentra 7. El negocio educativo que siente que, si
actualmente, dado que la ciencia de la tiene que enseñar matemática formal a
computación se interesa en el uso efectivo los estudiantes de Ciencias de la
de los métodos formales en una escala Computación, también deberían cerrar sus
mucho, mucho mayor de la que el ser facultades.
humano ha sido testigos hasta ahora.
Con este último ejemplo se alcanza,
Dado que ningún emprendimiento es imperceptiblemente pero también
respetable por estos días sin una Sigla de inevitablemente, la parte más engorrosa de
Tres Letras STL, propongamos que se adopte, esta charla: consecuencias educativas. El
para la ciencia de la computación, la sigla problema con la política educativa es que es
IMF -Iniciativa de los Métodos Formales-, y, difícilmente influenciada por consideraciones
para estar del lado seguro, es mejor seguir científicas derivadas de los tópicos dictados,
los brillantes ejemplos de nuestros líderes y y casi completamente determinada por
hacer de ella una Marca Registrada. En el circunstancias ajenas a la ciencia, como las
largo plazo se espera que la ciencia de la expectativas conjugadas de los estudiantes,
computación trascienda a sus disciplinas sus padres y sus futuros empleadores, y el
padres, matemática y lógica, de forma enfoque prevaleciente del rol de la
efectiva y realizando una parte significativa universidad. ¿El acento está en formar sus
del sueño de Leibniz: proveer un cálculo graduados para los trabajos de nivel inicial
simbólico como una alternativa al de hoy o en proveer a sus alumnos con el
razonamiento humano. Nótese la diferencia bagaje intelectual y las actitudes que
entre “imitar” y “proveer” una alternativa. perduraran por otros 50 años? ¿Se le da
rencorosamente a las ciencias abstractas solo
De más está decir que esta visión acerca de un rincón lejano en el campus, o se
lo qué trata la ciencia de la computación no reconocen como el motor indispensable de la
es universalmente aplaudida. Por el industria de alta tecnología? Aún si se hace lo
contrario, encuentra oposición –a veces hasta último, ¿se reconoce una industria de alta
violenta– desde todo tipo de direcciones. tecnología como tal si su tecnología
Mencionemos como ejemplos: pertenece principalmente a las matemáticas
1. La comunidad matemática, que quisiera formales? ¿Proveen las universidades a la
continuar creyendo que el Sueño de sociedad el liderazgo intelectual que
Leibniz es una ilusión irreal necesita o sólo el entrenamiento que
2. La comunidad empresarial, quienes, demanda?
habiéndoseles vendido la idea de que los
computadores harían la vida más simple,
~ 113 ~
La retórica académica tradicional está las violaciones, digamos veinticinco centavos
perfectamente dispuesta a dar a estas para estudiantes de grado, cincuenta
cuestiones las respuestas tranquilizadoras, centavos para estudiantes de postgrado y
pero es difícil creerlas. A modo de cinco dólares para miembros de la facultad,
ilustración, en un artículo de David Flaherty para final del primer semestre del nuevo
(Flaherty, 1988), groseramente se establece régimen, se habrá recolectado suficiente
que “Además, la élite de los negocios dinero para dos becas.
descarta a los académicos e intelectuales
como ampliamente irrelevantes e La razón para esta última sugerencia es que
impotentes”. Así, si se mira en una borrosa la metáfora antropomórfica –por cuya
bola de cristal hacia el futuro de la introducción se puede culpar al mismo John
educación en ciencias de la computación, von Neumann– es una enorme desventaja
sobrecogedoramente se ve la deprimente para cada comunidad informática que la
imagen del "negocio acostumbrado". A las adoptó. Se encuentran programas que
universidades les seguirá faltando el coraje quieren cosas, saben cosas, esperan cosas,
de enseñar ciencia dura, continuarán creen cosas, etc., y cada vez eso genera
orientando mal a los estudiantes, y cada confusiones evitables. La analogía que
nuevo escalón de infantilización del subyace a esta personificación es tan
currículum será exaltado como progreso superficial que no es solamente engañosa
educativo. sino también paralizante. Es engañosa en el
sentido que sugiere que se puede lidiar con
Este ejercicio de observar en la borrosa bola el desconocido discreto en términos del
de cristal, ofrece predicciones familiar continuo, es decir, nosotros mismos,
invariablemente melancólicas y usualmente quod non. Es paralizante en el sentido que,
correctas, a las que es necesario debido a que las personas existen y actúan en
acostumbrarse, y que no sean impedimentos el tiempo, su adopción efectivamente impide
para hacer sugerencias, aunque sea un despegue de la semántica operacional y
meramente un ejercicio vano cuyo único lleva a las personas a pensar sobre los
efecto es hacerlos sentir culpables. Por programas en términos de comportamientos
ejemplo, se puede comenzar por limpiar el computacionales, basados en un modelo
lenguaje con que se expresan los términos computacional subyacente. Esto es malo,
computacionales: denominar a un bug como porque el razonamiento operacional es un
error y no como bug -bicho, fastidio, tremendo desperdicio de esfuerzo mental.
sabandija (Nota del traductor). Es mucho más
honesto porque pone manifiestamente la Vamos a explicar la naturaleza de ese
culpa donde corresponde, es decir, en el tremendo desperdicio y que la frase
programador que cometió el error. La “tremendo desperdicio de esfuerzo mental”
metáfora animada del bug que se introdujo no es una exageración. Es necesario asumir
maliciosamente mientras el programador no un lenguaje altamente técnico: es el tipo de
estaba mirando es intelectualmente matemáticas que se puede hacer con las
deshonesta, ya que disfraza el hecho de que manos en los bolsillos. El punto a comunicar
el error es propia creación del programador. es que si se tiene que demostrar algo
Lo agradable de este simple cambio de respecto de todos los elementos de un
vocabulario es que tiene un profundo efecto: conjunto grande, es desesperanzadamente
antes, un programa con sólo un error solía ineficiente tratar con todos los elementos del
ser “casi correcto”, después de ello un conjunto individualmente: el argumento
programa con un error es simplemente eficiente no se refiere a elementos
“erróneo” -porque tiene un error. individuales en lo absoluto y se lleva a cabo
Otra sugerencia lingüística, un poco más en términos de la definición del conjunto.
rigurosa, es confrontar el síndrome de “si- Consideremos la figura plana Q, definida
este-tipo-quiere-hablarle-a-ese-tipo”: nunca como el cuadrado de 8 por 8 del cual, en dos
se refieran a partes de programas o piezas de esquinas opuestas, se quitan dos cuadrados
equipo en una terminología antropomórfica, de 1 por 1. El área de Q es 62, que equivale
ni permitan hacerlo a sus estudiantes. Esta al área combinada de 31 cuadros de 1 por 2.
mejora lingüística es mucho más difícil de El teorema es que la figura Q no puede ser
implementar de lo que podrían pensar: si se cubierta por 31 de estos cuadros. Otra
considerara la introducción de multas para manera de exponer el teorema es que si se
~ 114 ~
utiliza papel cuadriculado y se cubre éste el texto de los programas mientras –
ubicando cada siguiente cuadro en dos temporalmente- se ignora que admiten la
nuevos recuadros adyacentes, ninguna interpretación de código ejecutable.
distribución de 31 cuadros dará como
resultado la figura Q. Así, una posible manera Otra manera de decir la misma cosa: un
de probar el teorema es generar todas las lenguaje de programación, con su sintaxis
posibles distribuciones de cuadros y verificar formal y las reglas de demostración que
para cada distribución que no da como definen su semántica, es un sistema formal
resultado la figura Q. para el cual la ejecución del programa
provee solamente un modelo. Es bien
El argumento simple, sin embargo, es como conocido que los sistemas formales deberían
sigue: pintar los recuadros del papel ser tratados por derecho propio, y no en
cuadriculado como un tablero de ajedrez. términos de un modelo específico.
Cada cuadro, cubriendo dos recuadros Nuevamente, el corolario es que se debe
adyacentes, cubre 1 recuadro blanco y 1 razonar sobre los programas sin siquiera
negro y, por consiguiente, cada distribución mencionar su posible “comportamiento”.
cubre tantos recuadros blancos como Hasta aquí esta excursión técnica en el
recuadros negros. En la figura Q, sin motivo por el cual el razonamiento
embargo, el número de recuadros blancos y operacional sobre la programación es “un
el número de recuadros negros difiere en 2 – tremendo desperdicio de esfuerzo mental” y
esquinas opuestas sobre la misma diagonal– y por qué, en consecuencia, en la ciencia de la
por consiguiente ninguna disposición de computación debería prohibirse la metáfora
cuadros da como resultado la figura Q. antropomórfica.
FUENTES
1. E. W. Dijkstra. (1989). On the cruelty of really teaching computing science. Communications
of the ACM, Vol. 32, No. 12, pp. 1398-1404.
2. Flaherty, D. H. (1988). Who Rules Canada? In Stephen Richards Graubard’s “In search of
Canada”, pp. 99-128.
3. Wikipedia.org
Ω
~ 116 ~