¿Cómo afrontar la Programación? Es una pregunta que puede que te hayas hecho alguna vez si estudias algo relacionado con el tema, o si te has puesto a ello con mucha ilusión, y... Lo has dejado a las dos horas... Porque las cosas como son, programar, es jodido. No lo comparo con otras doctrinas o conocimientos, pero en la escala general, es algo difícil, y por lo tanto, te traerá más de un dolor de cabeza (y de dos y tres). Hablaré desde mi pequeña y corta experiencia para contaros cómo llegué a meterme en materia y lo mal que me fue, quizás le sirve a alguien...
Siempre me ha gustado la informática, pero siempre orientada "al toqueteo", cambiar piezas, solucionar problemas básicos en equipos, ese tipo de cosas... La programación la veía como algo válido para gente con tiempo y gran predisposición a las matemáticas, pero, algo de la misma me acabó cautivando y por ello me encuentro estudiando un FP Superior de Programación (la Ingeniería me quedaría muy grande, decir que se me dan mal las matemáticas sería quedarse muy corto). ¿Anteriores experiencias con la Programación? Malas todas... La suspendí en el FP Medio, aun cuando se daba en versión muy "light", pues este se centraba "en el cacharreo". Con ganas de seguir estudiando y tras sacarme el acceso que media entre ambos estudios, ¿que decidí? "Me ha ido mal con la Programación, no termino de pillarla, me cuesta mucho, pero, ¡hey! ¡Programar tiene que molar!" Y estudiándola me hayo.
Pasemos ahora a contar más del presente, de tres asignaturas que tengo en las que programo, he suspendido dos en la primera evaluación (bueno, ya recuperé una), por lo que no me ha ido especialmente bien, ¿no? ¿Tan difícil es aprender a programar? No, es muy posible, mucha gente lo hace, y por algo será, el problema de estudiarlo de forma oficial, es que te meterán más de un lenguaje a la vez, y ese, amigo, ¡es el verdadero problema! ¿Qué lenguajes estoy dando ahora mismo? En una asignatura estoy viendo XML, en otra asignatura SQL, y en "la tocha" (y la que me trae por los caminos de la amargura), Java. XML se lleva bien viéndolo en clase y "haciendo cuatro paridas en casa", SQL necesita ponerse más serio, pero es llevable, el verdadero problema es Java. Al ser un lenguaje orientado a objetos tiene muchísima potencia y la cantidad de cosas que puedes ir viendo y descubriendo es enorme, más especialmente si tienes algún alumno aventajado en clase (y esto es Informática, por lo que seguro que no tendrás a uno en clase, sino a varios) a partir del cual el profesor hará el corte para el nivel de la clase... Si a esto le sumamos que encontrar a un informático que se explique bien, es cuanto menos, tarea ardua y trabajosa, tienes el cóctel perfecto de lloros agrios y desmotivación insuperable, pero no te preocupes, puedes llevarlo adelante, sólo hace falta que te pongas en serio, déjate de tonterías por el amor de Dios...
Centrémonos en una de las asignaturas que tienes en las que programas (pasemos por alto que hagas Scripts para Linux, que también es mi caso), ¿cuántas horas tienes a la semana? Pongamos que ocho, vale, das ocho horas a la semana, ¿y en casa qué haces? Los videojuegos son divertidos, ¿no? ¿Estás enganchado a una serie adictiva? ¡Good Luck para ti, campeón! En esta segunda evaluación lo que más he tenido que cambiar ha sido eso, y lo dice alguien muy friki (mira el título del Blog), el problema de programar es que lo haces en el PC, y claro, si no visitas Youtube a ver si han subido algo interesante personas a las que sigues o si no cargas partida del videojuego empezado, ¡se acaba el mundo! Caballero, muchas gracias por su interés en mantener el planeta a salvo, pero... Sigue sin saber programar, luego se agobia en clase, deja de ir, y a la mierda con todo... Cojonudo, campeón, otro año a la espalda, total... No pesan... ¿Ha llegado hasta aquí? Bien, algo quiere cambiar, póngase a ello, no hay otra forma más que sacrificándose, y no, no le estoy intentando vender una cafetera que muele grano... Siguiendo en el supuesto de que des ocho horas de clase, serán dispersas, por lo que habrá días que no le estés dando, y créeme, eso se nota, y mucho. ¿Qué deberías hacer? Darle dos horas diarias en casa, independientemente de si ese día diste clase o no, no son más que dos horas al día, pero que al mes, con el trabajo del día a día, se notan muchísimo. Hágame caso, he pasado de no saber más que imprimir mensajes por pantalla, a llevar las clases al día, y hacer preguntas al profesor en clase sobre el temario visto, si yo puedo, tú también, nunca fui buen estudiante, así que ya sabes.
¿Por dónde empezar con la Programación? Este es un apartado que me gustaría dejar a futuro, preferiblemente para cuando tenga más experiencia con el tema, pero centrándonos en cómo afrontar la asignatura que estés dando (si estás aprendiendo por tu cuenta, puedes tomarte las cosas con mayor relax), los "tips" o consejos que doy son los siguientes:
- Antes de nada y de forma primordial, pregúntate lo siguiente: "¿Te gusta Programar? ¿Te ves trabajando de ello? ¿Quieres picar código como un monito?", yo siempre creí que sí, al mes de clases no dejé de pensar en que me encontraba muy fuera de lugar, por no perder el año, seguí, y ahora estoy contento de haberme quedado, cada día me gusta más programar. Así que no seas demasiado duro contigo mismo, pero ten en cuenta el siguiente punto...
- Necesitas dedicarle MUCHO tiempo, ¡sobretodo al principio! Si nunca has visto nada de programación, te costará horrores pillar las cosas, hacer cosas de cero sin un enunciado que te marque unas pautas te será jodido, entender la programación orientada a objetos, la herencia, e incluso las estructuras de control, se te hará todo un mundo... Te entrarán ganas de tirar la toalla, pero anímate, una vez sorteado el primer escalón la ascensión se hace mucho más llevadera, así que no desesperes ;)
- Deberás tener paciencia, como ya dije en el punto anterior, y es que como se dice por ahí, "las cosas de palacio van despacio", tener el cerebro preparado para la programación no es algo que se tenga de serie, hay que hacerlo, y al igual que el trabajo que pueda hacerse en un gimnasio para el cuerpo, es un proceso largo y lento.
- Comparte conocimientos con los demás, y pide ayuda cuando sea necesaria. Si estás en clase o si tienes un amigo que estudia lo mismo, viene fenomenal pedir y recibir ayuda, sobretodo darla. El ser capaz de explicar algo significa que tienes esos conocimientos muy asentados en la cabeza, así que ya sabes, ayuda a los colegas rezagados.
- Estudia por TU cuenta, probablemente el punto más importante. En clase se verán las cosas rápidamente, si hay gente que lo pilla, bien por ellos, pero casi con seguridad puedo decirte que no será suficiente para ti, lo entenderás y creerás que sabes hacerlo, pero no es así, ¡te faltará fluidez! Refuerza siempre lo visto en clase, plantéate pequeños proyectos propios, ponte ejercicios que se te ocurran sobre el temario visto, e incluso sigue avanzando en casa cuando tengas la oportunidad. No te limites a seguir un solo manual o curso (aunque recomiendo encarecidamente tener uno con el que guiarse), es muy bueno contrastar fuentes y ver distintas explicaciones de lo mismo, las cosas se entienden mejor al verlas desde varios puntos de vista.
- Si ya estás perdido en clase (ha sido mi caso durante mucho tiempo), encuentra buenas guías, cursos o libros sobre el tema y dedica las tardes a hacerte con los conocimientos necesarios para llevar bien las clases, no debe darte pereza el dedicar tardes enteras a este fin, ¡estás preparándote para tu futuro! Esto ya no es la Primaria, donde valía con ir aprobando, si has decidido dedicarte a esto, bien merece que le dediques grandes esfuerzos, al principio te joderá enormemente, pero en cuanto empiecen a salirte las cosas, le cogerás el gustillo y no te molestará lo más mínimo dedicarle horas a la Programación.
- ¡No te cierres a nada! Vídeos de Youtube, foros, webs en inglés, manuales varios... Consulta en todos los medios que tengas a tu disposición, como dije más arriba por alguno de los medios lo acabarás entendiendo, y luego sólo restará practicar y practicar.
Y eso es todo, tal y como me caracteriza, la entrada es larga como explicación de tartamudo, pero tiendo a explayarme... Si alguien llega a esta entrada de casualidad y la lee, espero que le sirva de algo y se anime a seguir adelante, con esfuerzo, todo es posible.