Programmering i udda språk

Medlem
Programmering i udda språk

Idag när jag satt och läste The Daily WTF kom jag in på en tidigare tävling de haft och bland alla inskickade bidrag hittade jag bra många kodspråk som jag aldrig sett tidigare. Två av dessa gjorde mig extra intresserad även om de endast är gjorda för att vara komiska. Finns nog inte någon som skulle använda dessa i seriösa projekt, ni förstår när ni ser koden.

Lolcode kommer från internet memet lolcats där syntaxen är (surprise!) lolcat ord. Jag skrev ett kort program (med lite roliga lolcats kommentarer) som låter användaren skriva in en textsträng, kollar om den är FZ.se och skriver ut en respons. Att läsa koden är väldigt underhållande, det känns verkligen inte som att man läser kod.

Tydligen är lolcats inte ett populärt språk att skriva i, vilket inte är svårt att förstå, då jag hade svårt att hitta någon win compiler men koden borde gå att köra utan problem ändå hoppas jag.

HAI CAN HAS STDIO? I HAS A WEBSITE GIMMEH WEBSITE IZ WEBSITE LIEK "FZ.se"? BTW FZ IS TEH AWSUM YARLY VISIBLE "I WUVS FZ" NOWAI BTW SAD KITTY IF TRU VISIBLE "NOES BAD SITE" KTHX KTHXBYE

brainfuck... jadu. Det är precis som det låter. Språket gjordes i 93 för att vara så minimalistiskt som möjligt, endast 8 nyckeltecken används. Men jag måste säga att det var väldigt intressant att koda i ändå, det går att göra så sjukt mycket med det man ges även om det kan kräva mycket kod för att göra det. Se bara exemplena på wikin.

Det mitt program gör är att ta emot en 2D koordinat (X och Y) för att sen skapa en låda av #-tecken enligt den inmatade storleken.
Det går att få ner koden till mer än hälften om man tar bort "hjälpinformationen" i början. Tänkte vara lite snäll mot användaren när han/hon öppnar filen.

>>>>>+++++++++[<++++++++++>-]<--.>>>+++ +++[<+++ +++ +++ +>-]<--.<<<<<<,>>>>>>>>++++++++++.<<<<+.>>.<<<<<,>>>>>>>..<<<<<<<<>>++++++++[<------<------>>-]>+++ +++ +[<+++ ++ >-]<<[<[->>>+<.<<]>>>[-<<<+>>>]>>>>>.<<<<<<<-],

Neh, nu ska jag inte vara så elak. Jag skrev med kommentarer och med whitespace medans jag kodade, annars hade det varit bra mycket svårare.
Glöm inte att alla tecken utom < > + - , . [ ] är kommentarer och *'siffra' använde jag för att komma ihåg på vilken position datapekaren var på vid slutet av raden. Det borde gå att köra koden utan kommentarer i en C kompilator, om man ändrar tecknena till C's motsvarigheter (se här). Kompilator för brainfuck som jag använde finns här.

## Brainfuck test program by Andreas Wilcox in July 29th 2009 ## ## Paints a pretty grid using the #-sign and user defines the size {0} used for X size {1} used for Y size {2} used for ASCII sign '#' #Setup >>>>>+++ +++ +++[<+++ +++ +++ +>-]<--. *4 #print X >>>+++ +++[<+++ +++ +++ +>-]<--. *6 #print : <<<<<<,>>>>>>>> *8 #Input x +++ +++ +++ + . *8 #Line feed <<<<+. *4 #print Y >>. *6 #print : <<<<<,>>>>>>> *8 #Input Y ..<<<<<<<< *0 #Line feed twice >>++++++++[<------<------>>-] *2 #Turn ASCII numbers into normal numbers >+++ +++ +[<+++ ++ >-]<< *1 #Increases {2} to 35 ASCII for # [<[->>>+<.<<]>>>[-<<<+>>>]>>>>>.<<<<<<<-] *4 #Print grid ,

Jag har tittat runt lite mer och det finns verkligen hur många flummiga kodspråk som helst. Det var kul att testa, men jag går nog tillbaka till C++ nu igen.

#blogg

Medlem
Programmering i udda språk

Hahaha Lolcode var riktigt kul att läsa. Om det var lika effektivt som alla andra större språk och hade en stor användarbas skulle det vara ganska mycket roligare jobba.

Brainfuck är ju en klassiker som jag dock aldrig testat. Jag lägger hellre ner tid på att lära mig .NET men databaser, xml o liknande då jag ska plugga det nu den 11e augusti. Dock "C++" == "in my heart... always. "

;

Medlem

Att ta 4-5h för att lära sig och skapa ett program i Brainfuck tycker jag lätt var värt det. Eftersom det endast finns 8 nyckelord så går det ganska snabbt att lära sig, det svåra ligger i att skriva kod med det. Men det är inget jag kommer använda mer än för små sporadiska program.

Det går som sagt att göra exakt samma sak i C/C++, borde gå att bara define'a om enligt Brainfuck - C tabellen.

Medlem
Medlem

Befunge är ren ondska med. Då interpretatorn läser koden som en 2 dimensionell array där du kan stega framåt bakåt, uppåt och neråt. Finns även en 3D variant som då blir ännu ondskefullare.

http://en.wikipedia.org/wiki/Befunge


signatur

Varning, ovanstående text kan innehålla särskrivning.

Medlem

Det där var verkligen annorlunda, men kul

1
Skriv svar