Rango Finito

fotoscódigoobservatorioshermanocerdo temas plots

corrección

Texas

La placa del carro que nos cerró el camino cuando veníamos del aeropuerto era de Texas. El taxista lo notó, semiadelantó al carro infractor por la izquierda, abrió la ventana del copiloto y le gritó al conductor “Esto no es Texas” en ese acento lindo que tiene la gente de acá. Y luego agregó: “Si no llevara a un bebé, le cerraría el paso y dejaría que eso lo arregle la policía.” Luego nos pidió disculpas por el incidente. Yo le dije que no tenía por qué: había hecho lo correcto. Cuando nos bajamos del taxi me dio la mano y me dijo que esperaba que disfrutáramos de su ciudad.

La educación de un programador

En este artículo de (creo) 1978, E. W. Dijkstra habla de la relación íntima entre programación y matemática y de paso explica las razones por las que un programador competente debe tener bases matemáticas sólidas y amplias.

In reaction to the recognition that we did not know how to program well enough, people began to ask themselves how a really competent programmer would look like. What would we have to teach if we wanted to educate a next generation of really competent programmers? This became the central question of the study that later would become known as “programming methodology”. A careful analysis of the programmer’s task was made, and programming emerged as a task with a strong mathematical flavour. As I have once put it “Programming is one of the hardest branches of applied mathematics because it is also one of the hardest branches of engineering, and vice versa”. Why the programming task has such a strong mathematical flavour is something I shall indicate later.

A lower bound for what the adequate education of a really competent programmer should comprise was very convincingly established, but it was not an easy message to sell, because it demonstrated by necessity the total inadequacy of the education of what is known as “the average programmer”. The world today has about a million “average programmers”, and it is frightening to be forced to conclude that most of them are the victims of an earlier underestimation of the intrinsic difficulty of the programmer’s task and now find themselves lured into a profession beyond their intellectual capabilities. It is a horrible conclusion to draw, but I am afraid that it is unavoidable.

Creo que Dijkstra sobreestima el papel de los formalismos incluso dentro de la matemática. Buena parte de la labor de los matemáticos se funda sobre exploraciones erráticas no particularmente asentadas en la lógica (este asentamiento (sin duda necesario) hace parte de una etapa posterior del juego para blindar y presentar los resultados). De todas maneras es evidente que un cierto nivel de cultura matemática general (y comodidad para aplicarla) fortalece la capacidad de un programador para resolver problemas intrínsecos de su trabajo.