Inspirado por uma poliglota na página Stack Overflow 404 :
Objetivo
Seu objetivo é simples: criar um poliglota que emita o número 404 e depois terminar, no maior número possível de idiomas.
Restrições
Aqui está a reviravolta, há uma restrição para dificultar:
Você precisa escrever N programas e escolher N idiomas em uma ordem específica. o i- ésimo programa precisa ser impresso 404
nos primeiros i idiomas, mas não em nenhum idioma após o i - i . Isso evita que soluções muito simples destruam a concorrência
Pontuação:
- O primeiro critério para determinar um vencedor é o número de idiomas em que o programa principal é executado.
- O segundo critério é a contagem de bytes, onde os programas com mais idiomas têm mais importância para esse critério.
- O terceiro e último critério é o momento da submissão
Esclarecimentos:
Os códigos-fonte dos programas não precisam ter nenhuma relação. Eles são executados como programas separados. Qualquer um dos programas pode gerar espaços em branco à esquerda e à esquerda. OS PROGRAMAS NÃO DEVEM SER SUBSEQUÊNCIAS DE CADA OUTRO!
Obrigado a @MartinEnder para uma explicação melhor!
fonte
Respostas:
54 idiomas, 1331 bytes
> <> , Gol> <> , Foo , Befunge-93 , Befunge-98 , brainfuck , Brain-Flak , Python 2 , Python 3 , Hexagony , Perl , Ruby , Julia , Cardeal , Brainbash , Turtlèd , Deadfish ~ , Espaço em branco , Braille , trilho , fissão , ETA , gatilho , Brainfuck auto-modificável , Numberwang , Na verdade , Emoji , Brainfuck simbólico , TinCan , Alphuck , Shove , Cood , Wise , Width , Whispers , Thue , Surface , Stones , evil , Set , Prelude , Gaot ++ , Cubix , Cubically , PATH , Commercial , Brian & Chuck, Macacos , Nhohnhehr , Feixe , AsciiDots , Alumin , Alice , Giro
Isso está ficando muito longo, então, por sugestão do @ MDXF, estou movendo os subprogramas e comentários para uma essência . O programa aqui é apenas o programa final. Agradecemos novamente ao MDXF por fornecer o driver de teste TIO.
54. Giro
Experimente online!
Whirl é descrito como um Turning Tarpit [sic], que usa apenas duas instruções, 1 e 0. 1 gira a roda de instruções atual (a roda matemática ou a roda de operações), 0 troca a rotação da roda e dois 0s executa a instrução e troca as rodas. As instruções relevantes estão na primeira linha:
000110000011110000100000100000110000011001100000111100001110011000111000110000
Os 01s iniciais se cancelam e os 01s finais causam uma exceção de ponto flutuante.
Edit: corrigido um monte de coisas quebradas
(Comandos para ter cuidado no futuro
UDLR%"[.]o473psjw
:)Se algum programa funcionar para idiomas futuros ou não para idiomas atuais ou anteriores, comente.
fonte
...print(0 or 404)
mas não é uma subsequência do programa N de 97 bytes.#
. Eu realmente me arrependo de incluir essas duas línguas haha.53 idiomas, 2789 bytes
Bash, Foo, Implícito, Carvão Vegetal, Emoji,> <>, rk, Brain-Flak, C, Conjunto, Cood, Arcyou, TRANSCRIPT, SILOS, Comercial, C ++, Braille, Deadfish ~, Memescript 1.0, ETA, Python 1, Python 3, PARI / GP, Lily, Fissão, Decimal, Cubicamente, Bitwise, TinCan, Whispers, Thue, Emotinomicon, what ??!, Ook !, evil, Lennyfuck, Blablafuck, Stones, TacO, COW, Brainfuck simbólico, Underload, Rail , Reticular, Gaot ++, PATH, axo, Macacos, Nhohnhehr, xEec, VTFF, Foda K-on, Churro e Forked. Experimente tudo online no driver de teste!
Junte-se a nós na sala de bate - papo para este desafio!
Este post ficou muito grande, então aqui está uma essência contendo meu progresso. Programa final atual:
Bifurcado
Experimente online!
Meu novo (implementado) esolang!
fonte
34 idiomas, 387 caracteres
Jelly , M , Pyon , Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari / GP, brainfuck, Emoji, Emotin🌗micon, Carvão vegetal, Braingolf, Espaço em branco, Deadfish ~, Deadfish, Brainfuck auto-modificável, Brainfuck simbólico, Numberwang, Cardeal, Na verdade, Fissão, Prelúdio, Flacidez cerebral (BrainHack), Alphuck, Peixe morto x, TacO, Braille, rk , mal
Esta resposta está ficando muito longa, então aqui está a resposta completa. A partir de agora, apenas o último programa será mantido aqui.
Se alguém achar que um dos programas está quebrado para um idioma ou que um programa funciona para um idioma que não deveria, informe-me.
Experimente online!
fonte
11 idiomas, 10 bytes
Pyon
Pyon, Python 2
Pyon, Python 2, Python 1
Pyon, Python 2, Python 1, Python 3
Pyon, Python 2, Python 1, Python 3, Lua
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia, Lírio
fonte
4 idiomas: CJam, Python, Underload,> <>
O seguinte funciona em CJam, mas não em Python, Underload ou> <>:
404
para a pilha. O programa termina e404
é emitido.404
. A expressão é avaliada e o programa termina.4
e0
são comandos inválidos, o intérprete TIO simplesmente os ignora e o programa termina.404
empurrões4
,0
e4
para a pilha. O IP envolve o início e o programa se repete infinitamente.O seguinte funciona em CJam ou Underload (embora erros), mas não em Python ou> <>:
N
envia uma string (matriz de caracteres) contendo uma nova linha para a pilha.(
exibe o caractere único (uma nova linha) da string.404
empurra404
para a pilha e a)
incrementa para dar405
.S;
empurra um espaço e exclui-o imediatamente.(
decrementa novamente para obter404
e\
troca a nova linha e o404
.404\n
é emitido (a matriz vazia é exibida como nada).N
é ignorado.(404)
empurra a corda404
para a pilha.S
gera isso.;
é ignorado.(
faz com que o intérprete tente procurar um fechamento)
, mas, como nenhum é encontrado, o programa é segmentado.N(404)
é seguida por um identificadorS
, que está malformado), portanto, o erro do programa.N
é uma instrução inválida, portanto, o programa erros.O seguinte funciona em CJam (embora com erros), Underload ou Python, mas não> <>:
[]
empurra a matriz vazia para a pilha eL
empurra a matriz vazia para a pilha.e=
conta o número de ocorrências de[]
in[]
, giving0
.404
empurra404
para a pilha.+
adiciona os dois números juntos, dando404
.L
envia a matriz vazia para a pilha novamente ee#
cria um comentário que dura até o final da linha.(
tenta remover um elemento de uma matriz, mas como o elemento superior da pilha é a matriz vazia[]
, os erros do programa.404
ainda é emitido.[]
é uma declaração que consiste em uma instrução no-op.Le=404
define uma variávelLe
para ser igual a404
.+Le
pega o mais unário da variávelLe
(uma operação bastante inútil) e o resultado é descartado.#(404)S
é um comentário de linha.(print(404))
imprime 404.(404)S
, que empurra404
para a pilha e a produz.(print(404))
empurraprint(404)
para a pilha, mas nada é feito com ela e o programa termina.[
tenta exibir um número da pilha superior na pilha de metastacks e, em seguida, retira muitos elementos dessa pilha e os transforma em uma nova pilha, que é enviada para a metastack. Como não há número na pilha, os erros do programa.O seguinte funciona em CJam (embora com erros), Python, Underload e> <>:
[]
, agora temos uma string literal, mas o conteúdo ainda não é importante.[]
, a primeira expressão não usada agora é uma string literal, mas o conteúdo ainda não é importante."
inicia o modo de sequência e o IP envolve a primeira linha, empurrando todos os códigos de caracteres que vê para a pilha (isso não é importante). O IP envolve e acerta"
novamente, o que sai do modo de seqüência de caracteres.404
envia os dígitos404
para a pilha ennn
gera cada um deles (tecnicamente, isso acontece na ordem inversa, mas como 404 é um palíndromo, isso não importa).;
finaliza o programa.fonte
Hack de cérebro em 6 idiomas, Flak cerebral, Foda cerebral, Foo, Javascript, Alphuck
Mais por vir!
Brain-Hack
Impressões 404 em Brain-Hack
Corte cerebral, ataque cerebral
Corte cerebral, ataque cerebral, foda cerebral
Usa comentários no Brain-Flak para imprimi-lo
Corte Cerebral, Invasão Cerebral, Foda Cerebral, Foo
Hack de Cérebro, Teste de Cérebro, Foda de Cérebro, Foo, Javascript
Corte Cerebral, Invasão Cerebral, Foda Cerebral, Foo, Javascript, Alphuck
fonte
4
...5 idiomas (87 bytes)
Pyon
Experimente online!
Python 2
Experimente online!
Flacidez Cerebral (BrainHack)
Experimente online!
cérebro
Retirado da resposta de Jo King, porque eu não era capaz de criar um código que tivesse os colchetes equilibrados (restrição de quebra de cérebro).
Experimente online!
05AB1E
Observe que isso também funciona com Ohm.
Experimente online!
Agradecimentos a Jo King por -6 bytes.
fonte
x%x
e[-]
não são necessárias2 idiomas, 24 bytes, Python e lote
Programa 1: Python 3
Programa 2: Python 3 e Lote
Após o hash comentar o restante do código em python, e o | é uma instrução no bash para fazer isso se o outro comando falhar.
fonte
2 idiomas, 53 bytes: C e Python
Vamos começar com algo simples.
Programa 1: C
Programa 2: C e Python
Links TIO:
Este é apenas um exemplo e provavelmente será derrotado muitas vezes.
fonte
4 idiomas, 91 bytes
C ++
C ++, C
Remove a macro C ++
C ++, C, Befunge
Adiciona uma macro que será ignorada em C ++, mas lida como código no Befunge.
C ++, C, Melhor, Python
Anúncios um pedaço de código que faz com que a próxima linha seja um comentário em C, mas não em Python (
//<backslash>
)fonte