Luego de 35 años de ser programador de computadoras; partiendo desde las CZ Spectrum de 1Kbyte de RAM, pasando por las de 16Kb de RAM, las de 48Kb de RAM, hasta llegar a las potentes computadoras personales de la actualidad y demás dispositivos que no se encuentran dentro de la categoría de PC; puedo llegar, y sin temor a equivocarme, a una muy acertada conclusión y definición respecto de la mente de la mayoría de los programadores, junto a los cuales, humildemente me incluyo.
El programador, y mas aun, el programador que se encuentra hace muchos años desarrollando software, si se dispone a realizar un buen trabajo de introspección, podrá llegar a descubrir que el acto de "hablarle" a una computadora, por intermedio de un lenguaje computacional cualquiera, va transformando su mente en una eficiente máquina matemática, lógica y empática, respecto de lo cual, esas tres cualidades, obtenidas gracias al acto de programar, es aplicado a posteriori, y de una manera casi automática, sobre la vida misma.
La cualidad numérica o matemática, que un programador va adquiriendo con el pasar de los años, depende, en primera instancia, de qué tipo de sistemas es el que aquel desarrolle. Si la orientación del programador es la de desarrollar sistemas de gestión de empresas; en donde las matemáticas, el cálculo de estadísticas y probabilidades, las proyecciones, etcétera, están presentes en aquellos, como una parte vital; ese especialista en elocuencia virtual, va a ser poseedor de una gran capacidad de ver el mundo que lo rodea por medio de una mirada diferente a cualquier otra persona, la cual, esa mirada, estará repleta de una muy bien ganada percepción a priori de sucesos. Con esto quiero decir que, el programador matemático/probabilístico, es una persona un tanto mas susceptible a detectar ciertos eventos, un tiempo antes de que estos ocurran, gracias a la utilización constante del cálculo de Probabilidades y Estadísticas en su trabajo. El programador es una persona que ha preparado su mente analítica de tal forma, que su cerebro, ante una cadena de eventos pasados; sin importar si dichos sucesos son recientes o no; responde con la mejor opción posible ante dicha situación, traduciéndose ello en una mejor toma de decisiones o bien, en una previsión un tanto anticipada de ciertos hechos.
Respecto de la cualidad lógica; y que fuertemente desarrolla un programador de sistemas, a medida que pasan los años relativos a su experiencia; está relacionada estrechamente con la gran cantidad de líneas de código de programa de contenido condicional, que cualquier programador escribe dentro de un sistema. Los escritos condicionales, dentro de un programa, no son mas que la toma de decisiones que llevará a cabo en la ejecución del propio programa para decidir entre una, dos, tres o bien cientos o miles de decisiones, dependiendo de su propio contexto de datos e infraestructura computacional y de redes. Por lo tanto, y si bien las últimas decisiones las toma el programa en su tiempo de ejecución, el que ha pensado y escrito esas líneas de código para que esto suceda eficientemente, es ni mas ni menos que el ser humano que ideó y desarrolló el programa. En consecuencia, respecto de este gran ejercicio de decisiones, primero en la mente del programador, y luego ejecutándose en "la mente de la computadora", prepara a aquel para que, del mismo modo que en la cualidad matemática, pueda mirar la vida con ojos y mente lógicos, sin siquiera realizar mucho esfuerzo, ya que el constante ejercicio de lo que llamaría yo, una toma de decisiones implícita, de modo que al momento de que el programa las haga explícitas, estas resulten en un gran y eficiente éxito en su flujo de control lógico. El programador mira la vida con una gran experiencia y bagaje lógico en su cerebro, de modo tal de poder llegar a saber que decisiones tomar y en que momento. Obviamente que el programador toma las decisiones teniendo en cuenta una colección de datos previos junto con los sucesos que ocurren paralelamente. Por lo tanto aquel es un experto en usar su cerebro para tomar decisiones, lo cual incuestionablemente es aplicado en su propia vida.
He programado también en estas y otras HC's |
He programado en estas IBM y en toda otra PC que ha pasado por mis manos. |
En conclusión, por medio de estas tres cualidades detalladas arriba, el programador de computadoras, a medida que adquiere mas y mas experiencia con el paso de los años, se va transformando progresivamente hacia una vida introspectiva por excelencia, pensando la palabra en silencio, como si se colocara mentalmente dentro de una gran historia, dentro de una especie de novela de ficción, y que es su propio programa desarrollado, teniendo en cuenta además, sus personajes, o sea el cliente y los usuarios, y también una gran trama dotada de cientos de miles y hasta de millones de líneas o renglones de código.
El programador de software, a partir de su empirismo virtual acumulado, percibe a la vida real por medio de una gran apertura mental, además de ser capaz de asimilar con mucha facilidad y profesionalismo, cualquier otro lenguaje de programación que se le presente utilizar, además de otras ramas del saber como son la música, la filosófía y las psicológía.
Nelson J. Ressio.
Nelson J. Ressio.
Me gusto bastante esta entrada, buena reflexión.
ResponderBorrartambién veo una especie de "empatia" al programar y al depurar errores, al tratar de entender donde esta el error en la forma de "pensar" de la maquina hay que ir leyendo el código y pensando poniéndose en el lugar de la maquina