domingo, 14 de febrero de 2010

Un poco de terminología en programación

Hoy (si, hoy 14 de febrero) estábamos estudiando con dos amigas para un examen final que tenemos que rendir pronto. En esta materia que estamos preparando hay que programar, pero tambien hay mucha teoría para ver y organizarse. Entonces, antes de programar hay que tener en claro cómo funcionan las estructuras de datos que tenemos que implementar.

Algunas de las estructuras que analizamos se llaman:
* arreglos
* listas
* pilas
* colas
* mapeos
* diccionarios
* arboles

Y otros conceptos relacionados son:
* cabeza - primer elemento de una pila
* cola - ultimo elemento de una lista
* nodo - elemento presente en distintas estructuras
* hoja - elemento externo de una estructura de árbol
* entrada - elemento compuesto por una llave y un valor
* insertar - operación de actualización en ciertas estructuras
* apilar - operación de actualización en una pila
* encolar - operación de actualización en una cola

A veces es necesario un debate y eso implica que comentemos las distintas opiniones. Quienes participamos podemos interiorizarnos mucho en el tema y no falta el lenguaje apropiado, la terminología correcta para expresar las ideas; entonces a veces es gracioso quien se detiene un momento a tomar las frases e interpretarlas fuera de contexto... porque puede llegar a sonar un poquito confuso.

Algunos comentarios sacados de contexto consiguen llamar la atención de quien se encuentre ajeno al debate. Me refiero a algo como esto:
# [el nodo mas grande del arbol es una hoja] : válido para arboles binarios de busqueda
# [esta estructura no tiene arreglo] : significa que la estructura mencionada no está soportada por una estructura de datos de tipo arreglo
# [el arbol está desbalanceado porque las hojas estan desniveladas] : ¿habría que podar el árbol?
# [el primero en entrar es el primero en salir] : "¿que? ¿el que rie ultimo, rie mejor? ¿es un nuevo tipo de touch and go?" No, es el modelo de la estructura cola, tambien conocido como FIFO (first in, first out)
# [podemos hacer que la entrada salga de la pila y se inserte en la cola] : "¿en donde hay que insertarla?"
# [una cola que no tiene entradas es una cola vacía] : una estructura cola que no tiene elementos, aunque algun descolgado podría decir que en vez de "cola vacía" se le llama "cola virgen"
# [si a la cabeza la insertamos al final queda en la cola] : nos estamos refiriendo a la implementación de una lista, pero queda a su libre imaginación
# [tendriamos que sacar el elemento de la pila y encolar inmediatamente] : "agarrame la pila que te voy a encolar"

Los comentarios fuera de contexto pueden generar asombro, curiosidad o incluso puede causar mucha gracia produciendo un momento de distención forzada por carcajadas insostenibles de quienes se encuentran presentes, sobretodo cuando el clima de estudio es denso e intenso.

Esto es producto de hablar con propiedad en el área de programación.