¿Por qué aprender primero un lenguaje nativo antes de un framework

¡Hola Girl! 🙋‍♀️ ¿Por qué aprender primero un lenguaje nativo antes de un framework? Es una pregunta que toda programadora nos deberíamos hacer en nuestra etapa inicial como desarrolladoras, pues no es un tema que se deba tomar a la ligera, en esta entrada te daré mi opinión con base en mi experiencia sobre la ruta de aprendizaje que recomiendo.

Si vas iniciando en el mundo de la programación es muy probable que tengas algunas dudas como… ¿Qué lenguaje de programación aprender? ¿Cuáles tecnologías son las más usadas? ¿Cuál es el lenguaje de programación más demandado? ¿Qué debo aprender primero, un lenguaje de programación o un framework?

En esta entrada me centraré en darte mi opinión específicamente para esta última pregunta.

Y es que, saber definir la ruta de aprendizaje entre un lenguaje de programación y un framework no es una decisión fácil de tomar (si es que debemos tomarla), sin antes conocer los pros y contras de cada uno, así como sus características y objetivos específicos.

Pero antes de seguir avanzando quiero dejar claro que no estoy en contra de usar uno u otro de hecho desde este momento te anticipo que yo misma desarrollo proyectos en lenguajes nativos o puros y mediante el uso de frameworks dependiendo del proyecto que tenga que desarrollar.

Dejando claro lo anterior te doy un pequeño preámbulo de los temas que hablaremos en esta entrada.

Para iniciar y tener los conceptos frescos definiremos lo que es un lenguaje nativo y lo que es un framework.

También analizaremos algunas ventajas y desventajas de cada uno.

¿Quieres saber cuál es la ruta de aprendizaje que yo recomiendo? Pues te compartiré mi opinión y el camino que considero deberíamos seguir.

Hablaremos también de la importancia de los fundamentos de programación comparados con el deporte.

Y para dejar todo más claro analizaremos un par de ejemplos que viví en mi empresa donde queda claro el porqué de mi ruta de aprendizaje.

Sin más que decir saca todo tu ⚡POWER y comencemos a aprender de lenguajes de programación y frameworks.

¿Qué es un lenguaje nativo?

Un lenguaje nativo o lenguaje de programación es un conjunto de nomenclaturas e instrucciones mediante las cuales escribimos funciones, condiciones, ciclos, órdenes y definimos estructuras de datos, todo esto en conjunto da vida a un lenguaje de programación.

Por medio de un lenguaje de programación podemos desarrollar software, aplicaciones móviles, sistemas web y páginas web.

Así como existen los lenguajes de comunicación entre las personas, los lenguajes de programación permiten crear códigos para comunicarnos con la máquina.

💡 Entenderemos por lenguaje nativo a todo aquel código que se escriba de la manera más pura, es decir sin necesidad de implementar la tecnología de un tercero, únicamente con instrucciones, sintaxis y palabras clave propias del lenguaje de programación utilizado.

Algunos ejemplos de lenguajes de programación

PHP: Es un lenguaje de programación muy popular para el desarrollo web dinámico, se trata de un lenguaje del lado del servidor, muchos de los sitios que conocemos se han desarrollado en este lenguaje.

JAVA: Es un lenguaje de programación multiplataforma, es decir, que se puede ejecutar en la mayoría de los sistemas operativos, es el lenguaje que impulsa a Android.

JavaScript: Es uno de los lenguajes de programación más populares en la comunidad de programadores y uno de los más usados para el desarrollo de aplicaciones web dinámicas, es multiplataforma y de fácil implementación.

Swift: Es un lenguaje de programación de reciente creación, se usa principalmente para el desarrollo de aplicaciones móviles nativas para iOS.

¿Qué es un framework?

💡 Un framework es un esquema o marco de trabajo que provee una estructura base para el desarrollo de proyectos específicos, dicho en otras palabras, es un modelo de partida para la organización y desarrollo de software, aplicaciones web y aplicaciones móviles.

Está integrado por una serie de herramientas y módulos que permiten a los programadores tener una estructura ya definida, lo que ayuda en el desarrollo colaborativo y permite agilizar el proceso de desarrollo.

El principal objetivo de un framework es facilitar el proceso de desarrollo, permitiendo centrarnos en el verdadero problema y olvidarnos de funciones comunes que ya han sido desarrolladas miles de veces como inicios de sesión, conexiones a bases de datos, manejo de sesiones o almacenamiento de información.

Todos los frameworks son creados a partir de un lenguaje de programación.

Algunos ejemplos de frameworks

.Net: Es un framework administrado por Microsoft para la programación de proyectos multiplataforma.

Laravel: Cuando pensamos en un framework PHP es muy común que este framework venga a nuestra mente, es muy popular en la comunidad y está totalmente diseñado para simplificar el desarrollo de aplicaciones web.

Flutter: Es un framework para el desarrollo de aplicaciones móviles, es uno de los más populares para este objetivo, es soportado por el gigante de Google.

CodeIgniter: Es un framework PHP que usa la arquitectura Model View Controller (MVC), es ideal para programadores que están iniciando en el uso de frameworks pues es de fácil aprendizaje y cuenta con una excelente documentación.

Angular: Es un framework JavaScript para crear aplicaciones web dinámicas de manera más fácil y rápida, es soportado por Google.

Ventajas y Desventajas de un Lenguaje Nativo

A continuación te comparto algunas ventajas y desventajas de un lenguaje de programación.

Ventajas

✅ Existe una documentación y comunidad más grande

✅ Código más limpio, enfocado y rápido

✅ No existen limitantes en la implementación de código

