Inspiré par un polyglotte sur la page Stack Overflow 404 :
Objectif
Votre objectif est simple, créer un polyglotte qui affiche le nombre 404 , puis terminer, dans autant de langues que possible.
Restrictions
Voici la torsion, il y a une restriction pour le rendre plus difficile:
Vous devez écrire N programmes et choisir N langues dans un ordre particulier. le i ème programme doit imprimer 404
dans les premières i langues, mais pas dans aucune autre langue après le i ème. Il s'agit d'empêcher des solutions très simples de détruire la concurrence
Notation:
- Le premier critère pour déterminer un gagnant est le nombre de langues dans lesquelles s'exécute le programme principal.
- Le deuxième critère est le nombre d'octets, où les programmes avec plus de langues ont plus d'importance pour ce critère.
- Le troisième et dernier critère est le moment de la soumission
Précisions:
Les codes sources des programmes n'ont besoin d'aucune relation. Ils sont exécutés en tant que programmes distincts. N'importe lequel des programmes peut produire des espaces de fin et / ou de début. LES PROGRAMMES NE DOIVENT PAS ÊTRE DES SOUS-SÉQUENCES DES AUTRES!
Merci à @MartinEnder pour une meilleure explication!
la source
Réponses:
54 langues, 1331 octets
> <> , Gol> <> , Foo , Befunge-93 , Befunge-98 , brainfuck , Brain-Flak , Python 2 , Python 3 , Hexagony , Perl , Ruby , Julia , Cardinal , Brainbash , Turtlèd , Deadfish ~ , Whitespace , Braille , rail , fission , ETA , déclencheur , Brainfuck auto-modifiant , Numberwang , En fait , Emoji , Brainfuck symbolique , TinCan , Alphuck , Shove , Cood , Wise , Width , Whispers , Thue , Surface , Stones , evil , Set , Prelude , Gaot ++ , Cubix , Cubically , PATH , Commercial , Brian & Chuck, Singes , Nhohnhehr , Poutre , AsciiDots , Alumin , Alice , Whirl
Cela devient très long, donc à la suggestion de @ MDXF, je déplace les sous-programmes et les commentaires dans un sens . Le programme ici n'est que le programme final. Merci encore à MDXF d'avoir fourni le pilote de test TIO.
54. Tourbillon
Essayez-le en ligne!
Whirl est décrit comme un Turning Tarpit [sic], qui n'utilise que deux instructions, 1 et 0. 1 fait tourner la roue d'instructions actuelle (soit la roue mathématique soit la roue d'opérations), 0 échange la rotation de la roue et deux 0 exécute l'instruction et commute les roues. Les instructions pertinentes sont sur la première ligne:
000110000011110000100000100000110000011001100000111100001110011000111000110000
Les 01 en tête s'annulent et les 01 en fin provoquent une exception à virgule flottante.
Edit: correction d'un tas de trucs cassés
( Les commandes à faire attention à l'avenir:
UDLR%"[.]o473psjw
)Si des programmes fonctionnent pour les langues futures ou ne fonctionnent pas pour les langues actuelles ou précédentes, veuillez commenter.
la source
...print(0 or 404)
mais ce n'est pas une sous-séquence du programme N de 97 octets.#
. Je regrette vraiment d'avoir inclus ces deux langues haha.53 langues, 2789 octets
Bash, Foo, Implicit, Charcoal, Emoji,> <>, rk, Brain-Flak, C, Set, Cood, Arcyou, TRANSCRIPT, SILOS, Commercial, C ++, Braille, Deadfish ~, Memescript 1.0, ETA, Python 1, Python 3, PARI / GP, Lily, Fission, Decimal, Cubically, Bitwise, TinCan, Whispers, Thue, Emotinomicon, what ??!, Ook !, evil, Lennyfuck, Blablafuck, Stones, TacO, COW, Symbolic Brainfuck, Underload, Rail , Réticulaire, Gaot ++, PATH, axo, Monkeys, Nhohnhehr, xEec, VTFF, K-on Fuck, Churro et Forked. Essayez tout en ligne dans le pilote de test!
Rejoignez-nous dans le salon de discussion pour ce défi!
Ce message est devenu trop volumineux, alors voici un résumé de mes progrès. Programme final actuel:
À bifurcation
Essayez-le en ligne!
Mon nouvel esolang (récemment implémenté)!
la source
34 langues, 387 caractères
Gelée , M , Pyon , Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari / GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish ~, Deadfish, Brainfuck auto-modifiant, Brainfuck symbolique, Numberwang, Cardinal, En fait, Fission, Prélude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk , evil
Cette réponse devient très longue alors voici la réponse complète. Désormais, seul le dernier programme sera conservé ici.
Si quelqu'un trouve que l'un des programmes est interrompu pour une langue ou qu'un programme fonctionne pour une langue, il ne devrait pas, faites le moi savoir.
Essayez-le en ligne!
la source
11 langues, 10 octets
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, Lily
la source
4 langues: CJam, Python, Underload,> <>
Les éléments suivants fonctionnent dans CJam mais pas Python, Underload ou> <>:
404
vers la pile. Le programme se termine et404
est sorti.404
. L'expression est évaluée et le programme se termine.4
et0
sont des commandes invalides, donc l'interpréteur TIO les ignore simplement et le programme se termine.404
pousse4
,0
et4
à la pile. L'IP revient au début et le programme se répète à l'infini.Les éléments suivants fonctionnent dans CJam ou Underload (bien que cela provoque des erreurs) mais pas Python ou> <>:
N
pousse une chaîne (tableau de caractères) contenant une nouvelle ligne dans la pile.(
fait sortir le caractère unique (une nouvelle ligne) de la chaîne.404
pousse404
vers la pile, puis l')
incrémente pour donner405
.S;
pousse un espace puis le supprime immédiatement.(
décrémente à nouveau pour obtenir404
, puis\
échange la nouvelle ligne et le404
.404\n
est sortie (le tableau vide est affiché comme rien).N
est ignoré.(404)
pousse la chaîne404
dans la pile.S
le produit.;
est ignoré.(
oblige l'interpréteur à chercher une fermeture)
, mais comme aucun n'est trouvé, le programme segfaults.N(404)
est suivie d'un identifiantS
, qui est mal formé), donc les erreurs de programme.N
est une instruction non valide, donc les erreurs de programme.Les éléments suivants fonctionnent dans CJam (bien qu'il comporte des erreurs), Underload ou Python, mais pas> <>:
[]
pousse le tableau vide vers la pile etL
pousse le tableau vide vers la pile.e=
compte le nombre d'occurrences de[]
in[]
, donnant0
.404
pousse404
vers la pile.+
additionne les deux nombres, donnant404
.L
repousse le tableau vide dans la pile ete#
crée un commentaire qui dure jusqu'à la fin de la ligne.(
essaie de faire sortir un élément d'un tableau, mais comme l'élément de pile supérieur est le tableau vide[]
, les erreurs de programme.404
est toujours sortie.[]
est une instruction consistant en une instruction no-op.Le=404
définit une variableLe
à égal à404
.+Le
prend le plus unaire de la variableLe
(une opération plutôt inutile) et le résultat est rejeté.#(404)S
est un commentaire de ligne.(print(404))
imprime 404.(404)S
, qui pousse404
vers la pile et la sort.(print(404))
pousseprint(404)
à la pile, mais rien n'est fait avec elle et le programme se termine.[
essaie d'extraire un nombre de la pile supérieure de la méta-pile, puis de faire sortir autant d'éléments de cette pile et d'en faire une nouvelle pile qui est ensuite poussée vers la méta-pile. Il n'y a pas de numéro sur la pile, donc les erreurs de programme.Les éléments suivants fonctionnent dans CJam (bien qu'il comporte des erreurs), Python, Underload et> <>:
[]
, nous avons maintenant un littéral de chaîne, mais le contenu est toujours sans importance.[]
, la première expression inutilisée est maintenant un littéral de chaîne, mais le contenu est toujours sans importance."
mode chaîne commence et l'IP s'enroule autour de la première ligne en poussant chaque code de caractère qu'il voit dans la pile (ce n'est pas important). L'IP se retourne et frappe à"
nouveau, ce qui quitte le mode chaîne.404
pousse les chiffres404
dans la pile, puisnnn
sort chacun d'eux (techniquement, cela se produit dans l'ordre inverse, mais comme 404 est un palindrome, cela n'a pas d'importance).;
termine le programme.la source
6 langues Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript, Alphuck
Plus à venir!
Brain-Hack
Imprime 404 dans Brain-Hack
Brain-Hack, Brain-Flak
Brain-Hack, Brain-Flak, Brain-Fuck
Utilise les commentaires dans Brain-Flak pour l'imprimer
Brain-Hack, Brain-Flak, Brain-Fuck, Foo
Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript
Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript, Alphuck
la source
4
...5 langues (87 octets)
Pyon
Essayez-le en ligne!
Python 2
Essayez-le en ligne!
Brain-Flak (BrainHack)
Essayez-le en ligne!
enculé
Pris à partir de la réponse Jo King parce que je n'ai pas pu trouver un code de brainfuck qui avait les parenthèses équilibrées (restriction Brain-flak).
Essayez-le en ligne!
05AB1E
Notez que cela fonctionne également avec Ohm.
Essayez-le en ligne!
Merci à Jo King pour -6 octets.
la source
x%x
et[-]
ne sont pas nécessaires2 langues, 24 octets, Python et Batch
Programme 1: Python 3
Programme 2: Python 3 et Batch
Après le hachage commente le reste du code en python et le | est une instruction en bash pour faire cela si l'autre commande échoue.
la source
2 langages, 53 octets: C et Python
Commençons par quelque chose de simple.
Programme 1: C
Programme 2: C et Python
Liens TIO:
Ce n'est qu'un exemple, et sera probablement battu plusieurs fois.
la source
4 langues, 91 octets
C ++
C ++, C
Supprime la macro C ++
C ++, C, Befunge
Ajoute une macro qui sera ignorée en C ++, mais lue comme du code dans Befunge.
C ++, C, Befunge, Python
Annonce un morceau de code qui fait que la ligne suivante est un commentaire en C, mais pas en Python (
//<backslash>
)la source