La leyenda

HTML 6, CSS 4 y JS 2

Una lista de propuestas para el W3C con la finalidad de hacer del Internet un lugar menos peor.

Versión original

MI PROPUESTA PARA HTML 6

  1. Convertir <marquee> y <center> en estandares, en serio, tan solo... hacedlo.
  2. Introducir la etiqueta <ad> que indica explicitamente que parte de la página web es un anuncio, lo que le hará la vida mas facil al bloqueador de anuncios.
  3. Introducir la etiqueta <spoiler> para indicar partes de la página que puedan contener spoilers.
  4. Introducir la etiqueta <iemode>, todo lo que se introduzca dentro de esta etiqueta no se romperá cuando se vea desde Internet Explorer.
  5. Introducir la etiqueta <vim>, actuará como un textarea, pero tendrá disponible los atajos de teclado de vim.

    Nota: Para perder el focus del input, el usuario tendrá que escribir el mismo comando que usaría para salir de Vim, no lo digo porque seguro ya te lo sabes.

  6. Añadir la propiedad "bulo", que es un boolean, esto servirá para luchar contra la desinformación en Internet.

    Ejemplo de uso:
    <span bulo="true">Hola, soy un bulo.</span>

    Nota: El atributo será colocado por el autor del articulo desde lo mas profundo de su corazón.

  7. Para evitar el robo de contraseñas, el input de tipo "password" reemplazará todos los caracteres *, incluso cuando se publique el formulario al servidor.
  8. Añadir la etiqueta <if>, <elif> y <else> para finalmente convertir HTML en un lenguaje de programación.

    Ejemplo de uso:
    <if id="mi-propio-if" condition="expresion();">
    <span>ES TRUE</span>
    <elif condition="expresion2();">
    <span>ES ELSEIF, NO ELIF, MALDITOS PROGRAMADORES DE PYTHON</span>
    <elif>
    <else>
    <span>ES FALSE</span>
    <else>
    </if>
    // Luego en javascript
    document.querySelector("#mi-propio-if").evaluate();

  9. Añadir la etiqueta <nohtml>, para especificar contenido alternativo en caso de que tu navegador no soporte HTML.

    Ejemplo de uso:
    <nohtml>
    <h1>Tu navegador no soporta HTML</h1>
    </nohtml>

  10. Añadir la etiqueta <DONOTREAD>, para indicar a los scrappers web que ignoren esa parte de la página.

    Example usage:
    <DONOTREAD>
    <!-- El scrapper ignorará esta parte respetuosamente -->
    Mi secretos más oscuros
    </DONOTREAD>

  11. Hacer HTML sensible a mayusculas... solo por las risas.

