Canal RSS

Decadencia de WebDevelopers

Publicado en

El desarrollo WEB se esta desmoralizando, y esto es tanto culpa de las grandes empresas como de los usuarios.

Nuevamente, desde la aparición de DHTML hace ya varios años, el desarrollo web se esta poniendo interesante y divertido. Ajax propone un modelo de desarrollo totalmente diferente al que se venia haciendo hasta ahora, utilizando tecnologías que han llegado a un punto de maduración suficiente como para ser confiables y abriendo un abanico de posibilidades que antes eran impensables en este ámbito.

El problema es que hay gente que esta muy interesada en hacer plata con todo esto y se dedica a difundir herramientas y modelos de desarrollo pésimos, pero orientados a la gente que no tiene ni idea de lo que realmente se trata todo esto y que, al parecer, tampoco tiene ganas de aprender.

La mala costumbre comienza con las herramientas de Microsoft. El gigante de Redmon hizo un esfuerzo enorme en hacer parecer el desarrollo web con una aplicación en Visual Basic para Windows. El resultado, WebForms, y muchos programadores que no necesita aprender como funciona la WEB. Vos haces clic en un botón, y ahí esta tu manejador para el evento OnClick, viola!.

Desafortunadamente, evitando que los desarrolladores aprendan el funcionamiento de la web resulta en un impresionante montón de código ‘undebuggable’ y digno de aparecer en The daily wtf. Diseñan sitios enteros basados en tablas, cuando esta mas que demostrado que es un modo anticuado y deficiente, no usan CSS porque ASP te renombra los id de tus elementos, y porque ASP te genera elementos adicionales ocultos que no tenias previsto, y por lo tanto, no son posicionables. De hecho, no conocen CSS porque ASP te lo escribe automáticamente en la propiedad style de cada Tag, otra malísima costumbre, porque un estilo nunca debe escribirse en el HTML. Bueno, podría enumerar miles de malas costumbres de estos desarrolladores, que al final, no tienen la culpa.

Todos estos desarrolladores que nacen en ASP.NET hablan del desarrollo web como si fueran grandes maestros siendo que solo conocen un taglib que genera código escrito por otra persona y del cual no tienen la más pálida idea de cómo funciona. Por si fuera poco, están convencidos de que este es el mejor camino de construir la web y se niegan rotundamente a aprender las tecnologías en las cuales todos esos tags se basan.

Claro que esto es así porque no se imaginan las cosas que realmente podrían lograr conociéndolas. Es solo una cuestión simple, y eso se llama ignorancia. Microsoft, generando cada día mas ignorantes bajo la bandera del la abstracción se asegura los millones para subsistir un par de años mas.

Claro que también están los que entienden de verdad sobre las tecnologías que hacen a las aplicaciones WEB, la forma en que ASP.NET perjudica a estos desarrolladores es limitando su potencial. Ojo, todo es posible de hacer con esta herramienta, pero por favor, que no se te ocurra cambiar tu archivo CSS porque te va a hacer doler la cabeza un buen rato, de hecho, hacer las cosas de un modo diferente a la propuesta de MS siempre te va a hacer doler la cabeza, vas a tener q escribir código reemplazando el modo en que normalmente se comporta, y te aseguro que no es poco.

Por otro lado, resulta que a Google se le da por largar Google Web Toolkit, cuyo propósito es, básicamente, esconder JavaScript atrás de otro lenguaje de programación.

Javascript esta lleno de posibilidades, es ampliamente usado, y es un hermoso lenguaje. Seguro que es diferente a C#, Java, pero cumple perfectamente su cometido. También es cierto que rompe el strong typing y el modelo tradicional de orientación a objetos de C++, pero esto no lo hace menos versátil.

Y nuevamente, vemos llegar una capa de abstracción errónea y pobre, que solo va a generar más problemas que soluciones, yo creo que no hay ninguna buena razón para no aprender un lenguaje nuevo, la historia es simple: si no podes manejar JavaScript, no deberías estar escribiendo código para aplicaciones WEB. CSS, HTML y JavaScript son los tres prerrequisitos para este camino, ¿como podes entonces, meterte en Ajax sin conocerlos?.

Claro, Microsoft no se podía quedar atrás, y demuestra que no solo copia las buenas ideas de sus competidores, sino que también copia las malas.

El camino correcto para los que comienzan, puede ser un compilador de JavaScript 2.0 que produce salidas compatibles con la versión 1.4, no hay problemas con toolkits poderosos, o cualquier herramienta que siga sin romper las líneas del estilo WEB. Quieren herramientas visuales, ok, usen Flex, usen OpenLazlo, son tecnologías que van de la mano con las nuevas ideas que acompañan a Ajax. No necesariamente tienen que matarse programando para hacer algo bien.

Estoy seguro de que la productividad puede convivir con el desarrollo de aplicaciones bien hechas y a conciencia.

Editado:

Este post surgió a partir de esta discución, pueden segir su repercución alli.

»

  1. No entiendo del todo tu postura frente al hecho de “esconder javascript” atrás de otro lenguaje.

    Qué tiene de malo la generación de código? Si está bien hecha, una buena herramienta de generación de código va a ahorrar muchas horas de trabajo, y posiblemente, generará código de mejor calidad que si estuviese escrito “a mano”.

    También para mí, las soluciones de Microsoft suele de ésta clase de problemas son horribles. Se cagan en las recomendaciones de la W3C, en la compatibilidad entre navegadores, y en todo lo que puedan.

    Abstraer es generalizar, encontrar el principio general de un problema y, en programación, escribir código que lo solucione.

    Creo que el problema está en las implementaciones pobres, y no en la abstracción.

    Saludos!

    Responder
  2. Yo creo que en el caso puntual de Javascript, no es necesario abstraerlo detras de otro lenguaje. Sobretodo, porque eso significa hacer aplicaciones que corran en el servidor en lugar de correr en el cliente, algo que se esta tratando de cambiar ahora con la llegada de AJAX.

    Responder
  3. Javier, esta bien que defiendas que los programadores no sean mas que drag & drop.

    Pero no te sulfures, hay que llegar a un
    balance, sino todos estariamos escribiendo en assembler.

    Creo que mas bien la idea es la de tener patrones para que los usuarios eviten tener que reinventar la rueda.
    Solo que esos patrones no llegan tan rapido como la gente que sabre hacerlos.
    Y este es el punto, hay personas especializadas que crean cosas y otros que son practicos y las usan.

    No es la misma solucion, pero logran tambien los resultados.

    Ya se adaptaran los usuarios y aplicaciones al ajax y eso sera el futuro. Pero estan medios verdes con eso.

    Responder

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

A %d blogueros les gusta esto: