Para este golfe, você precisará usar mais de um idioma.
A tarefa
Uma máquina Rube Goldberg é uma engenhoca que executa um número enorme de etapas complicadas para executar uma tarefa muito simples. O objetivo deste golfe é produzir Rube Goldberg
... mas não diretamente.
A máquina
Sua "máquina" é o código fonte que, uma vez executado, fornecerá outro código fonte em outro idioma que será gerado Rube Goldberg
após a execução. Entendi?
Eu refiz a frase: seu código inicial deve fornecer outro código, esse outro código deve gerar Rube Goldberg
. Ambos os códigos devem ser escritos em diferentes idiomas.
O bônus mais parecido com a única maneira divertida de fazê-lo
Há um bônus se o seu código gerar um código que produzirá um código que ... que produzirá Rube Goldberg
.
NOTA: qualquer tipo de saída pode ser usada (stdout, stderr, caixa de diálogo, ...)
Os pontos
O número de pontos é igual ao número de bytes usado em seu código, dividido pelo número de distintos , extras línguas que você usou.
NOTA: idiomas diferentes usam codificações diferentes. O número de bytes é contado no idioma inicial com sua própria codificação.
Exemplos
Pyth -> J -> Javascript -> output
em 30 bytes = 30/2 = 15 pontos (J e Javascript são os idiomas extras)Java -> C# -> C++ -> PHP -> output
em 36 bytes = 36/3 = 12 pontos (mais bytes e mais idiomas podem conquistar menos bytes e menos idiomas (eu sei que não há como essas linguagens fazê-lo em 36 bytes))C -> output
em 10 bytes = 10/0 = pontos infinitos (sem idiomas adicionais)Python -> Perl -> Ruby -> Python -> Ruby
em 44 bytes = 44/2 = 22 pontos (Perl e Ruby são os idiomas extras, o segundo Python não é contado, pois não é um idioma extra, o segundo Ruby não é contado como já foi)
NOTA: Os idiomas que emitem suas entradas não podem ser usados. Esse seria um idioma extra com absolutamente nenhum byte adicional.
A resposta
Forneça uma resposta que indique claramente quais idiomas você usou e nos mostre o código de cada etapa (ou seja: em cada idioma).
O vencedor
Obviamente, como de costume, a pontuação mais baixa vence.
NOTA: Como sempre, brechas e "truques" padrão não são permitidos.
fonte
Respostas:
33 idiomas, 40 bytes, 1,25 pontos
Aproveita o fato de que muitos idiomas diferentes compartilham a mesma sintaxe de impressão, resultando em código-fonte exponencialmente mais longo, mas altamente compactável.
Permalinks (incompletos, a serem atualizados)
fonte
BATCH
outro gratuitamenteecho
.Foo → gs2 → M → Geléia → Retina → Aeolbonn → Par → Na verdade → Sprects → sed → Universal Lambda → Linhas → /// → m4 : 19/13 ≈ 1.4615 pontos
Todas as respostas são fornecidas na página de códigos Jelly . ¶ representa uma nova linha.
Mecanismo
EDIT: Ops, ocorreu um erro no programa Pyth. Substituí Pyth e GolfScript pelo Par.
EDIT 2: Adicionado GNU m4.
EDIT 3: Adicionado Foo e M.
fonte
gs2 -> Jelly
remove apenas um byte .../
no final, se isso não atrapalhar outros idiomas).Jolf -> Na verdade -> Geléia -> Pitão -> Retina -> /// -> Golfscript: 15/6 = 2,5 pontos
5,4 pontos graças a Martin Ender.
0,1 pontos graças a Cᴏɴᴏʀ O'Bʀɪᴇɴ.
Nota: Actually e Jelly têm sua própria página de códigos, para que possam ser transferidos byte a byte, mas não nas versões Online.
Jolf
Na realidade
Experimente online!
Geléia
Experimente online!
Pyth
Experimente online!
Retina
Experimente online!
///
Experimente online!
Golfscript
Experimente online!
fonte
Python -> Lote -> Javascript -> Java -> PHP -> C ++ -> Foo -> Brainfuck 31. (142857) pontos
Pitão
Lote
Javascript
Java
PHP
C ++
Foo
BrainFuck
fonte
-----------
você não poderia fazer"+"-"*11+"
?JS -> Cobol -> Python -> IBM 360 BAL
261 bytes / 4 idiomas = 65,25 pontos
Estava com o objetivo de usar linguagens difíceis, com mais ofuscação. Javascript converte a string de base64 em Cobol, que produz Python que decodifica o código BAL de hex.
Javascript
Cobol
Pitão
IBM 360 BAL
Resultado
fonte
Rude Goldberg
, nãoRUBE GOLDBERG
.IndentationError
e não executada.MATL -> CJam -> 05AB1E -> Golfscript
21/218/222/3Obrigado por Martin por 3 caracteres!
executado em MATL dá
que em CJam dá
que em 05AB1E dá
que em Golfscript dá
fonte
g'
parag
. Portanto, sua pontuação será 7 em vez de 22/3 .Java-> Terça-> Javascript-> Lote-> Microscript II-> Brainf ***, 236/5 = 47.2
Programa de Thue gerado:
Programa Javascript gerado:
Programa em lote gerado:
Programa Microscript II gerado:
Programa Brainf *** gerado:
fonte
Reng ->> <> -> Vitsy, 32/2 = 16 pontos
Eu queria fazer apenas linguagens 2D - em uma única linha!
Explicação
fonte
push that string backwards
".Perl -> JavaScript (ES6) -> Lote -> sh, 39/3 = 13 pontos
Perl
JavaScript (ES6)
Lote
sh
fonte
<?="print 'alert`@echo echo Rube Goldberg`'";
. Se não estiver errado, serão 11,25 pontos.print 'alert`@echo echo Rube Goldberg`'
funciona em PHP.print
.<?php
parte para agir como um quine, eu acho./// -> PowerShell -> CJam -> Foo -> BASH, 24 bytes / 4 = 6
Quando executado em /// dá
que, quando executado no PowerShell, fornece
que, quando executado no CJam, fornece
que, quando executado em Foo, dá
que, quando executado no BASH, fornece
fonte
Javascript -> PHP -> Foo 14 pontos
Javascript:
PHP:
Foo:
fonte
APL → J → K, 21 bytes / 2 → 10,5
'''"Rube Goldberg"'''
em Dyalog APL dá o
'"Rube Goldberg"'
que em J dá o
"Rube Goldberg"
que em K dá
Rube Goldberg
Se permitirmos idiomas relacionados ainda mais próximos, podemos obter muito mais.
fonte
/// -> 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 ***
Bater
Rubi
Zsh
Obviamente, eu poderia adicionar muitos ecos, mas parece que copiaria a resposta de Dennis.
fonte
Python → Ruby → Bash, pontuação: 35/2 = 17.5
quando executado em Python, fornece
com os
\"
escapou. Em seguida, este Ruby executado fornecee, por último, executar isso no Bash fornece
qual é a sequência esperada.
fonte
C → JS → Shell → > <> : 68/3 = 22.67
C
Javascript
Concha
> <>
Resultado:
como requerido.
fonte
console.log`echo '"Rube Goldberg"ar!;ooooooo|'`
?console.log([`echo '"Rube Goldberg"ar!;ooooooo|'`])
) conforme as especificações.Spreads → /// → itflabtijtslwi → Python 2 → Pyth, 24/4 = 6
Sprects
///
itflabtijtslwi
Python 2
Pyth
Resultado
fonte
Python -> Ruby -> Bash -> JS -> /// -> m4, pontuação: 54/5 = 10,8
Eu tenho o truque /// e m4 da resposta https://codegolf.stackexchange.com/a/83627/53416
fonte
dc -> Fortran -> Basic -> Vim, 59/3 = 19. (6) pontos
Com esta resposta, quis contribuir com a variedade de idiomas já utilizados em outras respostas.
dc:
Fortran:
Básico:
Vim:
Saída final:
fonte