¿Que sucede con la Programación Web?

 Informática    08/10/2018

Soy un aficionado a la programación convencional, me encantan aquellos lenguajes que siguen la sintaxis de C y cuyo nivel de abstracción no es tan alto. Con el paso del tiempo me tope con aquello que tendría que ver tarde o temprano, la programación web.

 

Programando web

La programación web llenando las imágenes stock de programación, haciendo que parezca algo muy fácil y básico.

Mi Opinion de lo 'Web'

Al inicio sentía un repudio inmenso con este tipo de programación, me parecía algo demasiado arcaico, tratando de funcionar en épocas modernas donde se podrían crear mejores alternativas. Pero con el paso del tiempo mi opinión cambio. Ante esto se formula una pregunta ¿Es la programación web un desastre?

Originalmente creía que si, pues estaba acostumbrado a usar un único lenguaje de programación por proyecto, mientras que en la programación web mínimo se requiere de lenguajes como HTML, CSS, PHP y Javascript para hacer algo decente. Ademas de eso, estoy acostumbrado a usar el paradigma orientado a objetos y a sacarle el mayor provecho a sus fuertes características, cosa que en este campo veía muy poco.

Entonces… no, la programación web no es un desastre, lo que sucede es que es propensa a ser desastroso. ¿Qué pasa cuando agarras a personas que no están acostumbradas siquiera a usar patrones de diseño y les pones múltiples lenguajes y tecnologías con diferente naturaleza y nivel de abstracción los cuales deben combinar y usar para crear una pagina? Un desastre.

Y es que el hecho de combinar varios lenguajes para crear una pagina web no solo hace que sea mas fácil escribir código espagueti, mal diseñado y repetido, sino que también dificulta separar los niveles de abstracción. Por esa razón se creo un patrón de diseño que, en lo que a mi concierne, es algo hermoso y necesario de aprender, y ese es el MVC o por sus siglas, el Modelo Vista Controlador.


MVC imagen

Modificando una simple pagina cuyos archivos del Modelo, la Vista y el Controlador están abiertos.

El diseño organizado

El MVC separa un proyecto en tres capas de abstracción, el Modelo donde se hacen las llamadas a la base de datos y las consultas (lo mas técnico por así decir); el Controlador el cual sirve para conectar el Modelo con la Vista; y la Vista en la cual están todos los elementos visuales que el usuario ve, este diseño usa una parte de la programación orientada a objetos para funcionar y así permitir escribir un código mas organizado y fácil de re escalar.

Pero aun así, existe mucho código desastroso en el internet, el cual incluso puede estar escrito con el MVC. Existen dos herramientas famosas que son consideradas CMS (siglas en español de Sistema Administrador de Contenidos) las cuales tienen un código fuente desastroso, y esas son OpenCart, y en menor medida Wordpress (este no usa el MVC).

OpenCart es un sistema de código abierto del tipo e-commerce, sirve para montar una tienda online y administrarla de forma mas fácil, esta usa el MVC y si bien es cierto que no es necesario modificar el código de OpenCart para realizar algunos cambios en la tienda ya que varios módulos hacen esto, en ciertos casos no es así.


Opencart imagen

Mientras no tengas que modificar el código de OpenCart, todo en tu vida estará bien

El código de OpenCart es una de las cosas mas desastrosas que he visto en mi vida, todas aquellas buenas practicas sobre escribir código que se repita poco, que sea re escalable, que posea funciones cortas y concisas se pierden aquí, ni siquiera hace un uso real del paradigma orientado a objetos, no le saca el mínimo provecho.

Hay miles de líneas de código innecesarias, repetidas, sin comentar y que, para peor, si se desea realizar un pequeño cambio en la tienda será necesario hacer demasiado trabajo.

En mi trabajo actual me ha tocado modificar el código de OpenCart y programar nuevas funciones para una tienda, cosa que ya le agarro el hilo y lo disfruto, esto lo hago mas por amor a lo que hago que por el dinero que gano. Y si, en Wordpress la historia se repite, no de una forma tan desastrosa pero si rompe con muchas reglas de “buena conducta” de la programación.

Aun con todo esto que he dicho, los dos son sistemas que han triunfado enormemente en el desarrollo de paginas web, principalmente porque quienes lo usan no terminan preocupándose por tocar el código detrás del sistema gracias a que no siguen objetivos muy específicos, Wordpress, OpenCart y otros CMS parecidos no están hechos con la finalidad de que uno entre a editar todo su código, están hechos para ofrecer una forma visual y fácil de crear una pagina web.


¿Que sucede con los lenguajes?

Ahora sobre los lenguajes de programación y las herramientas usadas, muchos dicen que los principales lenguajes usados en la programación web son malos y poco concisos como PHP o Javascript, esta es una verdad que desapareció con el tiempo, PHP fue creado en 1995 y comenzó como algo bastante básico y lleno de errores, con el paso del tiempo cambio poco, algo que le paso también a HTML, CSS y Javascript, por eso existen quejas de que estas herramientas no han evolucionado y en su lugar se han quedado estancadas en el tiempo haciendo de la programación web algo fastidioso.

Pero esto es diferente en la actualidad, al fin PHP se actualiza (actualmente esta en su versión 7) junto a HTML y CSS dando paso a nuevas funcionalidades y a un lenguaje mas robusto, mientras que se van desarrollando nuevas librerías y formas de trabajar para la web con Javascript como lo son JQuery, Laravel, Vue.js y otros...


HTML CSS JS

Ahora son los tres jinetes del apocalipsis (?

Todo esto ha causado que el desarrollo web al menos avance luego de un largo tiempo estancado. Por otra parte, hay gran cantidad de código mal diseñado en internet por lo extenso que es este campo, se requieren conocimientos de bases de datos, diseño web y como extra una excelente base y fundamentos de la programación para lograr crear una página web cuyo código fuente tenga buenos principios.

Por esa razón los desarrolladores prefieren especializarse en la parte mas técnica y lógica de la programación web como el Backend o en la parte visual y creativa como el Frontend, y no en las dos al mismo tiempo. Aquellos que dominan ambos campos son conocidos  como desarrolladores Full Stack o como Unicornios por lo raro que es ver uno.

Por otro lado, gracias a que ahora todos los sistemas están migrando de el escritorio al internet, esto genera mas puestos de trabajo, en Latinoamérica casi todos los trabajos de programación están enfocados en algo de la web, esto solo hace que muchas personas aprendan la programación web para ganar dinero y no porque realmente les guste o les fascine la programación, al final tendremos a muchas personas que no les importa si algo esta mal programado con tal de que funcione y reciban su respectivo pago.

Obvio no puedo generalizar, no todas las personas son así, pero hay que aceptar la inmensa mayoría que si lo es.

Concluyendo, quiero decir que, si deseas aprender la programación web primero aprende los fundamentos de la programación convencional, aprende sobre diversos algoritmos o patrones de diseño, aprender lenguajes como C facilitan el escribir buen código y entender que pasa al nivel de la maquina, mientras que aprender lenguajes como Python facilitan el diseñar buenos algoritmos, algo que ayuda mucho cuando se desarrolla para el internet.

Esta entrada fue modificada por última vez el 13/02/2019

OTRAS ENTRADAS