Imágenes
Es prácticamente imposible enseñar programación correctamente a estudiantes que han estado expuestos al lenguaje BASIC con anterioridad. Como potenciales programadores, tienen la mente mutilada sin esperanza alguna de regeneración.
Edsger Dijkstra
La satisfacción del usuario no es un criterio de calidad para un producto de la computación.
El esfuerzo de utilizar las máquinas para emular el pensamiento humano siempre me ha parecido bastante estúpido. Preferiría usarlas para emular algo mejor.
La tarea del programador no es sólo escribir un programa, sino que su tarea principal es dar una prueba formal de que el programa que propone cumple la especificación funcional.
La industria no se siente responsable de educar a su gente, porque son extremadamente conservadores con sus productos; y así se pautan las demandas del usuario dentro de la industria.
En el mundo discreto de la computación, no hay métrica significativa en la cual pequeños cambios y pequeños efectos vayan de la mano, y nunca los habrá.
Hace años me presentaron la satisfacción del cliente como un criterio de calidad y me pareció ridículo. Es algo que se puede conseguir de muchas maneras. Por ejemplo, al no educar a los clientes, diciéndoles que no puede hacerse algo mejor.
La ciencia de la computación está -y siempre estará- relacionada con la interacción entre la manipulación de símbolos mecanizada y humana, usualmente llamadas computación y programación, respectivamente.
Evocando la necesidad de profundas jerarquías conceptuales, la computadora automática nos confronta con un radical desafío intelectual que no tiene precedente histórico.
El tremendo costo de programación es consecuencia de la mano de obra barata, lo que la vuelve muy costosa, y porque la gente se apresura a codificar. Una de las cosas que la gente aprende en las universidades hoy en día es a pensar primero; lo que vuelve al desarrollo más efectivo en término de costos.
Si deseamos contar líneas de código, no deberíamos verlas como líneas producidas, sino como líneas gastadas: el sentido común actual es tan tonto como contabilizar esa cuenta del lado erróneo del balance.
La ciencia de la computación no trata sobre las computadoras más de lo que la astronomía trata sobre los telescopios.
Los programas de pruebas pueden ser una forma eficaz de encontrar errores, pero es completamente inadecuada para demostrar su ausencia.
Las universidades no deberían temer a enseñar novedades radicales; por el contrario, es su llamado dar la bienvenida a la oportunidad de hacerlo. Su disposición a hacerlo es nuestra principal salvaguarda contra las dictaduras, sean del proletariado, del establishment académico, o de la élite corporativa.
La explotación eficaz de sus capacidades de abstracción debe ser considerada como una de las actividades más vitales de un programador competente.
Es imposible afinar un lápiz con una cuchilla desafilada. Es igualmente inútil tratar de hacerlo con diez.
La ingeniería de software, por supuesto, se presenta a sí misma como otra causa valiosa, pero es un colirio: si lee cuidadosamente su literatura y analiza lo que realmente hacen quienes se avocan a ella, descubrirá que la ingeniería de software ha adoptado como su estatuto Cómo programar si usted no puede.
Una de las cosas que debe hacer un científico de la computación es distinguir entre los problemas específicos de la ciencia de la computación y el uso de las computadoras en la sociedad.
Es tarea del profesor el motivar a sus estudiantes.
La pregunta de si un computador puede pensar no es más interesante que la pregunta de si un submarino puede nadar.
Creo firmemente que el potencial impacto de la computadora en las matemáticas en general será tan profundo en el siglo por venir como lo ha sido la influencia de la física en el análisis en el siglo pasado.
La ingeniería de software debería ser conocida como La Disciplina Condenada, condenada porque ni siquiera puede acercarse a su meta, dado que la misma es en sí misma contradictoria.
Si la depuración es el proceso de eliminar errores, entonces la programación debe ser el proceso de introducirlos.
¿Qué implica ser una institución destacada? Lo que más hace falta es: que un par de buenas universidades cuenten con sólidos y anticuados departamentos de ciencias de la computación.
Un lenguaje de programación, con su sintaxis formal y las reglas de demostración que define su semántica, es un sistema formal para el cual la ejecución del programa provee solamente un modelo.
No es tarea de la Universidad ofrecer lo que la sociedad le pide, sino lo que la sociedad necesita.