Curiosa: Esoterische programmeertalen

Esoterische programmeertalen zijn minimalistische talen, gemaakt als proof of concept en / of uitdaging, zowel om de taal te programmeren als om ervoor te schrijven. Laten we een aantal van hen bekijken:

hersenspinsel


Het is de bekendste en meest populaire, de syntaxis is vrij eenvoudig:

 
 + + + + + + + + + +
 [          Loop om herinneringen te starten (wordt 10 keer herhaald)
    >+ + + + + + +>+ + + + + + + + + +>+++++++++++>+ + +>+<<<<-
       70 100 110
 ]
 >++.              'H' (72) 1
 >>+.              'of' (111) 3
 ---.              'l' (108) 3
 <---.             'a' (97) 2
 >>++.             spatie (32) 4
 <+.               'm' (109) 3
 ++++++++.         'u' (117) 3
 -------.          'n' (110) 3
 <+ + +.             'd' (100) 2
 >+.               'of' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

Om de syntaxis uit te leggen, kunt u het beste naar andere programmeertalen gaan. Dus in zijn Wikipedia-pagina geef ons deze equivalentietabel, waarin ptr gelijk is aan een unsigned char:

brainfuck C Perl
> ++ ptr; $ pointer ++;
< –Ptr; $ pointer–;
+ ++ * ptr; $ tape [$ pointer] ++;
- - * ptr; $ tape [$ pointer] -;
. putchar (* ptr); print chr $ tape [$ pointer];
, * ptr = getchar (); $ tape [$ pointer] = ord (<>);
[ terwijl (* ptr) { while ($ tape [$ pointer]) {
] } }

Ook!


Het is gebaseerd op de vorige, maar gebruikt in plaats daarvan de woordcombinatie Oke?, Oke! y OOK. Het is een parodie op de bibliothecaris uit Schijfwereld, die wordt getransformeerd in een orang-oetan en alleen die drie woorden kan uitspreken. Laten we naar een stukje code kijken.

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

Vermoedelijk is dit "programma" wat het doet, is het schrijven van de typische "hallo wereld".

Befunge


Naar mijn mening het meest originele van allemaal, is de flow control-structuur gebaseerd op pijlen die het programma vertellen waar het heen moet. Het maakt ook het maken van mutante code (code die zichzelf wijzigt) een stuk eenvoudiger:

vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^

De bovenstaande code is een oneindige generator voor willekeurige getallen, die een getal tussen 1 en 9 genereert. Veel leesbaarder dan de vorige.

Malbolge


Hier hebben we een programmeertaal die is gemaakt om irritant en onleesbaar te zijn (nee, dat is het niet C, en nee, dat is het niet Perl). Gaat over Malbolge, wiens naam komt van de 8e cirkel van de hel in De goddelijke komedie. Hier is een "hallo wereld" (of dat is wat mij is verteld dat het is):

 (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
 hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Lolcat


Een simpele grap. Laten we uw code bekijken:

HAI
CAN HAS STDIUM?
IK HEB EEN VAR
IM IN YR LOOP
   UP VAR!!1
   ZICHTBAAR VAR
   IZ VAR GROTER DAN 10? KTHX
IM UIT YR LOOP
KTHXBYE

Omdat het veel beter leesbaar is dan eerdere programmeertalen, laat ik je raden wat het moet doen. 😉

INTERCAL


En last but not least hebben we een parodie op de programmeertaal FORTRAN. INTERCAL. En hier hallo wereld.
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE LEZEN OUT ,1
PLEASE GEVEN UP
Nou, dat is het dan.

Ik moet zeggen dat sommige van deze programmeertalen erg handig zijn om over sommige computerconcepten te leren. Bijvoorbeeld, hersenspinsel het is perfect om over aanwijzingen te leren.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   davidlg zei

    Ik geef bijna de voorkeur aan binaire code

    1.    desicoder zei

      Ja, ik geef er beslist de voorkeur aan om direct in binair of in assembler te programmeren, je kunt alles doen (talen van hoog niveau draaien uiteindelijk toch op de processor), maar het interessante aan esoterische talen is de uitdaging die ze vertegenwoordigen. Trouwens, roader (de auteur van dit artikel), je maakt me kwaad. Hoe zijn C en Perl onleesbaar en irritant? Wat een ondraaglijke overtreding !! Wat een schande! Maar als C geweldig is, heb ik in perl niet geprogrammeerd, maar ik heb goede opmerkingen over deze taal gezien omdat het blijkbaar zeer geschikt is voor het verwerken van bestanden, strings en deze pods, bijvoorbeeld voor exploits is het best goed, hoewel cy python in exploits werkt goed ...

      Saludos!

      1.    roader zei

        Man, het C en perl-ding was een grap, en ja, het zijn behoorlijk leesbare talen, erg praktisch en "mooi" in de juiste handen. Natuurlijk hebben in CI gezien dat sommige mensen uiteindelijk een wirwar van onverstaanbare spaghetticode creëren, en zonder bijhouden. Wat Perl betreft, gebeurt niet alleen hetzelfde als bij C, maar omdat het zo extreem flexibel is, kun je dingen vinden die het gezond verstand tarten. Ik moet zeggen dat ik geen ervaring heb met programmeren in Perl, maar ik ken de syntaxis vrij goed.

  2.   Joaquin zei

    De eerste is hoe je in morsecode 😀 schrijft

    1.    roader zei

      En de tweede is om een ​​orang-oetan te zijn, en de vierde, het veroorzaakt herseninfarcten.

  3.   Tyrus Junior zei

    Heel goed de post.

    1.    roader zei

      En chef, unlamda, witruimte en tink. Maar ik wilde het artikel niet te groot maken.

  4.   diazepam zei

    HET IS SHOWTIME
    PRAT MET DE HAND «hallo wereld»
    JE BENT BEËINDIGD

    Hallo wereld in ArnoldC

    http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger

    1.    roader zei

      Nou, die kende hij niet, ik denk dat het idee hem werd gegeven door de "null terminator"

  5.   eliotime3000 zei

    De waarheid is dat die programmeertalen me aan het lachen hebben gemaakt. Is goed.