Hoy día, la tecnología se ha convertido en una parte esencial en nuestras vidas. No se nos hace posible visualizar el mundo sin la tecnología que usamos. Pero cuando miramos hacia el pasado, la situación era muy distinta.

Para la década de los 80, el mundo de la computación estaba asociado solo a grandes empresas y bancos, y la gente que se interesaba en ello  los categorizaban como cerebritos, genios, matemáticos o nerds. Pues las personas en general de esa época estaban más interesadas en la radio, la disco y en la televisor a color.

Tiempo después, cuando los teléfonos celulares hicieron su aparición, la tecnología se acercó un poco más a las personas, sin embargo, solo era común en personas de negocios, de la banca o una que otra con el privilegio (y/o curiosidad) de comprarse este nuevo tipo de teléfono.

Y no mencionemos al internet que, a principios de los noventas, no tenía tanta popularidad y quienes lo conocían lo veían como algo más relacionado a Robocop que al uso cotidiano de cualquier persona.

Pero el mundo actual es muy distinto. Hoy en casi todos los hogares hay una o mas computadoras. Hoy términos como kilobytes, megabytes, memoria ram, CPU, banda ancha, alta resolución, la mayoría de las personas entienden. Cosas como que, por ejemplo el celular, sean relacionadas a “una extensión del cuerpo humano” y que la gente prefiera vivir un día sin agua a un día sin internet, nos hace meditar que la tecnología ya no es algo reservado solo para cerebritos, como hacía ya algunos años, sino que se ha vuelto en algo vital para las personas.

Sin embargo, la tecnología no funciona por arte de magia. Detrás de cada aparato electrónico, de cada software, detrás de cada sitio web que visites, de cada aplicación web en que te registres, detrás de cada aplicación que te descargues (Y detrás del aparato que usas para descargarte tus apps), detrás de casi todo que use corriente eléctrica (No necesariamente internet). Sí casi toooooodo. Ha sido programado por un o por equipos de programadores, que, con esfuerzo e ingenio, han escrito instrucciones llamadas comúnmente como códigos que dichos aparatos o sistemas operativos puedan entender. Y aunque la mayoría de la humanidad tiene acceso a la tecnología, lo cierto es que la mayoría sigue viendo a estos códigos y a la programación, como algo reservado para cerebritos, genios, matemáticos y nerds.

Es realmente asombroso lo mucho que se ha expandido y progresado la tecnología y la informática en nuestras vidas. Lo lamentable es que solo unos pocos, (los que llaman cerebritos), son los únicos que se animen a aprender la programación, el arte que está detrás de todo el progreso tecnológico actual. ¿Pero qué pasa si te diría que cualquiera puede aprender a programar? No hace falta ser un genio, un matemático, un ingeniero, ni haber estudiado en Harvard, ni mucho menos haber lanzado un cohete a la luna. ¡¡NO!! En realidad para aprender a programar cuando mucho se necesita saber sumar, restar y una que otra tabla de multiplicar.

Y ese es el propósito de esta serie de artículos. Te guiaré paso a paso hasta que puedas desarrollar un pequeño programa, también adquirirás algo de práctica que te permitirá leer código por tu cuenta y así, tú mismo, te motivarás a seguir aprendiendo de manera autodidacta.

En este primer artículo me enfocaré en aclarar ciertos puntos que debes considerar antes de iniciarte en el mundo de la programación.

La motivación, los obstáculos y la determinación.

El mundo de la programación es inmenso. Muy inmenso. Créeme, excesivamente inmenso. Ni siquiera expertos con muchos años de experiencia conocen todo aspecto de este mundo, y esto tiene mucho sentido. Por ejemplo en la medicina hay oncólogos, cirujanos, cardiólogos, etc. Un cardiólogo quizás tenga ciertos conocimientos de oncología pero no es experto en esta área; de forma parecida en el caso del oncólogos con respecto al cirujano. Siguiendo esta misma analogía, existen distintas vertientes en la programación y es imposible ser experto en todas. Así que un programador experto es aquel que se ha especializado en unos pocos lenguajes y tecnologías.

Explicándome mejor, existen cientos de lenguaje de programación, donde algunos, tienen sintaxis muy simulares (Entiéndase sintaxis como la gramática del lenguaje). Sin embargo, otros tienen sintaxis muy distintas. ¡¡¡Y casi todos los lenguajes son usados en nuestros días!!! También existen cientas y cientas de herramientas que todos los desarrolladores terminaremos usando por lo menos alguna vez en la vida o, por lo menos tendremos que adquirir los conocimientos esenciales al respecto.

Con esto quiero que tengas presente que la programación es tan extensa como cualquier carrera y  como cualquier ciencia, porque de hecho es una. Pero algo que resulta ventajoso en esta carrera, es que, en la era actual, puedes aprender a programar por tu cuenta, siempre teniendo presente que tienes que estudiar, practicar y ser disciplinado si quieres progresar como programador.

Por eso en este punto debes preguntarte. ¿Por qué quiero aprender a programar?, ¿Qué es lo que me motiva? De la respuesta a estas preguntas, dependerá la cantidad de disciplina que debas aplicar en dicho aprendizaje. Aquí, en este mundo puedes llegar tan lejos como te esfuerces por hacerlo. Si quieres tener un nivel profesional debes estudiar muchísimo y por varios años (No estoy hablando de ir a una Universidad). No puedes imaginarte programando a Skynet después de haber hecho, por un par de semanas, unos tutoriales por internet. Ahora bien, si solo quieres saber de qué va el asunto, solo por curiosidad, sin ninguna intención profesional, puede que te baste sólo nociones básicas de programación. Aunque irónicamente, esta curiosidad es la que hace que personas sin títulos universitarios terminen siendo profesionales, pues la curiosidad puede convertirse en amor por esta clase de arte (Como me pasó a mí).