MI PROPUESTA PARA CSS 4

  1. Añadir !superimportant, para ignorar las reglas !important.
  2. Añadir // como una forma valida de comentar porque /* */ es mucho trabajo.
  3. Debemos añadir estos colores:
    Flox
    PopoMarron
    Bla
    MalvaCrisisDeLaMedianaEdad
    CoralCringe
    Drobifabipoppy
    HamburguesaExtraQueso
    WalterWhite
    Snugglepuss
    BobEsponja
    VerdeMalvado
  4. Añadir if() en CSS... oh espera, que ya lo han añadido... mierda.
  5. Añadir Muggeseggeles como una únidad valida de medida en CSS. 1 Muggeseggele son 0.22mm.
  6. Añadir el eje W, lo cual permitirá aplicar transformaciones en la 4º dimensión.

    Ejemplo de uso
    .teseracto {
    transform: rotateX(30deg) rotateY(10deg) rotateZ(20deg) rotateW(50deg);
    }

  7. Añadir una nueva regla space, la cual te permite aplicar el espacio con el que te sientas más cómodo al elemento DOM, los valores posibles son: "euclidean" (por defecto), "hyperbolic" y "manifold"

    Ejemplo de uso
    body {
    space: manifold;
    padding: 213.5 muggeseggeles;
    }

  8. Añadir selector para los comentarios de HTML:

    Ejemplo de uso
    !-- {
    display: block;
    }

  9. Añadir encapsulación dentro de CSS, para poder crear variables privadas accesibles solo dentro del selector.

    Ejemplo de uso
    :root {
    private --bg-color: drobifabipoppy; // Esta variable es privada
    }

    body {
    background-color: var(--bg-color); // Esto no va a funcionar porque la variable es privada
    }

  10. Vamos a introducir exepciones en CSS, que se lanzan cuando se detecte una mala desición de diseño:

    Ejemplos:
    body {
    background-color: black;
    color: darkblue; // Esto lanza excepción, texto oscuro sobre fondo oscuro
    }
    Como todo buen sistema de excepciones, hemos añadiendo try..catch en CSS
    body {
    try {
    font-size: 'Comic Sans';
    } catch {
    font-size: 'Arial';
    }
    }

  11. En CSS 4, esto será valido:

    margin-bottom: 32px; }
    div
    {

MI PROPUESTA PARA JAVASCRIPT 2

Aunque Javascript ya es perfecto tal y como es. Podriamos añadir unas cositas mas al lenguaje para convertirlo en el mejor lenguaje de todos los tiempos.
  1. Hacer el punto y coma al final de la expresión obligatorio.
  2. Añadir el cuadruple igual "====", aparte de comprobar si el valor y el tipo es el mismo, tambien comprueba si la referencia es la misma.

    Ejemplo de uso:
    const variable1 = 32;
    const variable2 = variable1;
    variable1 ==== variable2; // false
    variable1 ==== variable1; // true

  3. Añadir el modo chill, es parecido al modo estricto, pero las exepciones son completamente ignoradas por el navegador.
  4. Añadir variables cuanticas, las cuales existen en varios estados simultaneamente.

    Ejemplo de uso:
    let schrodingerVariable = new QuantumVariable(5);
    schrodingerVariable.observe(); // Puede devolver 5, o crashear el navegador entero.

  5. Solucionar la sintaxis confusa de JavaScript. De esta forma el codigo es más ordenado y legible, y evitamos comportamientos inesperados.

    Ejemplo de codigo:
    const elementFactory = Browser.getInstance().getDocument().instantiateElementFactory();
    const elementCreationRequest = new ElementCreationRequest().withType(Browser.HTMLTags.Div);
    const createElementInstance = elementFactory.prepareCreateElement(elementCreationRequest);
    const divElement = createElementInstance.create();

    Nota: Esto hace lo mismo que document.createElement("div").

  6. Javascript no tiene mascota oficial, como Tux (Linux), el zorro de Firefox (Firefox) o la comunidad Open Source (Microsoft). Asi que finalmente vamos a introducir una mascota oficial para JS.

    Su nombre es Josefolargo Salamanca, el destructor de lógica.

    JS
  7. Para evitar que hagas trampas en Cookie Clicker, vamos a implementar una nueva API AntiTrampas. Con esta API, cualquier página web tendrá acceso directo a los recursos del sistema operativo, memoria, procesos del sistema, hardware, kernel, etc... en busca algún proceso "malicioso".

    Nota: Para hacer esto posible, en el futuro, necesitarás tener TPM para tener acceso a Internet.

  8. Javascript 2 aprenderá a sumar:

    Antes:
    >> 0.1 + 0.2; // 0.30000000000000004
    Después:
    >> 0.1 + 0.2; // 0.30000000000000000

  9. Añadir la propiedad onlineStorage, a diferencia de localStorage, será accesible globalmente por cualquier página web.
    A diferencia de las Cookies, no estarán regularizadas por una organización externa.

    Ejemplo de uso:
    onlineStorage.setItem("UserAgent", navigator.userAgent);

    Ahora otra página puede ejecutar este comando.
    const UA = onlineStorage.getItem("UserAgent");
    Browser.getInstance().getWindow().getConsole().log(UA);

    De esta manera eliminamos los problemas de los mensajes de cookies invasivos que molestan al usuario y eliminamos los problemas legales para las empresas al pedir permiso de recopilar información del usuario, todo el mundo gana.

  10. Eliminar el colector de basura por completo para optimizar la carga de anuncios, ahora el programador se encargará de la gestión de memoria por su cuenta.

    Ejemplo de uso:
    let* ptr = Browser.getMemoryManager().malloc(1024);
    // ...
    Browser.getMemoryManager().free(ptr); // Recuerda liberar la memoria luego

  11. Vamos a introducir una librería estandar de JS, para acabar con el desorden de los multiples APIs de Javascript y problemas de soportes entre distintos navegadores.

    Esta librería estandar nos ayudará a mantener un desarrollo limpio y organizado de un Internet más libre y mejor.

    Se llamará algo como la librería Generadora Optimizada de Objetos Globales Ligeros Ejecutables (G.O.O.G.L.E)


"HTML 6, CSS 4 y JS 2"
por Adrian Bogdan < adrbog @ proton . me >