Todos conocen la frase "¡Las reglas están hechas para romperse!", Así que esta es su tarea:
Escriba algún código en cualquier idioma que rompa un estándar. Esto puede ser cualquier cosa, desde poner 240 voltios en un cable USB, hasta hacer ping a su enrutador (¡ NO el sitio web de otra persona!) Con un paquete de 10 MB. (¡No se te ocurra ninguna idea, ambos probablemente causarán todo tipo de fatalidad!)
¡La respuesta más votada después de 10 días (es decir, la violación más grave) ganará!
Reglas:
- El código debe ser explicado.
- El estándar que está rompiendo debe estar vinculado y debe explicar lo que está haciendo (implica 1) para romperlo. De lo contrario, no se aceptarán respuestas.
- No se aceptarán las respuestas que simplemente bloqueen al intérprete o hagan que deje de funcionar. Me gustaría algunas respuestas creativas, no solo pegar algo como
𐒢
en IDLE (que lo bloquea) - Los errores de explotación no están permitidos, a menos que rompan un estándar. De lo contrario, no se aceptarán respuestas.
¡Comienza y diviértete!
popularity-contest
Jorge
fuente
fuente
Respuestas:
Pitón
Explicación:
El estándar de la programación de puzzles y código de intercambio de pila de golf es
Este código no responde la pregunta, por lo que rompe el estándar.
fuente
print("hello world")
C
Aquí hay un programa factorial que compila y se ejecuta con éxito (con gcc4.6.3 en Ubuntu 12.04), pero invoca tantos comportamientos indefinidos según el estándar C como podría incluir. La mayoría están inspirados desde aquí . Gran parte del código legal restante es simplemente malo.
fuente
XHTML
La especificación W3C ( http://www.w3.org/TR/html-markup/p.html#p ):
¡Oh, me siento sucio!
Editar: @xfix señaló que el error que estaba mostrando era en realidad XHTML. El error de HTML que esto causa es más frío y menos obvio de modo que:
<p><div></div><p>
se vuelve<p /><div></div></p>
porque<div>
hace que el<p>
auto cierre. Por lo tanto, se produce un error porque estamos intentando cerrar un párrafo que no existe.fuente
</p>
etiqueta existe sin cerrarla, ya que<div>
se cierra automáticamente<p>
.<p>
está cerrado por ciertas etiquetas. Para el validador HTML4, obtengo la "etiqueta final para el elemento" P "que no está abierto".HTTP / 1.1: Respuesta - Código de estado y frase de razón
¿Necesito ir más allá? Este código de estado no es uno de los códigos definidos en el estándar. Ni siquiera comienza con uno de los dígitos de categoría requeridos. Ni siquiera tiene 3 dígitos de largo.
Mi navegador aún se las arregla para cargar bien la página.
Además, esta respuesta rompe uno de los "estándares" de este sitio :)
Salida (línea de estado):
JavaScript (nodo)
fuente
¿Cuántos estándares acabo de romper?
Realmente hice una programación horrible aquí.
PHP
Huevo de Pascua: Las
echo
letras ed, si se lee verticalmente, leerájust killed standarDs!
.Nota al margen: Ejecutar este programa generará el nombre de un chico que realmente amaba
goto
.fuente
C # - rompiendo Unicode
Algoritmo simple para revertir una cadena:
Esto rompe el estándar Unicode , porque no mantiene correctamente los pares sustitutos juntos, creando una cadena no válida. En .NET y muchas otras plataformas / lenguajes de programación, a
char
no es realmente un personaje, sino una unidad de código UTF-16 .NB: también cambia qué letra se combina con las marcas de combinación subsiguientes (p. Ej., Signos diacríticos), que pueden o no ser intencionadas.
fuente
JavaScript
Ejecútelo en la consola en esta página.
Inspirado por
Lo que hace es generar una respuesta aleatoria de los 1000 mejores votados de codegolf.SE (es decir, ¡resolver el problema de una manera muy meta!), ¡Con formato y todo, en su página!
Desafortunadamente, esto técnicamente no satisface las reglas, ya que la salida es el código con los estándares rotos, por lo que
document.write
rompí un estándar en este código, lo usé (ewwww). También tengo que proporcionar un enlace, así que aquí: ¿Por qué document.write se considera una "mala práctica"?Si eso no cuenta como "romper los estándares", por si acaso, envolví mi cadena
unescape(escape())
, que está en desuso, según MDN .Tenga en cuenta que realmente estoy haciendo todo esto para evitar las reglas, y el punto principal de esta respuesta es su salida.
Ejecución de muestra (haga clic en la imagen para ampliar):
fuente
var
declaraciones para que vaya más en contra de las normas.XML
No es mi "invención", en realidad tengo que trabajar con XML como este que obtenemos de un lugar muy secreto:
No se valida contra su propio DTD incorporado, contiene múltiples raíces y símbolos de escape sin escape. (También hay otros errores de nivel superior, modelo de contenido ambiguo, etc., no demostrados aquí.) Muy triste.
fuente
La RFC 950 permitió pero la máscara de red a máscaras de bits que no son contigo, pero está altamente desaconsejada, pero ahora está prohibido a partir de RFC 1219. Sin embargo, los me gusta de BSD le permiten hacer esto.
Las máscaras de red IPv4 son una combinación de cuatro bytes, al igual que una dirección IP. Se utiliza para calcular si dos hosts con direcciones IP y máscaras de red conocidas están en la misma red. En general, una dirección IP consta de dos partes: la red y la parte del host. Digamos que su red en casa es
192.168.1.1
-192.168.1.254
. La parte del host son los primeros tres bytes de la IP, a saber192.168.1.x
. Esto significa que la máscara de red es255.255.255.0
, lo que significa que los primeros 24 bits son la parte de la red. En binario la máscara se parece11111111.11111111.11111111.00000000
. Los 1 bits son continuos. En mi ejemplo, la máscara de red sería00010111.00000000.00000000.00101010
. Entonces, ¿qué pasaría si la máscara de red no es continua? En lugar de estar en el extremo derecho, la parte del host está dispersa en toda la dirección IP, lo que hace que sea realmente difícil de leer, al igual que mi explicación aquí.¡NO esperes que nada funcione después de esto!
fuente
C
¿Cuántos errores puede encontrar, lo que probablemente haría que la mayoría de las empresas rechacen su código (especialmente los buenos)? La mayoría de estos son probablemente errores de estilo (que espero que nadie haga), pero algunos de estos son comportamientos indefinidos.
fuente
Vamos
http://play.golang.org/p/DrDHF9EMgu
La explicación está aquí . Las reglas "mientras que" y "a pesar de todas las objeciones" no aparecen en la especificación, pero el lexer simplemente las omite, como una especie de huevo de pascua. Supongo que el linter es más compatible con los estándares porque si hace clic en "Formatear" en ese enlace Ir al área de juegos, obtendrá un error de análisis.
fuente
JavaScript
Explicación:
Se sale de un bucle while etiquetado como "estándares".
Estándares rotos:
fuente
JavaScript
Rompe un estándar porque no usa suficiente jQuery
La forma correcta de escribir este código se puede ver aquí
fuente
GML rompe un montón de estándares. Uno de ellos es la belleza de no permitir el uso de operadores ternarios. En lugar de usar operadores ternarios, en GML haría esto:
Donde el equivalente ternario es:
El primero es bastante desagradable, especialmente cuando comienzas a agregar otras operaciones.
fuente
Haskell
Mi programa realmente no rompe ningún estándar, sino que selecciona al azar uno para usar. Intenta ser justo a través de los diferentes estándares. Aquí está mi código.
fairUnlines
tomará una lista de cadenas y las unirá utilizando estándares aleatorios de caracteres de nueva línea. Además, es la primera vez que utilizo el estilo aplicativo, sin embargo, en IO.fuente
Golpetazo
Tomando de tu ejemplo:
Suponiendo que su enrutador esté en
192.168.0.1
Nota: el tamaño máximo de ping es de 65 kb, así que hice 10 kb en lugar de 10 mb
fuente
Java
Oh querido, alguien olvidó al captador otra vez ...
El
Useful
campo debe estar en minúsculas :useful
No estoy seguro de que esto sea un estándar: importación de comodines inútil (debería serlo
java.lang.reflect.Field
ya que eso es todo lo que se está utilizando).fuente