Explicando conceptos sencillos en muchas palabras. La importancia de entender bien los conceptos básicos de programación.

Algunas veces me pregunto por que a algunas personas les cuesta tanto entender los conceptos avanzados de la programación. Sería un poco arrogante decir que para mi es fácil y quizá un poco falso. Lo cierto es que algunas veces paso algunos minutos analizando algunos conceptos nuevos. Tengo la habilidad de entender conceptos abstractos y dibujar en mi mente los procesos por los que pasa una pieza de código dentro de su mecanismo, pero no creo que sea especial por eso. Es más, creo que cualquiera que quiera adquirir dicha habilidad puede hacerlo, solo es cuestión de entender bien los conceptos básicos de la programación.

El gran problema de nosotros los humanos, es que hemos relacionado lo básico con lo sencillo. Tenemos miedo a pasar horas pensando y analizando un concepto tan “sencillo” como lo es una variable o una función por que no queremos sentirnos como tontos al no entender que una variable es un pedazo de memoria en el que se puede almacenar un dato para ser usado en el futuro. La verdad es que no hay nada tonto en analizar más a profundidad el concepto. Yo mismo escribí un articulo enorme explicando simplemente tal concepto: las variables.

Si nos pusiéramos a pensar por un momento en el pasado y recordáramos nuestros inicios como programadores (los que ya llevamos algún tiempo), nos daríamos cuenta que estábamos tan ansiosos por llegar a la parte avanzada que simplemente corrimos antes de poder caminar. Dimos poca importancia a los conceptos básicos sin tomar en cuenta que esos conceptos básicos, como su nombre lo dice, serían la base de todo nuestro posterior conocimiento. El problema es entonces que la base ha quedado débil, y sin una estructura fuerte sobre la cual apoyar nuestro nuevo conocimiento y los nuevos conceptos, estos terminan cayendo al suelo y causando frustraciones que muchas veces nos hacen renunciar a nuestro trabajo.

Por tal motivo es importante detenernos unos instantes para comprender y explicar los conceptos básicos, pero no en pocas palabras. Al contrarío, dedicar un buen rato y buena parte de nuestra atención a dicho trabajo ya que una vez entendidos estos conceptos fundamentales de la programación no será más fácil comprender conceptos más abstractos y complejos. Tomemos como ejemplo los closures en javascript. Alguien que no ha entendido bien un concepto tan básico como las variables locales y globales puede tener mayor dificultad para entender los closures que una persona que ha comprendido la diferencia entre variables locales y globales.

Cuando yo empece a aprender sobre programación puse especial atención a los elementos básicos del lenguaje (en aquel tiempo Javascript) y me aseguré de que la base sobre la que descansaría todo mi futuro conocimiento fuese sólida y estable. Creo que ese ha sido mi secreto en mi desarrollo como programador y aconsejaría sin temor a equivocarme a todo aquel que esté interesado en programación que haga lo mismo. Asegúrate de que tus conceptos elementales estén bien fundamentados. Asegúrate de encontrar a aquellos que ponen énfasis en ese aspecto, a esos que explican en muchas palabras los conceptos más elementales de la programación.