Para este golf, necesitará usar más de un idioma.
La tarea
Una máquina Rube Goldberg es un artilugio que toma una cantidad enorme de pasos complicados para ejecutar una tarea muy simple. El objetivo de este golf es dar salida Rube Goldberg
... pero no directamente.
La máquina
Su "máquina" es el código fuente que, una vez ejecutado, le dará otro código fuente en otro idioma que saldrá Rube Goldberg
tras la ejecución. ¿Entendido?
Lo reformulo: su código inicial debe dar otro código, ese otro código debe salir Rube Goldberg
. Ambos códigos deben estar escritos en diferentes idiomas.
El bono que se parece más a la única forma divertida de hacerlo
Hay una bonificación si su código genera un código que generará un código que ... generará Rube Goldberg
.
NOTA: se puede usar cualquier tipo de salida (stdout, stderr, cuadro de diálogo, ...)
Los puntos
El número de puntos es igual al número de bytes utilizados en su código, dividido por el número de distintas , adicionales lenguas que utilizó.
NOTA: diferentes idiomas usan diferentes codificaciones. El número de bytes se cuenta en el idioma inicial con su propia codificación.
Ejemplos
Pyth -> J -> Javascript -> output
en 30 bytes = 30/2 = 15 puntos (J y Javascript son los idiomas adicionales)Java -> C# -> C++ -> PHP -> output
en 36 bytes = 36/3 = 12 puntos (Más bytes y más idiomas pueden ganar menos bytes y menos idiomas (sé que no hay forma de que estos idiomas lo hagan en 36 bytes))C -> output
en 10 bytes = 10/0 = puntos infinitos (sin idiomas adicionales)Python -> Perl -> Ruby -> Python -> Ruby
en 44 bytes = 44/2 = 22 puntos (Perl y Ruby son los idiomas adicionales, el segundo Python no se cuenta ya que no es un idioma adicional, el segundo Ruby no se cuenta como ya ha sido)
NOTA: Los idiomas que generan su entrada no se pueden usar. Ese sería un idioma adicional sin ningún byte adicional.
La respuesta
Proporcione una respuesta que indique claramente qué idiomas utilizó y muéstrenos el código de cada paso (es decir, en cada idioma).
El ganador
Por supuesto, como de costumbre, gana el puntaje más bajo.
NOTA: Como de costumbre, las lagunas y "trampas" estándar no están permitidas.
fuente
Respuestas:
33 idiomas, 40 bytes, 1.25 puntos
Aprovecha el hecho de que muchos idiomas diferentes comparten la misma sintaxis de impresión, lo que resulta en un código fuente exponencialmente más largo pero altamente compresible.
Permalinks (incompleto, por actualizar)
fuente
BATCH
otro gratisecho
.Foo → GS2 → M → Jelly → Retina → Aeolbonn → Par → En realidad → Sprects → sed → Universal Lambda → Líneas → /// → m4 : 19/13 ≈ 1.4615 puntos
Todas las respuestas se dan en la página de códigos Jelly . ¶ representa una nueva línea.
Mecanismo
EDITAR: Vaya, hubo un error en el programa Pyth. Reemplacé Pyth y GolfScript por Par.
EDIT 2: GNU m4 agregado.
EDITAR 3: Se agregó Foo y M.
fuente
gs2 -> Jelly
solo elimina un byte .../
al final, si eso no arruina otros idiomas).Jolf -> En realidad -> Jelly -> Pyth -> Retina -> /// -> Golfscript: 15/6 = 2.5 puntos
5.4 puntos gracias a Martin Ender.
0.1 puntos gracias a Cᴏɴᴏʀ O'Bʀɪᴇɴ.
Nota: tanto Actually como Jelly tienen su propia página de códigos, por lo que podrían transferirse byte a byte, pero no en las versiones en línea.
Jolf
Realmente
Pruébalo en línea!
Jalea
Pruébalo en línea!
Pyth
Pruébalo en línea!
Retina
Pruébalo en línea!
///
Pruébalo en línea!
Golfscript
Pruébalo en línea!
fuente
Python -> Batch -> Javascript -> Java -> PHP -> C ++ -> Foo -> Brainfuck 31. (142857) puntos
Pitón
Lote
JavaScript
Java
PHP
C ++
Foo
BrainFuck
fuente
-----------
no podrías hacer"+"-"*11+"
?JS -> Cobol -> Python -> IBM 360 BAL
261 bytes / 4 idiomas = 65.25 puntos
Tenía el objetivo de utilizar idiomas difíciles, con más ofuscación. Javascript convierte la cadena de base64 a Cobol, que produce Python que decodifica el código BAL de hexadecimal.
Javascript
Cobol
Pitón
IBM 360 BAL
Salida
fuente
Rude Goldberg
, noRUBE GOLDBERG
.IndentationError
y no se ejecutará.MAT -> Cjam -> 05AB1E -> Golfscript
21/218/222/3Gracias por Martin por 3 caracteres de descuento!
ejecutado en MATL da
que en CJam da
que en 05AB1E da
que en Golfscript da
fuente
g'
ag
. Entonces su puntaje será 7 en lugar de 22/3 .Java-> Thue-> Javascript-> Batch-> Microscript II-> Brainf ***, 236/5 = 47.2
Programa Thue generado:
Programa Javascript generado:
Programa de lote generado:
Programa Microscript II generado:
Programa Brainf *** generado:
fuente
Reng ->> <> -> Vitsy, 32/2 = 16 puntos
Quería hacer solo lenguajes 2D, ¡en una sola línea!
Explicación
fuente
push that string backwards
".Perl -> JavaScript (ES6) -> Lote -> sh, 39/3 = 13 puntos
Perl
JavaScript (ES6)
Lote
sh
fuente
<?="print 'alert`@echo echo Rube Goldberg`'";
. Si no me equivoco, serán 11.25 puntos.print 'alert`@echo echo Rube Goldberg`'
funciona en PHP.print
.<?php
parte para actuar como quine./// -> PowerShell -> CJam -> Foo -> BASH, 24 bytes / 4 = 6
Cuando se ejecuta en /// da
que, cuando se ejecuta en PowerShell da
que, cuando se ejecuta en CJam da
que, cuando se ejecuta en Foo da
que, cuando se ejecuta en BASH da
fuente
Javascript -> PHP -> Foo 14 puntos
Javascript:
PHP:
Foo:
fuente
APL → J → K, 21 bytes / 2 → 10.5
'''"Rube Goldberg"'''
en Dyalog APL da
'"Rube Goldberg"'
cuál en J da
"Rube Goldberg"
cuál en K da
Rube Goldberg
Si permitimos idiomas relacionados aún más cercanos, podemos obtener muchos más.
fuente
/// -> K -> J -> SX -> Golfscript -> Pyke -> Lua -> Moonscript -> C -> Pyth -> Python -> BrainF *** -> Bash -> Ruby -> Zsh, 554b / 16 = 34,625
///
K
J
SX
Golfscript
Pyke
Perl
Lua
Moonscript
C
Pyth
Python 2
BrainF ***
Golpetazo
Rubí
Zsh
Obviamente podría agregar muchos ecos, pero parece que copiaría la respuesta de Dennis.
fuente
Python → Ruby → Bash, puntaje: 35/2 = 17.5
cuando se ejecuta en Python, da
con el
\"
s escapó. A continuación, esto, Ruby ejecutado day finalmente, ejecutar esto en Bash da
cual es la cadena esperada.
fuente
C → JS → Shell → > <> : 68/3 = 22.67
C
Javascript
Cáscara
> <>
Resultado:
según sea necesario.
fuente
console.log`echo '"Rube Goldberg"ar!;ooooooo|'`
?console.log([`echo '"Rube Goldberg"ar!;ooooooo|'`])
) según las especificaciones.Sprects → /// → itflabtijtslwi → Python 2 → Pyth, 24/4 = 6
Sprects
///
itflabtijtslwi
Python 2
Pyth
Salida
fuente
Python -> Ruby -> Bash -> JS -> /// -> m4, puntaje: 54/5 = 10.8
Tengo el truco /// y m4 de la respuesta https://codegolf.stackexchange.com/a/83627/53416
fuente
dc -> Fortran -> Básico -> Vim, 59/3 = 19. (6) puntos
Con esta respuesta, quería contribuir a la variedad de idiomas que ya se utilizan en otras respuestas.
corriente continua:
Fortran:
Básico:
Empuje:
Salida final:
fuente