Programar sin computadora

Foto: Eduardo González Martínez

Programar sin computadora

1 / marzo / 2016

Luis Ángel Méndez Gort es un bicho raro entre sus compañeros de clases y sus profesores. No entienden que emplee tantas horas en escribir fórmulas en su libreta rayada, sin recurrir a una computadora para programar. El asunto es que este estudiante de cuarto año de Ingeniería Informática de la Universidad de Pinar del Río, ha escogido métodos distintos a los que usualmente le enseñan en las aulas para avanzar.

“Muchas veces programar se reduce a buscar una función en una biblioteca de funciones para que te resuelva el problema”, explica el todavía estudiante a los 27 años.

Luis investigó e hizo suyas las teorías de un científico de la computación holandés, Edsger Dijkstra, desconocido para la mayoría de quienes le rodeaban. Con el método Dijkstra ha hecho programas “elegantes y fáciles de entender”, que corren en la computadora sin problemas.

“Llegué a este estilo por mi preocupación de escribir los programas bien, pues los errores se me escapaban al escribir un programa y notaba que estaban ahí cuando los ejecutaba”, afirma.

Image

Luis Ángel Méndez, un bicho raro entre sus colegas. Foto: Eduardo González Martínez

El método Dijkstra se opone a la práctica imperante de escribir un programa primero y someterlo después a una corrección matemática. Con su propuesta, aunque más demorada, se obtiene un programa listo para ejecutarse, correcto desde su construcción.

“Como programador te enseñan que tal comando en tal lenguaje hace tal cosa y más o menos entiendes que debe hacerse así o de otra manera. Con la forma de Dijkstra estás obligado a especificar formalmente que hace el programa con una fórmula. Lleva un poco de más experiencia en lo que a manipular símbolos se refiere. Pasas de un estilo de programar muy informal en el que puedes cometer errores, a un estilo formal en el cual se evitan al máximo. Escribes bien desde el principio a partir de su especificación formal”.

Uno de sus profesores reconoce a Luis Ángel como un alumno autodidacta e inteligente. En la academia se dan las invariantes en la materia, y según confirma, el método elegido por el estudiante no se imparte allí.

En la casa de altos estudios, el proceso educativo está condicionado por lo que pueden ofrecer. A diferencia de otros centros, los educandos demoran en entrar en contacto con un equipo de desarrollo, para ver cómo funciona “el mundo real”. En la universidad pinareña no existe la infraestructura para ello y se aplican otras variantes como insertar a los jóvenes en centros de desarrollo informático durante sus prácticas.

“No me parece que los estándares de calidad con los que aspiro a programar sean los que la universidad exhorta a tener a los estudiantes”.

“Siento que se saltan muchos pasos y preferiría en vez de saber muchas cosas, conocer pocas pero con una formación sólida en el dominio de mi trabajo”, argumenta Luis.

El mundo actual de la programación en Cuba, quizás, camina por otros rumbos más pragmáticos. Pero Luis Ángel pretende fortalecer su preparación con un esfuerzo que tal vez nunca sea recompensado monetariamente.

“No hago esto para impresionar, sino por un interés genuino: evitar el error que a mí me pone los pelos de punta. Como en aritmética, este método implica calcular a mano y la gente lo ve como una desventaja; pero en realidad es una ventaja no tener que sentarte en la computadora a depurar códigos.

“El resultado son programas sencillos y pequeños. Las personas actualmente no le dan importancia porque se vive de hacer cosas más grandes, como los sitios web, a los cuales no llega esta teoría;  pero un sitio web está compuesto por muchos programas como estos y sería bueno entender cómo funcionan. Probablemente, nadie me pague por derivar un programa correctamente; pero el proceso me aporta la comprensión en estas escalas, algo que según la manera de enseñar generalizada nunca llegaría a entender”, concluye.

Image

Luis Ángel Méndez. Foto: Eduardo González Martínez

 

toque-promo

Si crees que nuestro periodismo es relevante para Cuba y su pueblo, queremos que sepas que este es un momento crítico.

Detrás de cada publicación hay un equipo que se esmera porque nuestros productos cumplan altos estándares de calidad y se apeguen a los valores profesionales y éticos.

Pero mantener la vigilancia sobre el poder, exigir transparencia, investigar, analizar los problemas de nuestra sociedad y visibilizar los temas ocultos en la agenda pública; es un ejercicio que requiere recursos.

Tú puedes contribuir con nuestra misión y por eso hoy solicitamos tu ayuda. Selecciona la vía que prefieras para hacernos llegar una contribución.

Evalúe esta noticia

cargando ...

comentarios

En este sitio moderamos los comentarios. Si quiere conocer más detalles, lea nuestra Política de Privacidad.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Leyi

Es bueno que los estudiantes busquen sus caminos para aprender
Leyi

yilver

Me agrada conocer personas con diversos intereses en la vida sigue así que vas muy bien hermano saludos de venezuela
yilver

El entrevistado

Pienso que la mejor manera de definir este estilo de programación la dio Dijkstra cuando dijo algo parecido a “hay dos formas de programar, una es como la manera de componer de Beethoven que escribía una nota musical y mientras seguía componiendo podía cambiarla muchas veces; a diferencia de Mozart que cuando escribía una nota esta quedaba en el papel para siempre”, es decir, en vez de corregir errores se trata de no introducirlos. El argumento a favor de este estilo parte de que programar algo necesariamente lleva a producir artefactos tan complicados que ningún humano puede entender completamente, por eso la elegancia en el trabajo se hace tan necesaria o de otra manera el fracaso está al acecho.
El entrevistado

MERCADO INFORMAL DE
DIVISAS EN CUBA (TIEMPO REAL)

toque_logo_white
1 EUR365.00 CUP
+2.68
1 USD355.00 CUP
1 MLC285.00 CUP
Calendar iconCUBA
publicidad_banenr
test
bell-notification

No te pierdas nuestras novedades

Suscríbete a las notificaciones y entérate al instante de todo lo que tenemos para ti: breaking news, alertas de mercado, transmisiones en vivo ¡y más!

No te pierdas
nuestras novedades

Suscríbete a las notificaciones y entérate al instante de todo lo que tenemos para ti: breaking news, alertas de mercado, transmisiones en vivo ¡y más!

bell-notification