Cómo aprender a programar (y no morir en el intento…)

Cómo aprender a programar (y no morir en el intento…)

Cómo empezamos a programar?

Cuando nos metemos en el mundo de la programación no sabemos ni donde estamos parados. No sabemos si lo que hacemos esta bien, no sabemos si estamos siguiendo las mejores prácticas, simplemente lo hacemos y si funciona, mejor.

El campo de Sistemas es demasiado grande cómo para conocer todo lo que está debajo de lo que vemos, y es un hecho que nunca dominaremos a fondo una tecnología, sencillamente porque que contínuamente está evolucionando.

Por qué quieres aprender a programar?. Creo que eso es lo primero que te deberías preguntar si estas pensando en empezar a programar. Muchos ya lo tienen claro, pero veo otras personas que buscan dominar una tecnología o ser un experto en determinado lenguaje de programación desde el minuto cero y es ahí donde creo que se falla.

No se debe aprender un lenguaje para luego aprender otro. El fin de todo es siempre el mismo: crear soluciones de software para problemas reales. Qué lenguaje o framework aprender no tiene mucho sentido al principio, sino mas bien qué problema se desea solucionar. Finalmente, con el tiempo y la experiencia, elegirás la mejor herramienta.

Conocimientos de un buen programador

Que quede claro algo, el hecho de que el campo de Sistemas sea muy amplio no es excusa para no indagar en sus fundamentos con el tiempo. Creo que al principio puede costar, por lo que es una práctica que se debería mantener en el tiempo para tener una base sólida y no ser esclavo de la tecnología que esté de moda.

Para explicar un poco mi punto, me gustaría mencionar cuatro niveles de conocimiento que siento que son muy importantes en un desarrollador o programador, y son muy evidentes cuando tratas con uno. Estos conocimientos se los adquiere con el tiempo, y no se dan de forma secuencial (es por eso la línea bidireccional al costado):

Cuatro niveles de conocimiento de un desarrollador

Cuatro niveles de conocimiento de un desarrollador

Primer Nivel: FUNDAMENTOS

El primer nivel (y el más importante con el tiempo) es el de los FUNDAMENTOS. Acá podemos incluir todos los saberes de las materias comunes de cualquier carrera universitaria como Cálculo, Álgebra y demás; pero principalmente quiero mencionar a las que tienen una relación directa con la programación, como lo son Algoritmos y Estructuras de Datos, Semántica y Sintaxis de los Lenguajes, Sistemas Operativos, Diseño de Sistemas, Análisis de Sistemas, Ingeniería de Software, Gestión de Datos y muchas otras.

Todas sientan una base desde donde apalancarse, incluso materias de Administración y Economía dan un entendimiento a la hora de realizar un análisis de requerimientos para alguna solución. Las más relacionadas con Sistemas son vitales porque nos dan el marco de dónde estamos metidos.

Muchos temas de estas materias quizás no tienen un sentido cuando empezamos, pero con el tiempo responden muchas preguntas acerca de por qué una tecnología en particular funciona de determinada manera.

Segundo Nivel: PARADIGMAS DE PROGRAMACIÓN

En un segundo nivel quiero dejar aislado a los PARADIGMAS. Los paradigmas de programación son conceptos que se establecen para abstraer un problema y poder diseñar una solución.

Muy probablemente te toque trabajar con más de un lenguaje en el futuro, si estos lenguajes comparten el mismo paradigma es muy probable que la curva de aprendizaje de ellos no sea tan dolorosa ya que respetan ciertas formas de trabajar que te harán muy intuitiva la dinámica del desarrollo.

La programación orientada a objetos es uno de los paradigmas mas populares

La programación orientada a objetos es uno de los paradigmas mas populares

 

Tercer Nivel: LENGUAJES DE PROGRAMACIÓN

En el tercer nivel nos encontrarmos con los famosos LENGUAJES. Creo que las principales preguntas que se hacen entorno a la programación son: ¿Qué lenguaje de programación debería aprender? ¿Con cuál debería empezar? ¿Con cuál conseguiré más trabajo el día de mañana?

Son preguntas completamente válidas. Mi respuesta es cualquiera, el primero que veas. Lo más probable es que termines cambiando de todas formas y solo serás capaz de determinar diferencias en el futuro, una vez que cuentes con la experiencia propia de haberlo utilizado.

Algunos de los lenguajes de programación que existen

Cuarto Nivel: FRAMEWORKS

Llegamos al cuarto nivel, los FRAMEWORKS. Los frameworks son geniales en muchos sentidos. Son básicamente un esqueleto del cual podemos partir para construir nuestra solución siguiendo ciertas convenciones que el desarrollador del framework nos proporciona.

Por ejemplo, si queremos desarrollar un blog, tenemos varios frameworks para la gestión del contenido con características listas para modificar e implementar según nuestras necesidades.

Generalmente están ligados a un lenguaje, e incluso muchas veces son más populares que el propio lenguaje.

Consejos para aprender a programar

1) No te leas todo el manual de “Aprende Java desde cero”

Toma solo lo necesario para poder empezar a programar.De nada sirve leer todo un libro si después te olvidas de la mitad. Aprendé algo, preguntate cosas, practicalo, encontrá variantes y diferencias y vas a tener el know how que realmente tiene valor.

2) Google es tu libro de referencia

Prefieres pasarte 20 minutos buscando algo relacionado a tu duda en un PDF o encontrar la respuesta exacta con un click?. La duda que tienes ya la tuvo otro y la publicó, más aún en los niveles iniciales.

3) Aprende Inglés

No hace falta que explique esto creo. El contenido en inglés supera al español. Por un resultado que encontras en español encontras 20 en inglés, 20 versiones distintas de tu consulta, 20 explicaciones distintas. Si sabes inglés vas a tener una ventaja a la hora de aprender cualquier cosa.

4) Aprende con un proyecto

La única forma de decir que aprendiste algo es implementándolo en un proyecto. No de forma aislada, trabajando en conjunto con otras partes. Una vez aplicado puedes conocer realmente su utilidad.

5) Aprende solucionando bugs

Quizás vaya de la mano con el punto anterior; solucionar bugs viene acompañado de un click en tu cabeza que te permite entender mejor el código. No existe mejor sensación en el mundo de la programación que haber solucionado un bug que te tuvo en vela toda la noche. Los bugs nos hacen mejores programadores.

6) Ensuciate y rompé

Muchas veces no queda otra que probar cosas. Instalar un framework y modificarlo al extremo de que no compile más y tener que reinstalarlo es algo a lo que tenemos que estar dispuestos.

Vía Hernan Demczuk

 

Deja un comentario

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