Eu sei que isso é um pouco tarde (e um pouco meticuloso), mas ...
> <> (Peixe), 47 45 47 Bytes (realmente 43 45, se eu não estivesse usando a direção aleatória)
x"!tenalP ,sgniteerG"!|o|!"Greetings, Planet!"x
Essas respostas são um pouco diferentes entre si; existe a possibilidade de qualquer direção do código ser executada.
Então, ao "imprimir no console", presumi que você quisesse imprimir no stdout. Isso gera um erro; o erro é lançado para stderr APÓS a sequência ser impressa em stdout.
Para provar que isso funcionava nos dois sentidos, usei o diretor de "direção aleatória", "x". O peixe é uma linguagem bidimensional, portanto, não importa para que lado o diretor aponte, o código ainda será (eventualmente) executado.
Supondo que o primeiro diretor aponte para a direita, os caracteres são carregados na "pilha" na ordem inversa e, em seguida, o reverso do reverso (ou o texto normal) é impresso.
Supondo que ambos os diretores apontem para a esquerda, os caracteres sejam, mais uma vez, carregados na "pilha" na ordem inversa (porque o código o carrega para trás aqui, a direção é para a esquerda) e depois o inverso (ou o texto normal) é impresso.
Se o diretor randomizado apontar para cima ou para baixo, isso não importa - o peixe sabe passar para a parte de baixo ou de fora do código, apontando de volta para o randomizador. Dessa forma, ele continuará fazendo loop com os randomizadores até que aponte para dentro, em direção ao código a ser executado.
O !|o|!bit faz o seguinte, de ambos os lados:
!pula a próxima instrução (sempre pula |)
|é um refletor; aponta de volta para dentro o.
o gera o item atual da pilha para o console como um caractere e o remove da pilha.
Então, essencialmente, este é o truque "dois espelhos em um banheiro pressionados juntos", onde eu produzo até que não consiga mais.
Agora usando um emoji de gato. >o<redireciona a saída para dentro infinitamente, ainda gerando o erro, mas posso fugir sem usar um pular para reflexão.
Acontece que eu estava certo na primeira vez - a segunda tentativa não foi palindrômica , mas foi reflexiva .
Peixe (sem imprimir para stderr), 64 bytes (ew)
x"!tenalP ,sgniteerG"!;oooooooooooooooooo;!"Greetings, Planet!"x
Esse cara é um pouco mais longo.
Possui a mesma função de seta aleatória (para provar que funciona nos dois sentidos) e não imprime no stderr.
A diferença aqui é óbvia; Eu literalmente imprimo todos os itens da pilha e finalizo a execução com ;.
O !;não termina a execução imediatamente, pois !ignora o próximo item (exec final, neste caso) e continua até atingir o outro lado, que atua como ;!, no qual termina a execução antes de ignorar qualquer coisa.
Segue o mesmo padrão de direção aleatória da resposta mais curta.