
¿JavaScript o Python?
Actualmente existen muchas dudas de los distintos conceptos que se están utilizando en informática y en los criterios para seleccionar las mejores herramientas y tecnologías en el desarrollo de software.
En este artículo trataremos de responder a estas dudas a través de la visión de un experto en la materia enfocándonos en dos de los más populares lenguajes de programación: Javascript y Python.
César Abarza, Socio Fundador y Líder de Desarrollo en SISEEK con más de 17 años de experiencia en la implementación de aplicaciones en múltiples lenguajes y tecnologías.
¿Qué es un programador Full Stack?
Un programador Full Stack es quien puede manejar cada uno de los aspectos relacionados con la construcción y mantenimiento de un sistema, es capaz de construir un sistema completo por si solo y a lo menos requiere contar con los siguientes conocimientos:
- Tecnologías, Herramientas y Frameworks para el desarrollo del Front End y Back End.
- Bases de datos SQL y NOSQL dependiendo del Stack que se elija o le corresponda programar.
- Plataformas Tecnológicas en las cuales se aloje el sistema que construya (Cloud o On Premise)
Un programador Full Stack se puede diferenciar según la lista de servicios tecnológico que utilice para construir y ejecutar una aplicación (Stack Tecnológico), tales como: MERN, Python, JAVA, MEAN, otros.
Este perfil es muy requerido en la industria por su versatilidad a la hora de enfrentar un proyecto de desarrollo de software.
¿Qué es el Front End?
El Front End es la parte frontal de un sistema web o de una aplicación móvil; es el lado del cliente o usuario que interactúa directamente con la aplicación, tales como la página web de Facebook y Netflix.
Incluye la estructura de la aplicación, los estilos, colores, imágenes, formularios, animaciones, gráficos, entre otros. Es decir, cualquier elemento con lo que una persona puede interactuar.
Los principales lenguajes y herramientas que se utilizan son: HTML 5, CSS 3 y JavaScript.
Y los frameworks pueden ser: React, Redux, Angular, Bootstrap, Material, Foundation, LESS, Sass, Stylus, PostCSS, etc.
¿Qué es el Back End?

Es la parte no visible del software y la encargada de procesar la información y alimentar al (o los) Front End con la data que se requiere.
Por ejemplo el Backend de Facebook es quien se encarga de procesar y almacenar la información cuando se le da like a una publicación; en Netflix es el que se encarga de leer la información de la película seleccionada y entregar al Front End para que la despliegue.
El Back End se caracteriza por:
- Contener la lógica del sistema, su funcionamiento y las condiciones y validaciones requeridas para que la aplicación trabaje correctamente.
- Realizar las consultas, actualizaciones y cualquier acción sobre la Base de Datos.
- Permitir la optimización del uso de recursos, la seguridad, entre otras cosas.
El Back End requiere un ecosistema distinto al FrontEnd en cuanto a lenguajes y framework de desarrollo.
Los lenguajes pueden ser: JS, Python, Java, C#, entre otros.
Los frameworks utilizados son: Node JS, Django, Flask, Spring, Ruby, etc.
El Back End se disponibiliza como una API o conjunto de servicios que son consumidos o invocados por el Front End.
¿Cuál Stack Tecnológico elegir?
Hasta ahora hemos visto la existencia de múltiples lenguajes y frameworks para el desarrollo de sistema, tanto para el Front End como para el Back End y un Stack Tecnológico puede estar compuesto por varios de ellos (mezcla de lenguajes y frameworks). Imagine la gran variedad de sistemas y aplicaciones móviles que se pueden desarrollar siendo un programador Full Stack.
El problema que se presenta es seleccionar el Stack Tecnológico que se utilizará y esto depende entre otras cosas de:
- El proyecto tecnológico que se desarrollará.
- La selección del Stack más útil o el que cuente con una menor curva de aprendizaje.
Conforme a la experiencia de SISEEK en el desarrollo de software podemos establecer la siguiente comparación entre los lenguajes y framework de JavaScript y Python.
MERN
MERN es un Stack de Java Script compuesto por:
- MongoDB: Base de Datos NOSQL orientada a documentos. Cada registro es un documento que se almacena en pares clave:valor, similar a un objeto JSON (JS Object Notation).
- Express: Es un framework JS que nos permite generar el Backend de nuestra aplicación y APIs de forma simple y rápida por módulos independientes.
- React JS: Es un Framework JS creado por Facebook para el desarrollo de Aplicaciones Web (Native) ampliamente utilizado. Nos permite crear interfaces de usuario atractivas con aplicaciones One Page.
- Node JS: Es un entorno para la ejecución de JS en el lado del servidor y no en un browser. Es Ampliamente utilizado en el mercado y en el desarrollo de backend de aplicaciones de múltiples Startups.
Es un Stack Tecnológico Open Source que se utiliza principalmente para desarrollar Sistemas Web, Progressive Web App y aplicaciones móviles con React Native .
Python
Es un lenguaje de programación ampliamente utilizado que fue creado a principios de los 90 y se utiliza para el desarrollo de distintos tipos de sistemas y aplicaciones. Los framework más utilizados son:
- Flask: permite el desarrollo de aplicaciones web.
- Django: Permite la implementación de aplicaciones web incluyendo sistemas de autentificación, panel para la administración de Bases de Datos, entre otras funcionalidades.
Las principales características de Python es su baja complejidad en el desarrollo de sistemas web. Además, es el lenguaje preferido para el desarrollo de aplicaciones en IA (Inteligencia Artificial), Big Data y Data Science.