Hace una semana, a la edad de 89 años, fallece en Suiza el profesor Niklaus Wirth. Conocido principalmente por la creación del lenguaje Pascal, fue realmente el padre de los lenguajes de programación. Nunca cesó de crear en ese campo: Euler, Algol W, Pascal, Modula, Modula-2 y Oberon. Sus lenguajes exhibían principios claros de diseño: legibilidad, regularidad, seguridad, economía de formas. Los lenguajes de programación crean abstracciones, las cuales se basan en supuestos o axiomas: es responsabilidad de la implementación del lenguaje vigilar que cada vez que se utiliza alguna abstracción se cumple con los supuestos en los cuales se basa. Un ejemplo sencillo es la abstracción "arreglo", que permite el acceso a elementos mediante índices, y donde habrá de vigilarse que el índice esté siempre dentro del rango del arreglo. Hay abstracciones más complejas, hasta llegar, por ejemplo, al concepto de objetos y herencia o extensión de tipos. Son muchos los supuestos en que se bas
Ya casi nadie se entusiasma con los algoritmos y las estructuras de datos. Los programadores andan a veinte o más capas de distancia del hardware, Ya no es mi programa, el compilador y la máquina. No. Mi programa está hecho de IMPORTS e INCLUDES, de métodos cuyos ancestros ni conocemos. Y ahora, con la IA interpuesta, ¿qué será de nosotros, los programadopres? Me ha gustado un corto post en Quora (y la imagen, que reproduzco arriba): https://qr.ae/py96uf
Leí ayer en el diario La Prensa, de Panamá, un artículo calzado por Miguel Angel Criado: Inteligencia Artificial . El tema de la IA, presentado así, parece orientado a hacernos sentir desplazados, empequeñecidos por las máquinas... Es la misma forma en que siempre se presenta ese tipo de artículos. ¿Y cómo debe entonces presentarse?. La polémica se ha dado por años; el quid de la cuestión es ¿Qué entendemos por inteligencia?; como no parece entenderse bien, se termina por considerar inteligente un algoritmo, que si bien es complejo e incluso ingenioso, no es más que un programa de computadora, como cualquier otro, que obtiene toda su eficacia de la alta velocidad de cómputo y de la alta capacidad de almacenamiento de información propias de esos dispositivos. Mencionamos arriba que el algoritmo podría incluso ser "ingenioso", pero ojo, es simplemente el ingenio de los programadores, no de los programas. No hay nada en esos algoritmos que el humano no pueda hacer, sólo que su