Esta chica se ha grabado en el mismo sitio donde se grabó 1 semana antes de que empezara la inundación en Valencia
Un ejemplo de cómo todo cambia de un día para otro
"Voy a autoayudarme a lo bestia, decidí. A calzármelos todos y luego a escribir yo uno. Ahora sí que voy a triunfar de cojones. Me voy a comer el mundo con patatas y las balas sin pelar".
Si hoy es jueves, hay Patente de Corso.
https://t.co/KCDUn87Inw
Una mente magnífica la de Antonio Gala, conocedora del mundo y de las personas que en él habitan. 32 años han pasado desde que dijera estas palabras sobre «este futuro tecnológico»...
Desde hace 10 años trabajo conduciendo un taxi. Y por decisión propia, siempre en el turno de noche. A mis compañeros y familiares, cuando me preguntan, les digo que padezco de insomnio, que las paso en vela, y así por lo menos las aprovecho. Pero esa no es la verdadera razón>>>
Tiny Tim performing ‘Tip Toe Thru' The Tulips With Me’ in 1968. The song became known for its eerie sound and its use in horror movies. In 1996, while performing the song, Tiny Tim had a heart attack and passed away, adding another uncanny element to the song.
Una reflexión técnica sobre la caducidad del software moderno y su complejidad artificial:
— Hipercomplejidad del tooling
— Dependencias abandonadas o rotas
— Frameworks que desaparecen
— Parsers y máquinas virtuales retroincompatibles
— …
Mucho del software libre escrito hace apenas cuatro o seis años no corre en los entornos de hoy sin una adaptación o un mantenimiento adaptativo casi constante.
Poco se habla de esto, que es especialmente acuciante en proyectos frontend, donde los desarrolladores adoptan el framework «de moda», que indefectiblemente acaba «pasado de moda»… salvo el escaso puñado de librerías respaldadas por un mastodonte corporativo: React con Meta, TypeScript con Microsoft…
La única forma de escribir software resistente al paso del tiempo es minimizar cuidadosamente el uso de estas dependencias allá cuando sea posible¹ y apoyarse en las especificaciones abiertas del W3C que implementan nativamente los navegadores.
Muchas aplicaciones medianas y pequeñas se construyen sobre Angular, Vue o React porque sale en todos los pódcasts del momento o es la incuestionada preferencia técnica del desarrollador principal. Son elecciones apoyadas más en el entusiasmo que en criterios técnicos.
¡Cada dependencia es una responsabilidad!
¡Cada framework es también un riesgo!
Muchos proyectos nacen con hipoteca, cuando podrían perfectamente desarrollarse sin ninguna de estas dependencias.
En https://t.co/FzVIiQl9td² me propuse no utilizar ninguno de estos frameworks y mi experiencia de desarrollo y el resultado fue positivo. Descarté tanto React como Lit —tras estudiarlos— y decidí construirlo exclusivamente con especificaciones W3C como shadow DOM y web components.
Mis proyectos https://t.co/QxNXHN6giE y https://t.co/aay7D8Gn3N³ no tienen ninguna dependencia externa por esta misma razón. Podría haberlos desarrollado sobre Vue o Svelte o Ember.js o sabe $DEITY qué. Pero hubiera hipotecado el proyecto apostando mi esfuerzo a una carta cuyo futuro desconozco. Envejecerán bien.
(Escribo esto recordando el entusiasmo en 2007 de la comunidad .NET por el lanzamiento de Microsoft Silverlight: «Es el futuro», escuché a algunos desarrolladores que ahora llevan flores a sus proyectos en el enorme cementerio digital del futuro que no fue).
En fin… Que como desarrolladores, opino que tiene mucho más sentido aprender y dominar las API y especificaciones nativas que invertir un esfuerzo notable en aprender frameworks y tooling que tienen un ciclo de vida mucho más corto y un futuro incierto.
(Si además eres la Administración pública, tiene delito el vendor lock-in, la captura que desde hace décadas os habéis autoimpuesto del monopolio vertical de turno que en 1995 os vendió un consultor engominado: FUD como «Nadie ha sido nunca despedido por contratar IBM/Oracle/Microsoft…»).
Y es que muchos proyectos medianos y pequeños no necesitan de la complejidad artificial que introducen estas capas de abstracción de terceros sobre estándares como HTML5, CSS3, SVG, Canvas, WebAssembly, Web Components, Shadow DOM, WebRTC, XMLHttpRequest, WebSockets, Geolocation, IndexedDB, Web Workers, Web Storage, Fetch, Service Workers, WebGL, Media Capture, Streams, Web Audio, Drag and Drop, Server-Sent Events, Gamepad, WebXR, CSS Grid, Flexbox…).
¡Es mi opinión! Pero pasadlo bien programando con lo que os dé la gana y disfrutad de nuestra maravillosa profesión. 🤓
_____
¹ Véase https://t.co/3QftMfF682.
² Código abierto en https://t.co/5VSxN0p5nz.
³ Ambos disponible como software libre en https://t.co/1XHRGpDY5L.