Software
TI

La importancia de reavivar la emoción por la programación

La codificación puede ser tediosa, aburrida y estresante. Por ello, alejarse para reflexionar sobre lo extraordinaria que es la programación de software puede traer de vuelta un mundo maravilloso.

programacion

Frederick P. Brooks Jr. escribió: “El programador, como el poeta, trabaja solo ligeramente alejado de la materia pura del pensamiento”. Esta es una  afirmación digna de reflexión y que puede servir para despertar la inspiración de estos profesionales. De hecho, se podría afirmar que la programación es una actividad que se mueve entre lo mental y lo físico, y que interactúa con la naturaleza lógica de la realidad. Y, es que, el programador se salta alegremente la división mente cuerpo que tanto ha confundido a los pensadores.

Admitido esto, podemos proponernos ejecutar, por medio de máquinas, la rama mecánica de estos trabajos, reservando para el intelecto puro lo que depende de las facultades de razonar”, llegó a decir Charles Babbage, creador del concepto de ordenador digital programable. Babbage y su colaborador, Lovelace, no concibieron un nuevo trabajo en el siglo XIX, sino un medio completamente nuevo. Obtuvieron una base física para nuestras ideas como una manera concreta de ponerlas a prueba y a disposición de otras personas para su consideración y elaboración. En este sentido, Brooks completa su pensamiento anterior cuando dice que “sin embargo, la construcción del programa, a diferencia de las palabras del poeta, es real en el sentido de que se mueve y funciona, produciendo resultados visibles de la misma construcción”.

A lo largo de los siglos se promulgó una especie de danza a cámara lenta entre el desarrollo mental y el mecánico para llegar a lo que ahora hacemos con un movimiento de teclado (F12) en el navegador. Y, la interacción del pensamiento condensado y las máquinas se encuentran finalmente en el lenguaje de programación moderno.

Ron Pressler ofrece una mirada más cruda y práctica del desarrollo de la programación. Desde los vacilantes primeros pasos de la antigüedad hasta los impresionantes saltos de Babbage y Turing existe la sensación de que esta ciencia se movía hacia algo que no se entendía completamente, pero que sí se intuía. Estamos en una época de promesas. Pero el relato de Pressler avanza hacia una tormenta de detalles matemáticos y lógicos, pero antes aclara: “Esta maravilla es una poderosa herramienta de marketing, pero desconcierta más que aclara”. Aquí se entiende que no hay que caer en modas de programación, pero tampoco en la indiferencia. Con lo cual, añade, es saludable y vital mantener viva la inspiración y alejarse para tener perspectiva en estas tareas. Realmente no hay razones para separar la alegría de codificar de la disciplina que conlleva. De hecho, esta es la fórmula de la insatisfacción; el agotamiento en las TI es cada vez más demoledor y, por ello, tiene que ganar siempre el asombro.

 

Alan Turing

Un momento clave en la historia de la programación es la máquina universal de Turing. Esta es otra hazaña (mental) que se reconoce comprobando que la programación actual ha tenido un alto coste intelectual. Y, en el caso de Turing, también personal. Hay una gran dificultad en mantener en la mente la idea de un sistema autorreferencial que pueda describirse a sí mismo y a los programas que ejecuta. Hoy en día utilizamos ordenadores que almacenan tanto la información como las instrucciones para trabajar con ella en el mismo espacio de memoria.

Esta idea fue retomada por Von Neumman para su arquitectura, que sustenta el funcionamiento de los equipos modernos: la capacidad de almacenamiento de datos del sistema también se aprovecha para su código. El ‘tl;dr’ aquí es la idea de un archivo que puede ser tanto de datos como ejecutable, lo que supone un avance conceptual que lo convierte en un sistema modificable y extensible en el que hemos estado trabajando desde entonces.

Podemos decir con certeza que una máquina completa de Turing es algo no solo impresionante, sino que, hasta hace relativamente poco, ni siquiera era fácilmente concebible.

 

Interacción humana

Todo lo que se ha dicho hasta ahora se ha centrado en la naturaleza de la programación en sí misma. Pero, otro aspecto importante es el efecto que ha tenido en la interacción humana. Ya sea que los ordenadores evolucionen o no hacia la singularidad, el efecto general de la capacidad mejorada de la humanidad para comunicarse a través del software es todo un hito.

Cuando se mira desde este prisma, el software habilitado para la web se ve cómo una metáfora familiar en el ciberespacio, un nuevo tipo de medio para la interacción. El puente entre lo mental y lo físico ofrece una oportunidad única para interactuar en el ámbito del pensamiento con el apoyo de una estructura lógica ejecutable.

Y, cuando esto se une a la idea de Turing de un universo de máquinas construidas dentro del sistema, vemos el potencial del universo de las ideas que interactúan. Aquí se puede sentir que todavía estamos en progreso y activos en el sentimiento de traer nuevas ideas a la industria.

 

El futuro en desarrollo

El trabajo diario en la programación de software es, entonces, parte del desarrollo continuo de realidades futuras impredecibles. Quizás las ideas que se arremolinan en la Web 3, respaldadas por la innovación de blockchain, jugarán su papel. Seguro que muchos piensan que sí. Otros discrepan vehementemente. De todos modos, por algo cambió Facebook su nombre a Meta.

Quizás la computación cuántica también tenga algo que decir. Después de todo, permite la interacción con un carácter inherentemente diferente de la realidad física subyacente, el de lo no binario. Todas las cosas regresan a los humanos que usan los sistemas y los ayudan a tener éxito. Recordemos que, ante todo, la tecnología está al servicio de las personas. Los desarrolladores que están felices escriben mejor código, y eso es mejor para el resultado final, pero el punto más fundamental es que los desarrolladores felices sean personas felices.



TE PUEDE INTERESAR...

Nuevo número de nuestra revista de canal 
 
DealerWorld Digital

 

Cobertura de nuestros encuentros

 

Documentos ComputerWorld



Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?