Mi padre, que era un APLer realmente bueno y me enseñó todos los conceptos básicos de APL (y mucho más), falleció este día, hace cinco años. En preparación para 50 años de APL , encontré esta carta de patente (traducida para la comodidad de aquellos que no leen danés) para un logotipo escrito a mano. Explica una razón importante para que APL nunca obtenga una gran base de usuarios, una razón que, por supuesto, también se aplica a todos los increíbles idiomas de golf de esta comunidad:
A 3497/77 Req. 29 º de agosto de 1977 en 13
Henri Brudzewsky, empresa de consultoría de ingeniería, Mindevej 28, Søborg,
clase 9 , incluidas las computadoras, especialmente las computadoras codificadas por APL,
clase 42: empresa de agencias de servicios de TI, especialmente durante el uso de computadoras codificadas por APL.
Tarea
Produzca una salida infinitamente repetida del texto EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS
sin nuevas líneas. Puede comenzar el texto con EASIER
o FASTER
o FEWER
.
Respuestas:
05AB1E , 25 bytes
Pruébalo en línea!
Explicación:
fuente
[
significa 'inicio de bucle infinito',‘æƒËRSˆ¾¥ƒŽÁˆ¾¡ŸÂ ‘
es una versión comprimida deEASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS
, y?
significa imprimir sin nueva línea.compressed
.SVG (HTML5), 336 bytes
Editar: Algunas personas han descubierto que la fuente no es adecuada para ellos, así que aquí hay una versión que le permite unos pocos píxeles de ajuste:
fuente
PHP, 76 bytes
Pruébalo en línea!
fuente
EASI0MMUNICATION1FAST0DING1FEW0DERS1
se trata como la cadena"EASI0MMUNICATION1FAST0DING1FEW0DERS1"
. Tercero,strtr
espera una matriz asociativa (un "mapa" o "diccionario" en otros idiomas), pero este código pasó en una matriz regular, por lo que trata la matriz regular como una matriz asociativa con las teclas 0 y 1. Finalmente, esos enteros 0 y 1 me tratan como cadenas"0"
y"1"
porque, lo adivinaste, la función necesita cadenas.Vim 69 bytes
fuente
HTML, 122 bytes.
Lo siento, no puedo evitarlo.
fuente
Python 2 ,
8281 bytes-1 byte gracias a Leaky Nun.
Probablemente estoy haciendo algo mal, pero es muy tarde así que meh. Tenga en cuenta la coma final.
Pruébalo en línea!
Otra solución, 85 bytes.
Probablemente pueda jugar golf más allá.
Pruébalo en línea!
fuente
'%sER CO%s MEANS '
y elimina los espacios de los elementos de formato, será más elegante y funcionará correctamente.Jalea ,
3329 bytes4 bytes gracias a Erik the Outgolfer.
Pruébalo en línea!
fuente
“©%5ÐƬwȮh¬Þ6.⁷ḷḊḥṫɠlḶṀġß»
(todavía necesita usarŒu
y;⁶
) 2) Puede usar enß
lugar de1¿
.Brachylog , 70 bytes
Pruébalo en línea!
Cómo funciona
fuente
HTML / CSS (sólo para Firefox),
179177183176173 bytesCertianly en ninguna parte cerca de los puntajes más bajos, solo pensé que sería divertido obtener una repetición infinita en HTML / CSS, sin ningún JS involucrado :)
Registro de cambios:
width:100%
estilo conright:0
para guardar 3 bytesfuente
repeat no-repeat
o; background-repeat: repeat-x
, pero descubrí cómo evitarlo. Resulta que obedecer la especificación ahorra bytes!Python 3 , 87 bytes
Pruébalo en línea!
fuente
end=
hacer?print
sonprint("",end="\n")
.ER CO
yMEANS
(espacio inicial + final) ahorraría algunos bytes, pero aparentemente no.C (gcc) , 92 bytes
Pruébalo en línea!
fuente
LOLCODE , 116 bytes
Pruébalo en línea!
fuente
IM IN YR ...
yIM OUTTA YR ...
forma un bucle infinito.!
suprime el retorno de carro después de la impresión.Ruby, 77 bytes
asignando
" MEANS "
a una variable guardado todo 1 byte :-)fuente
JavaScript (ES6),
9087 bytesAlternativa de funcionamiento, 100 bytes
¡"Funcionar" aquí significa "no bloqueará su navegador" (por un tiempo, al menos)!
fuente
document.write`EASIER COMMUNICATION${m=" MEANS "}FASTER CODING${m}FEWER CODERS`+m
es equivalente adocument.write([ 'EASIER COMMUNICATION', 'FASTER CODING', 'FEWER CODERS' ], ' MEANS ', ' MEANS ') + ' MEANS '
, que 1) convertirá todos los argumentos en cadenas y concatena (impresiónEASIER COMMUNICATION,FASTER CODING,FEWER CODERS MEANS MEANS
), y 2) no incluirá el último de' MEANS '
todos modos ya que está fuera de la llamada a la función ...Befunge , 73 bytes
Pruébalo en línea!
fuente
">:#,_
conA"k,
y guardar dos bytes. EnlaceOctava, 86 bytes
Explicación:
Esto se explica por sí mismo. El único "truco" real aquí es usar
while fprintf
. Cuandofprintf
se le da un argumento de retorno, devolverá el número de caracteres impresos, y todos los números distintos de cero se considerantrue
en Octave, por lo que la condición del bucle siempre será verdadera.Intenté desesperadamente acortar el enfoque más interesante, pero resultó ser 9 bytes más largo, desafortunadamente:
Esto intenta insertar las cadenas
'ER CO'
y' MEANS'
en la cadena en las ubicaciones correctas, utilizando la indexación directa donde'ababab'-96
hay una versión más corta[1 2 1 2 1 2]
.Esto fue un poco más corto (93 bytes), pero aún más largo que el enfoque ingenuo
Y otro (89 bytes), utilizando el enfoque de Level River St:
Esto debería funcionar en teoría, por un byte menos que la solución original, pero falla por alguna extraña razón:
Esto utiliza la función con errores que
fprintf('abc def')
es equivalente afprintf"abc def"
. Elend
debe estar en la siguiente línea, pero aún así es un byte más corto ya que dos paréntesis se omiten.Y uno más para 87:
Bueno, no digas que no lo intenté :)
fuente
fprintf
recicla argumentos ¿verdad? Su última versión puede tener 6 bytes menos. ¡ Pruébelo en línea!Alice , 70 bytes
Pruébalo en línea!
Explicación
Desafortunadamente, la reutilización de
MEANS
(con espacios) solo ahorra un solo byte en lugar de imprimir todo de una sola vez. En consecuencia, extraer el enER CO
realidad costaría un byte (o probablemente más, porque sería un poco más caro extraer otra sección).fuente
C #, 102 bytes
fuente
Pyth , 69 bytes
Pruébalo en línea!
Cómo funciona
fuente
Lua , 92 bytes
Pruébalo en línea!
fuente
Java (OpenJDK 9) , 114 bytes
Pruébalo en línea! Detenga la ejecución después de unos segundos porque no sabe cuándo detenerse.
fuente
for(;;)
C, 86 bytes
Véalo trabajar en línea .
fuente
gcc
(use las opciones predeterminadas, de modo que no se optimice la cola), y cuando lo ejecute, redirija la salida a / dev / null para acelerar el proceso. Seg seg culpa. Con la opción '-O2', que permite la optimización de llamadas de cola, se ejecuta para siempre como se esperaba.a. C. , 76 bytes
fuente
Perl 6 ,
81 8079 bytesIntentalo
Intentalo
Intentalo
fuente
MATL , 68 bytes
Pruébalo en línea!
Explicación
fuente
Axioma,
9289 bytesinserte en una línea a la ventana de Axiom. Posible hay una función más corta que "fortranLiteral" que no escribe "\ n"
fuente
Braingolf , 78 bytes
o
Braingolf , 77 bytes [no competidor]
Este no es competitivo ya que tuve que corregir 2 errores relacionados con el uso del modificador codicioso (
&
) con el operador de impresión de caracteres (@
)fuente
En blanco , 267 bytes
Empuja
FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS
a la pila, luego la imprime. Nunca termina como no{@}
También es un hecho divertido, utilicé el siguiente script de Braingolf para generar este código
fuente
Groovy 79 bytes
Utiliza la interpolación de cuerdas de groovy.
fuente
PowerShell ,
10097 bytesPruébalo en línea!
Respuesta anterior:
PowerShell , 100 bytes
Pruébalo en línea!
PowerShell es un poco complicado para esto porque las formas más dignas de salida a la consola también insertan una nueva línea.
Write-Host
es requerido por esto. Sin embargo, todavía demuestra cómo la canalización puede acortar la huella de codificación.Deberá detener la ejecución después de un corto tiempo porque no volverá, ya que es un bucle infinito.
Editar: recortó 3 bytes cambiando un
while
bucle a unofor
.fuente