Te hace mejor programador

Desventajas

❌ No existe una estructura predefinida

❌ Requiere de más trabajo para el testeo de código

❌ Difícil de usar el desarrollo colaborativo

❌ El tiempo de desarrollo es amplio

Ventajas y Desventajas de un Framework

A continuación te comparto algunas ventajas y desventajas de un framework.

Ventajas

✅ Evita escribir código repetitivo

✅ Agilizar el proceso de desarrollo

✅ Ayuda al trabajo en equipo

✅ Ideal para proyectos grandes

✅ Uso de buenas prácticas

✅ Código altamente testeado

Desventajas

❌ Complejidad de aprendizaje

❌ Comunidad más pequeña

❌ Riesgo de que desaparezca en un tiempo

❌ No tiene una solución a todo

A tomar en cuenta

Existen algunas características que se pueden tomar como ventaja o desventaja según sea el caso.

Por ejemplo, la seguridad, un framework ya trae por defecto ciertas configuraciones básicas de seguridad que un programador programando con un lenguaje puro podría pasar por alto.

Sin embargo, un framework también podría ser inseguro al tratarse de una estructura y configuración conocida por todos, incluso los hackers, algo que un programador que desarrollo un proyecto desde cero pudo haber creado diferente.

Ruta que recomiendo

Hasta este punto hemos analizado lo que es un lenguaje de programación y lo que es un framework, también se han mencionado algunas de las ventajas y desventajas de cada uno.

Tomando todo esto en cuenta podemos determinar que tanto un lenguaje de programación como un framework son excelentes alternativas para el desarrollo de proyectos, pero ¿Cuál deberíamos aprender primero y porque?

Si recién estás comenzando a aprender a programar lo que te recomiendo es que inicies aprendiendo un lenguaje de programación de lleno. Aprende tipos de datos, condicionales, ciclos, arreglos y demás temas propios para que consigas obtener lógica de programación.

Una vez domines el lenguaje al menos a un 70% entonces ahora si busca algún framework que te ayude a optimizar tiempos.

Al buscar un framework asegúrate de que ya pasará algún tiempo de su lanzamiento y tenga una buena comunidad activa, si deseas obtener un puesto como programador en este framework asegúrate también que exista demanda en el mercado.

Una vez dómines el framework entonces ya podrás decidir si desarrollas un proyecto desde cero o utilizas un framework, conociendo las ventajas y desventajas de cada uno.

Además, si en algún momento necesitamos extender alguna funcionalidad que el framework no nos está dando entonces podremos hacerlo sin problemas pues sabemos realmente programar en el lenguaje de programación detrás del framework.

La importancia de los fundamentos

Y es que muchas personas piensan que es bueno ir de 0 a 100 en un minuto y esto no funciona así.

Por ejemplo, las mejores futbolistas del mundo no comenzaron siendo lo que son ahora, sino que comenzaron con los fundamentos del deporte.

Aprendieron primero a correr y saber pasar la pelota antes de ser lo que son hoy, los fundamentos son importantes en este deporte y en cualquier actividad, como por ejemplo la programación.

Por supuesto muchos deportistas famosos comenzaron jugando en la calle aprendiendo los fundamentos de su actividad y por supuesto después llegaron herramientas que les hacían más fácil desempeñar su papel, pero ya sabiendo hacer su deporte.

Lo mismo pasa con la programación, existen herramientas que nos ayudan a crear los proyectos más rápido, pero primero debemos saber los fundamentos, incluso para sacarle el máximo provecho a las herramientas.

Al final de cuentas un framework no es más que una herramienta y aunque se puede ir de cero a aprender a usar la herramienta no será lo mismo que si aprendemos primero los fundamentos.

Una niña que nunca ha jugado futbol a la que le compras lo último en zapatillas, ¿ya tiene garantizado el éxito en ese deporte? Yo creo que no.

Reclutando en mi empresa

Una anécdota que recuerdo mucho se presentó hace un tiempo en mi trabajo.

Abrimos convocatorias para nuestro primer pasante e hicimos muchas pruebas de las que no todas salieron como pensamos.

La vacante era para un programador PHP con conocimientos del framework Laravel, como les dije, nosotros solemos trabajar proyectos desde cero y proyectos con frameworks.

Una gran cantidad de candidatos demostraban habilidad en el manejo del framework, pero en las pruebas de lógica y resolución de problemas simplemente no sabían qué hacer.

Un claro de ejemplo de que habían saltado el aprender el lenguaje en sí y la lógica de programación por el aprender únicamente el framework.

En estas mismas pruebas para desarrollador web un candidato abusaba de los atajos del editor para mostrar plantilla HTML 5 y al pedirle escribiera la plantilla el mismo increíblemente no sabía hacerlo.

Las herramientas son geniales, nos ayudan a optimizar tiempos y ser más productivos, pero siempre y cuando realmente sepamos hacer las cosas y solo nos apoyemos en ellas para ser más eficientes.

La ruta de aprendizaje que recomiendo les ayudará a ser mejores programadores y a sacar el máximo provecho a un framework o cualquier herramienta que aparezca en un futuro.

En este post hemos hablado sobre una duda muy frecuente en el mundo de la programación y te he compartido mi opinión sobre porque aprender primero un lenguaje nativo antes de un framework.

Ayúdanos compartiendo esta entrada en tu red social favorita para que más desarrolladores conozcan la ruta de aprendizaje que recomendamos.

¡Hasta Pronto! 🙋‍♀️

¡Haz clic para valorar este contenido!
(Votos: 2 Promedio: 5)

¡Comparte este contenido! 😉