Web Frameworks

Lenguaje de programación vs Framework de desarrollo, ¿Cuál se debe aprender primero?

Últimamente hay una moda en crecimiento por el uso de librerías y frameworks que faciliten el desarrollo de software y reduzcan considerablemente el tiempo y esfuerzo empleados, sin embargo a la vez que este crecimiento tiene sus ventajas, también se ve una reducción en la calidad de código. Hace unos meses leí una pregunta en una lista de correos sobre Django, la pregunta era: ¿Se puede hacer operaciones matemáticas en Django?, quedé con un gigantesco WTF en la mente. Al principio pensé que debía ser un error o que quizás se refería a algo más con plantillas o algo así, me quede pensando como carajos no pregunto ¿Cómo se hacen operaciones matemáticas con Python?, puesto que Django sólo es un framework el lenguaje es Python, continué leyendo el hilo y se trataba de un error de novatos, el que escribió la pregunta estaba sumando una variable simple con un diccionario por lo que recuerdo. Pero esta pregunta es solo una de las tantas que se pueden leer en tuits, foros y demás, como consecuencia de no haber aprendido primero el lenguaje de programación y luego el framework. Mi hipótesis es que estos “nuevos programadores” que producen en su gran parte código basura y proyectos insostenibles en el tiempo son el producto de tanto humo generado por cursos online con instructores inexpertos que no tienen proyectos reales en su historial, por tanto mentor y guru que usan hangouts para seguir vendiendo lo que sabe a duras penas. El uso de frameworks sin el conocimiento sólido del lenguaje de programación hace que la experiencia sea mas difícil debido a que se incurren en errores simples, incluso de sintaxis en muchos casos. He compilado de acuerdo a mi experiencia una serie de consejos que pueden ayudarle a cualquier programador a tener mejores resultados con cualquier framework y producir con ellos mejores resultados.

Sugerencias para aprender a usar frameworks y no producir proyectos basura en corto tiempo

  1. Si no sabes ningún lenguaje de programación, empieza a revisar o participar de iniciativas como code.org o program.ar
  2. Antes de aprender un nuevo framework, asegúrate de saber lo mínimo indispensable del lenguaje de programación (variables, condicionales, funciones, clases, repeticiones), y dedícale al menos unas tres horas a la semana a aprender algo nuevo del lenguaje en sí, alguna particularidad, o también a entender alguna característica en particular.
  3. Antes de embarcarte con un proyecto para un cliente real, intenta hacer un proyecto personal que te permita explorar y aprovechar las ventajas del framework, revisa artículos o foros para elegir las ventajas más resaltantes y en base a ella genera un proyecto para que experimentes de primera mano esas ventajas.
  4. Acompaña tu proceso de aprendizaje con buenos libros que incrementarán tu calidad de código como: The Pragmatic Programmer, Clean Code, Code complete, The Passionate Programmer, entre otros.
  5. Adquiere libros que te ayuden a mejorar tu trabajo con el framework en particular, libros que recopilan las buenas prácticas del propio framework.
  6. Participa resolviendo dudas en stackoverflow, eso te dará otro tipo de perspectiva, ayudar a resolver dudas amplia mucho la visión como desarrollador de software.
  7. Cuando sientas te sientas que ya llevas mucho tiempo desarrollando con ese framework y sientes un poco de rutina, es momento de aprender un nuevo framework, siempre sal del entorno de confort.

Si quieres agregar algo a esta lista o tienes una opinión diferente déjala en los comentarios.

Actualización: Cambié la imagen del post, ya que Symfony estaba mal escrito, gracias @mario21ic por notarlo.

Happy coding 🙂

Anuncios

Publicado por

Sergio Infante

Software Developer

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s