Alicia en el país de la programación – Parte 2

Vio también Alicia a un gato que cambiaba de forma:

– ¿Quién eres replicó?

– Soy un gato polimórfico. ¿Nunca conociste a un polimórfico?

– No, ni siquiera sé lo que es poli – mor – …

– ¿Polimorfismo?. Ah es muy sencillo. Yo te lo voy a explicar – dijo el gato, con aires de sapiencia.

– El polimorfismo es eso lo que nos permite tomar diferentes formas. Ahora soy un gato, pero puedo ser un perro.

Y el gato se transformó mágicamente en un canino aterrador, ante el asombro de Alicia, para luego retomar la forma de gato.

– Eso es posible – dijo el gato – porque perro y gato somos descendientes de la misma clase, a la que llamamos «mamífero».

– Ahora soy un gato, ahora soy un perro, ahora soy un león, ahora … Espera. No puedo ser eso, porque no se ha creado la clase.

– ¿Quieres decir que puedes transformarte en todos los animales, para los cuales haya una clase? ¿Eso es polimorfismo?

– Sí y no. Puedo transformarme en todo eso, porque realmente no soy un gato.

– Pero yo te veo como gato – exclamó Alicia.

– Es porque esa es mi forma favorita.

– Pero si no eres un gato ¿Qué eres?

– Vaya, veo que no entiendes. Soy un mamífero.

– Ya lo sé, pero también eres un gato.

– No. Cuando soy gato soy también mamífero. Pero cuando soy mamífero no soy gato. Aunque podría serlo. La utilidad de ser polimórfico, es que seas un mamífero, no un gato o un perro.

Comenzaba Alicia, a contrariarse con semejante lógica. Siempre había asumido que si A es igual a B, entonces B es igual a A o algo así.

– Ya me confundió señor mamífero-gato. Para mi usted es un gato, no importa lo que diga.  ¿Sabes como puedo volver a casa?

– No – exclamo el gato. Soy polimórfico; no adivino.

Y lentamente el gato se fue esfumando.

Alicia siguió su camino, ya un poco cansada de moverse. Más adelante encontró a un pequeño código.

– ¿Que háces? – preguntó.

– Incremento a un contador – respondió el código.

– Pero si al llegar a 255, empiezas de nuevo en cero.

– No – Replicó.

– Eso es lo que el contador quiere que pensemos. En realidad, nunca vuelve a su cuenta inicial.  Hay otros bits, invisibles, que llevan la cuenta de cada vuelta.

– Pero yo no los veo – replicó Alicia.

– Es que para verlos, debes estar loca.

– ¿Aún no estás loca? – preguntó el código, y siguió incrementando al contador.

Alicia no le encontraba sentido en incrementar algo muchas veces para empezar otar vez desde el inicio, pero notó que en la memoria, habían muchos contadores que hacían lo mismo.

Sin poder satisfacer su curiosidad, preguntó al contador: – ¿Cuál es el sentido de que cambies para volver al mismo estado siempre?

– Yo nunca vuelvo al mismo estado.

– Pero siempre pasas por el mismo valor, muchas veces.

– Aunque pase por el mismo valor, no es lo mismo. Tú puedes hacer lo mismo un minuto más tarde, pero por mucho que te esfuerces, no estarás haciendo lo mismo.

Alicia empezó a entender por donde iba la filosofía del contador porque ya había oído eso de que no te puedes bañar dos veces en el mismo río.

– Todos somos diferentes un tiempo después. Inclusive los contadores – Replicó el contador.

Aunque para Alicia, no tenía sentido lo que había oído, pensó que, en el fondo, el contador tenía razón. Aún sin ser una información útil, podría tener razón. Tal vez no había que estar loco para entenderlo.

Después de todo, un contador no sabrá, ni le importará, lo que suceda cuando empiece a contar de nuevo los mismos valores. No ha sido hecho para eso. Es simplemente un contador «que cuenta».

Centrada en sus pensamientos, no notó que se estaba acercando a un agujero.  Tarde fue su reacción, porque al notar que algo no andaba bien, se encontraba ya cayendo en lo que parecía un abismo, pero a la vez no sentía el efecto de la caída. Era como si estuviese en el mismo lugar, pero visto desde otra perspectiva.

El lugar era algo oscuro, pero de alguna forma ordenado. Vio algunos seres muy pequeños, llamados registros que cambiaban y se movían rápidamente, mucho más rápido de lo que había visto en el mundo «de arriba».  Pronto entendió que se encontraba en el mundo del «bajo nivel».

Todo en el mundo del «bajo nivel» se movía más rápido. Los registros, las variables, la memoria. Alicia tuvo la sensación de que allí, todos estaban muy ocupados. Intento comunicarse con algunas variables, pero fue inútil. Las variables se movían muy rápido. Y las que no lo hacían, hablaban un lenguaje extraño para Alicia. Algunas inclusive no tenían nombre.

Desplazándose por ese mundo, Alicia se encontró con un letrero que decía «Siga Adelante, «, a lo cual Alicia, obedeció sumisamente. Más adelante, encontró otro letrero que decía «Voltear» Mas luego, otro letrero decía «Retrodecer 2 instrucciones».

Alicia, como siempre seguía las instrucciones, obedeció, y pronto se vió dando vueltas sin parar, en algo que parecía un lazo infinito.

Le sorprendió ver que habían allí también otros códigos ejecutando lazos infinitos, desde sabe Dios cuando.

Como a Alicia no le gustaba dar vueltas sin parar, salió rápidamente del bucle en un enorme salto, y con tal impulso que pudo llegar al mundo «de arriba».

Resignadamente siguió moviéndose, y debido a ello, se encontró con otro puntero que parecía estar muy quieto.

Y, ya acostumbrada a la misma rutina, preguntó al puntero:

– ¿Cuál es tu nombre?

– Soy Objeto369.

– ¿No es un nombre, poco apropiado para un puntero?

– Es que ese no es mi nombre. Es el nombre del objeto al que apunto.

– ¿Y tú no tienes nombre?

– La verdad es que a nadie le importa.

Y Alicia se puso a pensar en lo poco que los punteros son valorados.

– Nosotros somos muy necesarios – comentó el puntero – Pero lo cierto es que a muchos programadores no les gusta vernos.

– Muchas veces tenemos que disfrazarnos de objetos o variables, para que ellos se sientan cómodos. No pueden vivir sin nosotros, pero tampoco quieren vernos. Les aterra tan solo pensar que deban usarnos. Prefieren vivir engañados.

Entendió Alicia por qué algunos lenguajes de programación no incluyen punteros formalmente, pero no entendió porque son tan odiados. Debe ser que a la gente no les gusta nuestra apariencia o simplemente no son tan inteligentes después de todo. «Programadores con poco cerebro», se dijo.

Algo molesta por su conclusión, siguió su camino sin rumbo, cuando notó que varios objetos la adelantaban en fuga desesperada.

– ¡Corre! El recolector de basura está cerca.

Eso fue lo que oyó, y sin pensarlo fue a correr con los demás objetos sin ninguna dirección en particular.

En su huida, vio como muchos de los objetos que la acompañaban, desaparecían lentamente.

– Es el fin – pensó Alicia, mientras se alejaba a la mayor velocidad que podía.

Ya cuando parecía que Alicia moriría, .. despierta y se ve en su misma posición. Nunca se había movido de su declaración.

– Era un sueño – pensó -. ¿Será posible que los punteros también sueñen?


Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*