Félicitations à Dennis qui a remporté le défi des flics et des voleurs! Calvin's Hobbies a déjà tenu sa promesse et a écrit ce défi à Dennis pour avoir remporté le défi des voleurs.
Avis: Ce défi est fermé pour d'autres réponses de flic à partir du 2015-09-01 02:00:00 UTC. Toute nouvelle réponse publiée ne sera pas éligible pour gagner et ne comptera pas dans le score des voleurs si elle est fissurée. Cependant, vous pouvez toujours poster de nouvelles réponses pour le plus grand plaisir des autres utilisateurs, de sorte qu'il reste encore quelques énigmes à proposer aux futurs visiteurs. Ces nouvelles réponses sont incluses dans la section "Vulnerable Cops" du classement et leur statut non concurrentiel est indiqué séparément.
Bienvenue dans l'édition Cops-and-Robbers du Quiz Hello World ! (Si vous n'avez jamais joué au quiz, n'hésitez pas à l'essayer pendant une minute ou 30 secondes. Vous n'avez cependant pas besoin de le jouer pour ce défi.)
Le défi des flics
- Choisissez un langage de programmation. Les langues valides doivent comporter un article Wikipedia anglais , un article esolangs ou un article Code Rosetta au moment de la publication du défi (notez que les listes chaînées ne sont pas nécessairement complètes car elles sont préparées manuellement). Ils doivent également satisfaire à nos normes habituelles pour les langages de programmation , de sorte que des choses comme HQ9 + sont disponibles. Enfin, un interprète ou un compilateur gratuit (comme dans la bière) doit être disponible pour la langue (au moment de la publication du défi).
Ecrivez un programme Hello World. En d’autres termes, écrivez un programme complet dans la langue choisie qui imprime
Hello, World!
(exactement comme cela, c’est-à-dire ce flux d’octets exact) et éventuellement un retour à la ligne simple derrière STDOUT ou l’alternative la plus proche.Vous ne devez pas supposer un environnement REPL, un code standard existant ou des indicateurs de compilateur / interpréteur non standard. Le programme doit se présenter sous la forme d’un ou de plusieurs fichiers source (afin d’exclure des langues bizarres telles que les dossiers ) et doit s’intégrer à votre réponse dans son intégralité (il ne doit donc pas comporter plus de 30 000 caractères). toute soumission sérieuse.
Si votre code contient des octets situés en dehors de la plage ASCII imprimable, veuillez inclure un pâlage bin ou hexagonal pour vous assurer que votre code est réellement testable.
Le programme doit se terminer dans la minute qui suit sur un ordinateur de bureau classique.
C'est ça. Le problème, c'est que vous voulez masquer votre code de manière à ne pas distinguer la langue que vous avez choisie. Notez également que vous ne voulez pas que votre code soit accidentellement un programme Hello World valide dans une autre langue, bien que cela soit peu probable pour des programmes suffisamment obscurs.
Vous ne devez en aucun cas modifier le code source de votre soumission une fois publiée (car cela pourrait invalider les tentatives actives d'un voleur de déchiffrer votre réponse). Assurez-vous donc de jouer au golf aussi bien que vous le pouvez (ou osez) avant de poster. Si vous réalisez que votre réponse ne fonctionne pas après l'avoir publiée, supprimez-la simplement et publiez une version corrigée si vous le souhaitez.
Si personne ne trouve une langue de votre code est valable 7 jours, vous pouvez révéler la langue choisie (idéalement avec une explication pour votre code obscurcie), qui fera votre réponse en toute sécurité . Notez que votre soumission peut encore être fissurée jusqu'à ce que vous révéliez la langue.
La soumission sécurisée la plus courte (en octets) l'emporte.
Mise en page
(N'hésitez pas à sauter cette section et à lire le défi des Robbers si vous ne prévoyez pas de participer en tant que policier pour le moment.)
Au bas de cet article, vous trouverez un extrait de pile qui génère des classements ainsi qu'une liste de soumissions pouvant encore être déchirées. Pour que l'extrait de code fonctionne, il est important d'inclure un en-tête dans votre réponse:
Les nouvelles réponses devraient inclure un en-tête comme
# ???, [N] bytes
où
[N]
est la taille de votre code en octets et???
devrait apparaître littéralement.Si la réponse n'est pas déchirée pendant 7 jours et que vous souhaitez sécuriser votre réponse en révélant la langue, remplacez simplement le
???
, par exemple# Ruby, [N] bytes
N'hésitez pas à faire en sorte que le nom de la langue renvoie à un site Web pertinent, comme une page esolangs ou un référentiel GitHub. Le lien sera ensuite affiché dans le classement.
Si un autre utilisateur a réussi à déchiffrer votre soumission (voir ci-dessous), veuillez également ajouter la langue, ainsi qu'un avis du type
# Ruby, [N] bytes, cracked by [user]
où
[user]
est le nom de l'utilisateur qui a soumis la première fissure valide. Si le langage utilisé dans la fissure diffère de celui que vous vouliez, je recommanderais d'utiliser la conjecture des voleurs et de mentionner dans la réponse que vous vouliez que ce soit autre chose. N'hésitez pas à faire du nom d'utilisateur un lien vers sa page de profil.
Le défi des voleurs
- Trouvez une réponse vulnérable. C'est une réponse qui n'a pas encore été fissurée et qui n'est pas encore sûre .
Crack it en découvrant son langage. Autrement dit, recherchez toute langue dans laquelle le programme donné est un programme Hello World valide (sous réserve des règles décrites dans le Défi des flics ci-dessus). Peu importe si c'est le langage que le flic avait prévu.
Si vous avez trouvé une telle langue, laissez un commentaire avec le nom de la langue. Si possible, vous devez inclure un lien vers un interprète en ligne, indiquant que le code fonctionne réellement dans cette langue, selon les besoins.
Chaque utilisateur n'a qu'une réponse par réponse. Vous ne devez pas craquer votre propre réponse (évidemment ...).
L'utilisateur qui a obtenu le plus grand nombre de réponses remporte le défi des voleurs. Les égalités sont brisées par la somme des octets des réponses fissurées (plus c'est mieux).
Étant donné que le défi des voleurs est exclusivement réservé aux commentaires, il n'y aura aucune incitation à la réputation pour les voleurs. Cependant, le Grand Maître de la rédaction de défis, Calvin's Hobbies , a gentiment proposé d'écrire un défi sur l'utilisateur qui remporte le défi des voleurs!
Tableau de bord de défi
L'extrait de pile ci-dessous génère des classements pour les policiers et les voleurs et répertorie également toutes les réponses qui peuvent encore être déchiffrées. Faites-moi savoir si quelque chose semble ne pas fonctionner correctement, et je vais essayer de le réparer dès que possible. Si vous pouvez penser à des fonctionnalités supplémentaires qui rendraient le tableau de bord plus utile, laissez également un commentaire.
la source
Réponses:
Réveil , 17 octets
Selon le site officiel ,
Wake a été créé par shinh et peut être testé sur son serveur de golf Anarchy Golf .
Le code consiste en une seule ligne contenant une cible / étiquette et une action. Comme l'action est un littéral de chaîne, elle est imprimée dans STDOUT.
Utiliser
"
pour la cible a deux objectifs:Il offre une protection polyglotte.
Clip et Foo imprimer
:
; GolfScript et CJam provoquent une erreur de syntaxe en raison d'une chaîne inachevée.Cela crée une petite incertitude sur la manière dont le code est censé fonctionner.
la source
":
fait un préfixe de ligne valide et qui traite un littéral de chaîne par lui-même dans la ligne réelle en tant que commande de sortie. Ou 2: Il s’agit d’une substitution de chaîne et est<foo>:<bar>
supprimée<foo>
de<bar>
. Ectoforte, extrait de la page wiki Fortes d'esolangs, satisfait en quelque sorte à 1, mais l'interprète lié rompt avec une double citation dans le libellé et je ne sais pas si cela compte vraiment comme langue.TinyBF , 708 octets, fissuré par kirbyfan64sos
C'était amusant fou. Tout le monde sait que je ne peux écrire qu'une seule langue;)
Explication
Tout d’abord, cela a pris de nombreuses heures, alors je suis extrêmement ravi de toutes les réactions positives et de toutes les tentatives faites pour la résoudre!
Comme indiqué dans les commentaires, une fois compilé en C, le code est imprimé
Gotcha!
suivi d'une nouvelle ligne, mais il est imprimé lorsque TinyBF le souhaitéHello, World!
. TinyBF est un simple dérivé de Brainf ** k qui remplace ses 8 commandes avec seulement 4:+ > | =
. Puisque tous les autres personnages sont ignorés, je pourrais écrire un programme C avec de nombreux opérateurs inutiles pour tenter d’orienter les gens dans la mauvaise direction (qui, à ma grande surprise, a assez bien fonctionné). Voici le code TinyBF pur:Voici le même programme, écrit en BF ordinaire:
Vous pouvez utiliser cet interpréteur pour convertir de BF en TinyBF et exécuter le code.
la source
main()
. Pourrait-il être C? http://codepad.org/pj9mQgyQ (Comme note: sortieGotcha!
)I,c,o,d,e,C;i;main()
serait ignoré (à part le;
mais cela ne semble pas important), et le nombre élevé de ceux-!
ci utilisés pour la sortie de caractères ASCII pourrait indiquer que c'est le cas. Je n'arrive pas à télécharger l'interprète de Fission et à vérifier pour le moment.evil , 658 bytes, fissuré par Sp3000
le mal est un vieil esolang un peu comme BF. Les commandes sont toutes en minuscules et les autres caractères sont simplement ignorés.
Tout d'abord, j'ai généré un programme court hello world en utilisant Python:
Puis, encore une fois en utilisant Python, je l'ai transformé en une chaîne base64:
Cela décode en lettres minuscules:
J'ai ajouté quelques éléments à la chaîne base64, puis je l'ai écrit en tant que programme Python ci-dessus.
Le shebang est réellement important dans le programme. Le
s
avantb
danssbin
sautera lab
commande. Ensuite,f
infortran
passera aum
caractère suivant , qui se trouve dans la chaîne base64.la source
aeeeaeee...
sont mélangés avec des caractères aléatoires de sorte que la chaîne résultante soit une chaîne base64 valide. J'ai choisi des caractères aléatoires tels que la chaîne résultante décodera en base64 en minuscules, mais la chaîne décodée est en réalité non pertinente - c'est simplement une distraction. La seule chose qui compte, c’est que le mal exécute la chaîne base64, mais ignore les lettres majuscules et quelques lettres minuscules car elles ne sont pas des commandes, ce qui laisse le programme hello world.Lua,
29202865 octets, fissuré par jimmy23013Je n'ai appris cette langue qu'hier, alors pardonnez les erreurs de syntaxe.
Avertissement: Il affiche "Bonjour le monde!" puis quitte avec une erreur
Explication:
En Lua, - [[signifie commentaire multiligne, - signifie un commentaire ligne et [[est une chaîne multiligne.
Si vous faites défiler la première ligne jusqu'au bord, vous verrez un p = [[. Cela définit une chaîne de plusieurs lignes allant de "Romeo, un jeune homme" à "Laissez-les]]", sur lesquelles la plupart des gens jettent un coup d'œil mais met fin à la chaîne multiligne. Ensuite, nous avons print, qui est la fonction print, puis "-" transforme le reste de la ligne en commentaire. Nous devons ménager un espace entre l’imprimé et Hello World pour ne pas le lâcher. Nous avons donc un commentaire multiligne: "- [[Romeo sanglotait, dégouté de sa vie) - Tu es aussi piquant que la puanteur d'une chèvre. Parle dans ton esprit! [[Exeunt Romeo]] "Le]] à la fin met fin au commentaire multiligne, et sur la ligne après" Hello, World! " et ensuite le reste de la ligne est commenté par un -.
la source
Hello, world!
, pasHello, World!
.TRANSCRIPTION , 39 octets
En voici une belle et simple.
Premier flic sûr! Je suis surpris que celui-ci dure jusqu'à la fin - j'ai essayé de choisir une langue difficile à lire directement, mais plus facile à comprendre si vous pouviez deviner le thème.
TRANSCRIPT est un esolang basé sur des jeux de fiction interactifs. Il a des NPC (chaînes) et des objets (entiers). Ici
End
le nom d'un PNJ.La première ligne déclare le PNJ avec la syntaxe
<name> is here.
. La deuxième ligne attribue ensuite la chaîne à NPC"Hello, World!"
et la troisième ligne l'imprime à l'aide de laX / EXAMINE
commande. Il n'y a pas beaucoup de place pour l'obscurcissement ici, donc je n'ai fait que choisir quelque chose qui n'est généralement pas un nom pour le PNJ.Pour prouver que TRANSCRIPT est un langage valide pour ce défi, voici un programme qui vérifie si un nombre naturel en entrée est premier ou non:
En passant, je suis en fait nerveux depuis la conjecture de @ aditsu, qui était très proche. Inform 7 est un langage pour créer de jeux de fiction interactifs, dont je ne savais même pas qu'il existait.
En hommage à la tentative d'aditsu, j'ai essayé Inform 7:
Et voici un exemple de parcours:
la source
Headsecks , 637 bytes, fissuré par Dennis
Headsecks est un codage en BF via des points de code modulo 8. Le programme ci-dessus, une fois converti, donne
Il y a beaucoup de paires inutiles comme
+-
ou<>
à l'intérieur, et dépouillant ceux-ci donneVous remarquerez peut-être que quelques boucles ont
,
(entrée) dedans - ces boucles ne sont jamais exécutées, et servent simplement à ajouter dese
s à un programme qui, autrement, aurait de manière suspecte eu seulementa
s eti
s ses seules voyelles.La syntaxe, les backticks, les étrangers
)
, etc. étaient tous des reproches rouges.la source
herrings are red
??? , 344 octets, fissuré par jimmy23013
Voici un hexdump du fichier:
J'ai commencé avec un programme Piet qui imprime
Hello, world!
. L'image elle-même en contenait quelques-unes valables ??? instructions (,,,!;
), mais pas assez pour causer des problèmes.Le suivant ??? programme produit la sortie désirée et se termine par les instructions contenues dans l’image:
Pour le masquer à l'intérieur de l'image, j'ai augmenté le nombre de couleurs de la palette globale de 32 à 64 (c'est ce que l'octet 0x85 de la première ligne indique) et j'ai remplacé les 110 premiers octets des couleurs inutilisées de la palette par les 110 premiers. octets de ??? programme.
Le résultat est le tout premier Piet / ??? polyglotte.
la source
w
et sachant que Dennis ne serait probablement pas si facile: P??? , 1052 octets, fissuré par Alex A.
la source
Treehugger , 284 octets, fissuré par Sp3000
Ce programme fonctionnera dans au moins 4 langues. Cependant, un seul d'entre eux produit le résultat correct ...
Explication:
Après avoir éliminé tous les personnages ignorés, vous obtenez ceci:
Enlever certaines combinaisons de caractères non-opératoires donne ceci:
Ce qui est essentiellement une traduction du Brainf *** "Hello World!" mais avec du code supplémentaire (
<++++++++++++++++++++++++++++++++++++++++++++.^
) à ajouter dans la virgule.la source
HelloHelloHello
in Thue^
était significative et, pour une raison quelconque, elle n'est pas classée comme un dérivé de BF.Starry , 3039 octets, fissuré par Sp3000
Voici quelque chose pour vous aider à démarrer.
Tout d’abord, Starry ignore tout sauf les espaces et
+*.,`'
. Alors débarrassons-nous de tout ce bazar:Désormais, chaque chaîne d'espaces suivie d'un non-espace constitue une commande. La sémantique de la commande est déterminée par le nombre d'espaces et le non-espace utilisé. Pour commencer, les backticks ne créent que des labels auxquels on ne saute jamais, on peut donc s'en débarrasser:
À ce stade, il s’agit presque exactement de l’exemple Hello World de la page esolangs , sauf que je devais le modifier pour obtenir une majuscule
W
.Donc pour l’obscurcir, j’ai tout d’abord ajouté les backticks, car ils ne posaient aucun problème (je n’arrivais pas à ajouter
,
ni'
parce qu’ils sont respectivement entrés et sautés). Et puis j'ai simplement ajouté des caractères aléatoires autres que ceux réservés, de sorte que la fréquence de tous les caractères non-espace est à peu près la même.la source
Brainfuck , 2545 octets, fissuré par Sp3000
Juste pour le fun.
la source
Fission , 67 octets, fissurée par BrainSteel
En voici un autre, qui devrait être un peu plus simple.
la source
R
en méthodewrite
est-elle bien intentionnée?Q , 64 octets, fissuré par Mauris
Explication:
KDB + a son propre format de protocole / sérialisation de message , qui peut être appliqué aux chaînes en tant que telles:
Cela nous donne la longue chaîne hexadécimale ci-dessus. La conversion, si vous ne l’avez pas devinée, est la suivante
-9!
:Pour l’imprimer aussi
Hello, World!
exactement, j’ai besoin-1
de le faire. De manière quelque peu agaçante, le numéro lui-même sera également imprimé, le;
caractère de fin est utilisé pour le supprimer.( c'était une bonne course pour un peu plus de 2 jours! )
la source
Logo , 14292 octets, fissuré par Gareth McCaughan
Explication:
make
assigne une valeur à une variable. Dans ce cas, ilmake 'clean
s’agit simplement d’obscurcissement, d’affecter une liste entre crochets à une variableclean
et de ne rien faire avec.type char count
est utilisé pour imprimer un caractère en fonction du nombre d'éléments dans la liste entre crochets qui la suit.type
affiche une valeur,char
retourne un caractère basé sur une valeur ASCII etcount
renvoie le nombre d’éléments dans une liste. Donc par exempletype char count [ a b c d e f g h i j ]
, un caractère de nouvelle ligne sera imprimé (valeur ASCII 10).Essayez-le en ligne ici (couper et coller de la source requise)
la source
Hello, world!
. +1~ Anglais révisé , 36 octets
Cette réponse contient une protection contre SPSS, Foo et Tiny. soupire
Quatre tentatives et une autre réponse dans la même langue , mais ma soumission est finalement sûre!
Explication
~ L'anglais est conçu pour ressembler à du texte brut, ce qui explique probablement pourquoi la deuxième version ajoute non pas 2 mais est révisée au nom de la langue.
Heureusement, il existe des alias des fonctions
Display
etStop
qui font que l' anglais ne ressemble pas à l'anglais.Parmi ces alias, j’ai choisi
Echo
etEnd
qui, avec le motand
- clé , fait ressembler le code source à un langage de script détaillé plutôt qu’à un esolang.La phrase
salue le monde et
arrête l'exécution, donc le Foo protection qui suit est simplement ignorée par l'interpréteur.
Vous pouvez télécharger l'interprète officiel depuis GitHub (sur la page Esolang).
la source
Karma , 67 octets
La première ligne place tous les caractères dans la pile, en utilisant la file d'attente pour enregistrer des octets. La deuxième ligne apparaît et est imprimée jusqu'à 0, qui est le premier caractère de la ligne 1.
la source
gs2, 3 octets, fissuré par feersum
Dans
gs2
:e
ou\x65
estproduct
sur des listes (telles que la liste vide de caractères représentant STDIN), de sorte qu'il pousse un int1
.|
ou\x7c
estpower-of-2
, ce qui le change en 2 1 = 2.h
ou\x68
esthello
, ce qui est une commande ridicule . L’histoire se déroule comme suit: lors de la conceptiongs2
, j’ai décidé de vaincre tous les codes de golf sur le serveur de shinh, mais j’aigoruby
une commande de Pâquesh
qui imprimeHello, world!
(notez la lettre minuscule w), ce qui lui permet de revendiquer la première place dans le monde des hello. les classements du challenge . Je voulais un goruby one-up, alors j'ai ajouté ma propre commande easter eggh
qui pousseHello, world!
dans la pile, mais vous permet de personnaliser la capitalisation et la ponctuation en poussant un entier avant celle-ci:Comme vous pouvez le voir en regardant la
s2 =
ligne, s'il y a un certain nombre2
en haut de la pile, il va se faire remplacer par la variation en majuscules-W:Hello, World!
.la source
U+2062 INVISIBLE TIMES
caractères, qui sont invisibles, mais pas des espaces, de sorte qu'ils limitent la longueur de la publication à plus de 30 caractères.maurisvh authored 5 days ago
je vais le deviner quand même.)> <>, 353 octets, fissuré par Sp3000
Comme découvert par Sp3000, il s’agit d’un programme> <>. Tous les espaces non utilisés et les caractères remplacés par. caractère pour la lisibilité.
la source
MarioLANG , 549 octets, fissuré par Sp3000
J'ai vraiment apprécié celui-ci. Voici un aperçu rapide de la création du code:
J'ai commencé par le Brainfuck "Hello World!" sur les esolangs:
J'ai dû le modifier légèrement pour ajouter une virgule, mais ignorons les détails ...
BF peut être converti en ML assez facilement: le changement
>
et<
à)
et(
respectivement. Ajouter un étage principal sous le programme. Ensuite, implémentez les boucles via les étages d'assistance et les ascenseurs. Cela transforme le programme ci-dessus en:Ceci est un travail "Hello World!" programme dans MarioLANG. (Ce code correspond au "Hello World!" Incorrect sur les esolangs, et non au code ML obfusqué ci-dessus.)
À ce stade, nous pouvons jouer un peu le code en déplaçant une partie du code de la boucle dans l'étage auxiliaire. Je passe maintenant au code actuel de cette réponse:
Et maintenant, l’obscurcissement: j’imaginais que ce
=
serait un cadeau mortel pour Sp3000 qui connaissait la langue (il l’avait utilisée dans Evolution of OEIS). Mais MarioLANG a aussi des "murs" au lieu de "sols", représentés par|
. Celles-ci sont fonctionnellement identiques cependant, j'ai donc utilisé le caractère moins commun. J'ai aussi pensé que le sol suspendu aurait l'air suspicieux, alors j'ai complété les deux lignes avec d'autres personnages. Pour faire bonne mesure, j'ai ajouté à nouveau la première ligne à la fin, et le remplissage de la ligne du milieu correspond aux caractères opposés de la première ligne. J'ai également ajouté des crochets correspondants (qui sont ignorés par MarioLANG), car je pensais qu'un[
indice inégalé pourrait être un autre indice fort. Enfin, j’ai écrit un script CJam pour saupoudrer exactement 13 ) et modifié les caractères de remplissage de la quatrième ligne en=
en positions aléatoires au sol (13, car celaHello, World!
Helo, Wrd!
pour faire croire que je lis les caractères du code source, comme le ferait une réponse Befunge. Voilà MarioLANG obscurci! :)la source
ULDR
pour déclencher un flux de contrôle. Donc non. ;)UNBABTIZED , 77 octets
Vérification
Vous pouvez trouver le site officiel et l'interprète ici .
Comme indiqué sur le site Web, l'interpréteur a été écrit pour Python 2.2, qui autorisait les caractères non-ASCII dans le code source. Vous pouvez télécharger Python 2.2.3 1 ou le réparer pour Python 2.7 en insérant la ligne suivante au début de l'interpréteur:
Comment ça fonctionne
Tout d'abord, les espaces ne devraient pas être autorisés dans le code source selon le site Web, mais les espaces après une instruction complète ne semblent poser aucun problème.
La commande
$0,0
s'exécutememory[0] = memory[0] == memory[0]
, ce qui n'aide en rien à saluer le monde. J'ai ajouté cette commande uniquement pour détourner l'attention du fait qu'il s'agit d'.
un séparateur de déclaration.Le reste du code est composé de treize
:x
commandes, qui écrivent le caractère avec le point de code x dans STDOUT.Une version non obscurcie du code source ressemblerait à ceci:
1 Compiler Python 2.2.3 s’était étonnamment bien passé sous openSUSE 13.2.
make
,make install
Et l'exécutable résultant tout imprimé beaucoup d'avertissements, mais UNBABTIZED a fonctionné comme prévu.la source
FUEUE: UNKNOWN , OP
14 foisHHeelllloo,, WWoorrlldd!!
sans quitter le programme.$
commence un littéral Python, ce qui entraîne une erreur de syntaxe.Higher Subleq , 52 octets, fissuré par John WH Smith
Cela ne ressemble pas vraiment à un esolang, mais aucun dérivé C sensé ne pourrait être implémenté
puts
sans un retour à la ligne implicite.la source
Mascarpone, 30 octets, fissuré par Sp3000
Basé sur la pile? Peut être...
[!dlroW ,olleH]
place tous ces caractères dans la pile (oui, y compris les délimiteurs);$
apparaît le]
; puis.
chacun imprime un caractère. Le programme se termine avec un[
personnage encore sur la pile.J'aurais fait la sortie utiliser une boucle, mais je ne peux pas comprendre comment ils fonctionnent ...
la source
$
affiche la]
qui , pour une raison quelconque est pousséWhirl , 12302 octets, fissuré par Artyom
Whirl ignore tout sauf 1 et 0. J'ai également modifié d'autres chiffres au hasard, mais ils ne sont pas pertinents. Lorsque vous ne gardez que les 1 et les 0, vous obtenez un "Bonjour le monde!" exemple :)
la source
GNU bc, 36 octets
Une Foo Version -immune de ma précédente tentative .
Cela nécessite la version GNU (ou toute autre version comportant la
print
fonction) de bc. La première ligne concerne l'obscurcissement: dans bc, les variables ne doivent pas être déclarées et sont initialisées avec0
, nous avons donc une affectation inutile mais avec une syntaxe valide. La deuxième ligne est simplement impriméeHello, World!
.la source
module
-package
clé ou un mot - clé, donc je suppose qu'il ne compilera pas. Peut-être que cela fonctionne dans le REPL, mais ce n'est pas autorisé.main = do:
).Chef, 1943 octets, craqué par Angew
la source
APL, 39 octets, fissuré par Mauris
L'efficacité est tout.
Cela fonctionne dans la démo ngn-apl .
L'obstruction de l'APL n'est pas une tâche facile si l'intention est de la rendre moins visible à APL.
Voici ce que j'ai réalisé:
Les guillemets doubles ne fonctionnent pas dans tous les dialectes. Dyalog, par exemple, ne les prend pas en charge.
ngn / apl est le seul dialecte que je connaisse qui utilise l'indexation à base zéro par défaut.
Les virgules ne sont pas censées être là.
Les éléments vectoriels sont généralement séparés par des espaces lors de l'écriture APL. Cependant,
,
concatène ainsi le code entre crochets concatène 13 singletons.Une version (légèrement) peu obscurcie et plus portable du code ressemblerait à
qui fonctionne dans TryAPL , GNU APL.js et la démonstration ngn / apl .
la source
ngn-apl
au moins)Souris , 105 octets
Vous pouvez obtenir un interprète pour Mouse écrit en C ici .
La souris utilise la notation polonaise inversée pour que les opérateurs suivent les opérandes. (Pensez Lisp à l’arrière.) L’affectation des variables est effectuée à l’aide
<variable>:
et le rappel de la valeur d’une variable s’effectue comme suit:<variable>.
. Toutes les valeurs dans Mouse sont des entiers.!
sort un entier et!'
le caractère ASCII associé à cet entier. Toutes les sorties vont à STDOUT.Pour une raison quelconque, tous les programmes valides doivent se terminer par
$
.la source
Haskell , 637 octets
Vidéo de désobfuscation
la source
Wordfuck , 1063 octets, fissuré par Martin Büttner
Notez que les fins de ligne doivent être de type Unix.
la source
Wordy , 3279 octets
Comme je l'ai laissé entendre dans les commentaires, cette botte de foin est principalement une aiguille.
Nous pouvons saluer le monde en exécutant les instructions suivantes:
Wordy code toutes les instructions sous forme de phrases, la fraction de mots plus longue et plus courte que la moyenne arrondie sélectionnant la commande.
Les phrases les plus courtes que j'ai pu trouver pour les instructions utilisées sont:
Mais comment cacher le fait que la longueur des mots est la seule chose importante dans le code source?
Ni l'ordre des mots, ni les mots choisis ne sont importants, tant qu'ils sont alphanumériques. J'ai donc décidé d'ajouter des caractères aléatoires non alphanumériques à chaque mot pour qu'ils soient tous de la même longueur. J'ai également ajouté quelques non-mots (aucun caractère alphanumérique) pour donner au code source sa forme rectangulaire agréable.
J'ai généré le code source final en utilisant ce programme CJam .
la source