Nysgjerrigheter: Esoteriske programmeringsspråk

Esoteriske programmeringsspråk er minimalistiske språk, skapt som bevis på konsept og / eller utfordring, både for programmering av språket og for skriving for det. La oss se på en gjennomgang av noen av dem:

brainfuck


Det er den mest kjente og mest populære, syntaksen er ganske enkel:

 
 + + + + + + + + + +
 [          Sløyfe for å starte minner (gjentas 10 ganger)
    >+++++++>+ + + + + + + + + +>+++++++++++>+ + +>+<<<<-
       70 100 110 30 10
 ]
 >++.              'H' (72) 1
 >>+.              'eller' (111) 3
 ---.              'l' (108) 3
 <---.             'a' (97) 2
 >>++.             rom (32) 4
 <+.               'm' (109) 3
 ++++++++.         'u' (117) 3
 -------.          'n' (110) 3
 <+ + +.             'd' (100) 2
 >+.               'eller' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

For å forklare syntaksen er det best å vende seg til andre programmeringsspråk. Så inn hans Wikipedia-side gi oss denne tabellen med ekvivalenser, der ptr tilsvarer en usignert røye:

hjernefuck C Perl
> ++ ptr; $ pointer ++;
< –Ptr; $ pointer–;
+ ++ * ptr; $ tape [$ pointer] ++;
- - * ptr; $ tape [$ pointer] -;
. putchar (* ptr); skriv ut chr $ tape [$ pointer];
, * ptr = getchar (); $ tape [$ pointer] = ord (<>);
[ mens (* ptr) { mens ($ tape [$ pointer]) {
] } }

Også!


Den er basert på den forrige, men bruker i stedet ordkombinasjonen Også?, Også! y ook. Det er en parodi på bibliotekaren av Discworld, som blir forvandlet til en orangutang og bare kan uttale de tre ordene. La oss se på et stykke kode.

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

Angivelig dette "programmet" hva det gjør er å skrive den typiske "hei verden."

Befunge


Etter min mening er den mest originale av alle, dens strømningskontrollstruktur basert på piler som forteller programmet hvor du skal dra. Det gjør det også mye lettere å lage mutantkode (kode som endrer seg selv):

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

Ovennevnte kode handler om en uendelig tilfeldig tallgenerator, som vil generere et tall mellom 1 og 9. Mye mer leselig enn de forrige.

Malbolge


Her har vi et programmeringsspråk laget for å være irriterende og uleselig (nei, det er det ikke C, og nei, det er det ikke Perl). Er om Malbolge, hvis navn kommer fra den 8. helvete sirkelen i Den guddommelige komedie. Her er en "hei verden" (eller det er det jeg har blitt fortalt at den er):

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

Lolcat


En enkel vits. La oss se koden din:

DU HAR
CAN HAR STDIUM?
JEG HAR EN VAR
IM IN YR LOOP
   UP VAR!!1
   SYNLIG VAR
   IZ VAR STØRRE ENN 10? KTHX
IM UT AV YR LOOP
KTHXBYE

Siden den er mye mer lesbar enn tidligere programmeringsspråk, lar jeg deg gjette hva den skal gjøre. 😉

INTERKALT


Og sist men ikke minst har vi en parodi på FORTRAN-programmeringsspråket. INTERCAL. Og her hei verden.
DO ,1 <- #13
PLEASE DO ,1 DEL #1 <- #238
DO ,1 DEL #2 <- #108
DO ,1 DEL #3 <- #112
DO ,1 DEL #4 <- #0
DO ,1 DEL #5 <- #64
DO ,1 DEL #6 <- #194
DO ,1 DEL #7 <- #48
PLEASE DO ,1 DEL #8 <- #22
DO ,1 DEL #9 <- #248
DO ,1 DEL #10 <- #168
DO ,1 DEL #11 <- #24
DO ,1 DEL #12 <- #16
DO ,1 DEL #13 <- #162
PLEASE LESE OUT ,1
PLEASE GI UP
Vel, det er det.

Jeg må si at noen av disse programmeringsspråkene er veldig nyttige for å lære om noen datamaskinkonsepter. For eksempel, brainfuck den er perfekt for å lære om pekere.


11 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   davidlg sa

    Jeg foretrekker nesten binær kode

    1.    desikoder sa

      Ja, jeg foretrekker absolutt å programmere i binær eller i assembler direkte, du kan gjøre hva som helst (språk på høyt nivå ender opp med å kjøre på prosessoren), men det interessante med esoteriske språk er utfordringen de representerer. Forresten, roader (forfatteren av denne artikkelen), du pirrer meg. Hvordan er C og Perl uleselig og irriterende? For en utålelig lovbrudd !! For en opprørende! Men hvis C er fantastisk, har jeg ikke programmert i perl, men jeg har sett gode kommentarer om dette språket, fordi det tilsynelatende er veldig godt egnet for håndtering av filer, strenger og disse pods, for eksempel for exploits er det ganske bra, selv om cy python i exploits jobb bra ...

      Saludos!

      1.    roader sa

        Mennesket, C- og perl-tingen var en vits, og ja, de er ganske lesbare språk, veldig praktiske og "vakre" i de rette hendene. Selvfølgelig i CI har sett at noen mennesker ender med å skape et virvar av uforståelig spaghetti-kode og uten å holde oversikt. Når det gjelder Perl, skjer ikke bare det samme som med C, men fordi det er så ekstremt fleksibelt, kan du finne ting som trosser sunn fornuft. Jeg må si at jeg ikke har noen erfaring med programmering i Perl, men jeg kjenner syntaksen ganske bra.

  2.   Joaquin sa

    Den første er hvordan man skriver i morsekode

    1.    roader sa

      Og den andre er å være en orangutang, og den fjerde forårsaker hjerneinfarkt.

  3.   Tyrus Junior sa

    Veldig bra innlegget.

    1.    roader sa

      Og kokk, unlamda, whitespace og tink. Men jeg ville ikke gjøre artikkelen for stor.

  4.   diazepam sa

    DET ER I GANG
    TAL TIL HÅNDEN «hei verden»
    DU HAR VÆRE AVSLUTTET

    Hallo verden i Arnold C.

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

    1.    roader sa

      Vel, han visste ikke den, jeg antar at ideen ble gitt til ham av "null terminator"

  5.   eliotime3000. sa

    Sannheten er at disse programmeringsspråkene har fått meg til å le. Flink.