Si tu intención es convertirte en un desarrollador ninja, una maravilla del mundo que deslumbra con su ingenio y gana miles de dólares por su trabajo, déjame susurrarte algo al oído. ¡Es difícil, muy difícil! No imposible, pero sí difícil. Lamentablemente he conocido personas que quieren aprender a programar para ganar mucho dinero y, luego de un par de meses, caen en cuenta que lo que han aprendido aún no les sirve para trabajar o que, después de practicar mucho, aún no saben como hacer un robot con inteligencia artificial, así que se rinden y dejan de seguir practicando.

Por eso, sea cual sea tu motivación, debes ser realista y humilde. Debes aceptar que no sabes, y que por mucho tiempo sentirás que no sabes. Así que empieza con pequeñas metas y, a medida que vayas aprendiendo, ve creando programas que incluyan lo que aprendiste anteriormente. Ya verás que, a la vuelta de un año, te sorprenderás de lo mucho que has aprendido.

Quizás unos de los mayores obstáculos que conseguimos cuando queremos empezar a aprender a programar es saber por dónde empezar. ¿Cómo escoger cuál lenguaje de programación aprender? La respuesta a esa pregunta dependerá de qué es lo que quieres programar. ¿Video juegos? Aplicaciones web? Aplicaciones móviles? ¿Aplicaciones de escritorio? ¿Criptomonedas? Conviene investigar primero qué lenguajes son usados para lo que quieres hacer y escoger uno de ellos. Una vez elijas uno, usa ese lenguaje para aprender y practicar las nociones básicas de la programación y, quizás cuando ya tengas más experiencia en las nociones básicas, puedes cambiar de lenguaje o de objetivo a la hora de programar. Pero para empezar solo escoge uno y aférrate a ese. En esta serie de artículos usaremos varios para aprender las nociones básicas y luego usaremos Javascript para desarrollar una pequeña aplicación web.

Recuerda que sin importar el tiempo que lleves usando un lenguaje o tecnología, siempre tendremos que consultar y leer documentaciones o ayudas en foros para hacer distintas cosas. Es totalmente normal tener que googlear sobre una duda que tengamos. Al principio, leer código de otros nos puede resultar algo confuso, pero a medida que te acostumbres a escribirlo y familiarizarte con la sintaxis del lenguaje que hayas escogido, se te hará más sencillo entender la ayuda de otros programadores que usen ese mismo lenguaje.

Lo segundo que quizás te preguntes es. ¿Que voy a programar? Antes que te hagas la idea de querer programar un nuevo sistema operativo, te recuerdo que estás empezando. ¿Recuerdas lo que acabo de mencionar? Se humilde, haz programas simples para probar cosas  básicas como, por ejemplo, recorrer y mostrar en pantalla elementos de una lista de palabras, hacer operaciones matemáticas como, sumas, restas, multiplicación, división. O puedes capturar palabras que escribas (con tu teclado obviamente) y ejecutar una tarea u otra según esa palabra. O hacer un programa sencillo que te pregunte tu nombre y edad, y según la edad que escribas, te muestre un mensaje u otro.

Este tipo de programas te permitirá ir jugando con el lenguaje y así vas a ir adquiriendo un poco más de experiencia. Luego, quizás puedas dedicarte a hacer un programa con interfaz gráfica, como una calculadora, o una agenda donde puedas agregar contactos, u otra aplicación que se te venga en mente. Ya en ese punto te recomendaría que hagas algo sencillo de acuerdo a la rama en la cual te gustaría dedicarte a programar, si es sobre videojuegos, investiga un poco sobre las otras cosas que necesitas saber para hacer un video juego y luego haz algo sencillo. Si es una app en android o en IOS, investiga qué otras cosas se necesitan y haz algo sencillo también sobre eso. Lo mismo si quieres hacer una aplicación web. Notarás en ese momento, que tendrás que aprender cosas específicas del área en la que te has enfocado, y tu aprendizaje y experiencia en la programación se irán profundizando ya de una manera más objetiva.

Ya para cuando sepas sobre qué es lo que quieres enfocar tu aprendizaje en la programación, es importante que crezca en tí la determinación de querer alcanzar esa meta. ¿Por qué? Porque percibirás, quizás de una manera muy abrumadora, que aún te falta mucho, mucho, pero mucho por aprender y sentirás un bajón. El pensamiento “Ya estoy entendiendo la programación” se puede convertir rápidamente en “No sé absolutamente nada” y esto no está mal, estás reconociendo el gran camino que aún tienes por delante. Mi consejo en ese punto es que NO pienses "Tengo que dominar todo eso para ser un auténtico programador." ¡NO! Por el contrario, piensa ¡Un día, mientras siga practicando, lograré dominar todo eso! Y mentira no es. Si no dejas de practicar, de ser constante y motivado, un día tendrás el conocimiento y la experiencia de un programador experto.

En el próximo artículo ya daremos los primeros pasos en este mundo, entendiendo primeramente qué es la programación, también aclararé algunos términos muy usados por los programadores que, aunque suenen muy intelectuales, no tienes por qué tenerles miedo.