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
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
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.
Jeg foretrekker nesten binær kode
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!
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.
Den første er hvordan man skriver i morsekode
Og den andre er å være en orangutang, og den fjerde forårsaker hjerneinfarkt.
Veldig bra innlegget.
jeg savner deg piet
http://www.dangermouse.net/esoteric/piet.html
Og kokk, unlamda, whitespace og tink. Men jeg ville ikke gjøre artikkelen for stor.
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
Vel, han visste ikke den, jeg antar at ideen ble gitt til ham av "null terminator"
Sannheten er at disse programmeringsspråkene har fått meg til å le. Flink.