Ezoteryczne języki programowania to języki minimalistyczne, stworzone jako dowód koncepcji i / lub wyzwanie, zarówno do programowania języka, jak i do pisania dla niego. Zobaczmy przegląd niektórych z nich:
Mózg
Jest to najbardziej znany i najpopularniejszy, jego składnia jest dość prosta:
++++++++++ [ Pętla do uruchamiania wspomnień (powtarza się 10 razy) >++++++>++++++++++>+++++++++++>+ + +>+<<<<- 70 100 110 30 10 ] >++. „H” (72) 1 >>+. 'lub' (111) 3 ---. „l” (108) 3 <---. „a” (97) 2 >>++. spacja (32) 4 <+. „m” (109) 3 ++++++++. „u” (117) 3 -------. „n” (110) 3 <+ + +. „d” (100) 2 >+. 'lub' (111) 3 >+. '!' (33) 4 >. '\ n' (10) 5
Aby wyjaśnić jego składnię, najlepiej użyć innych języków programowania. Więc w jego stronę w Wikipedii podaj nam tę tabelę równoważności, w której ptr jest równoważne bez znaku:
pieprzony mózg | C | Perl |
---|---|---|
> | ++ ptr; | $ pointer ++; |
< | –Ptr; | $ pointer–; |
+ | ++ * ptr; | $ tape [$ pointer] ++; |
- | - * ptr; | $ tape [$ pointer] -; |
. | putchar (* ptr); | print chr $ tape [$ pointer]; |
, | * ptr = getchar (); | $ tape [$ pointer] = ord (<>); |
[ | while (* ptr) { | while ($ tape [$ pointer]) { |
] | } | } |
Ook!
Opiera się na poprzednim, ale zamiast tego używa kombinacji słów Ok?, Och! y Ook. To parodia bibliotekarza Świat Dysku, który przekształca się w orangutana i może wymówić tylko te trzy słowa. Spójrzmy na fragment kodu.
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Podobno ten „program” tworzy typowy „witaj, świecie”.
Befung
Moim zdaniem najbardziej oryginalna ze wszystkich, jest struktura sterowania przepływem oparta na strzałkach, które wskazują programowi, dokąd się udać. Ponadto znacznie ułatwia tworzenie zmutowanego kodu (kodu, który sam się modyfikuje):
vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^
Powyższy kod dotyczy nieskończonego generatora liczb losowych, który wygeneruje liczbę od 1 do 9. O wiele bardziej czytelny niż poprzednie.
Malbolge
Tutaj mamy język programowania stworzony tak, aby był irytujący i nieczytelny (nie, nie jest Ci nie, nie jest Perl). Jest o Malbolge, którego nazwa pochodzi od ósmego kręgu piekła w Boska komedia. Oto „witaj świecie” (lub tak mi powiedziano):
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Lolcat
Prosty żart. Zobaczmy Twój kod:
HAI CAN HAS STDIUM? MAM VAR IM IN YR PĘTLA UP VAR!!1 WIDOCZNIE VAR IZ VAR WIĘKSZE NIŻ 10? KTHX IM WYJAZD YR PĘTLA KTHXBYE
Ponieważ jest o wiele bardziej czytelny niż poprzednie języki programowania, pozwolę ci zgadnąć, co ma robić. 😉
INTERKAL
DO ,1 <- #13 PROSZĘ DO ,1 POD #1 <- #238 DO ,1 POD #2 <- #108 DO ,1 POD #3 <- #112 DO ,1 POD #4 <- #0 DO ,1 POD #5 <- #64 DO ,1 POD #6 <- #194 DO ,1 POD #7 <- #48 PROSZĘ DO ,1 POD #8 <- #22 DO ,1 POD #9 <- #248 DO ,1 POD #10 <- #168 DO ,1 POD #11 <- #24 DO ,1 POD #12 <- #16 DO ,1 POD #13 <- #162 PROSZĘ CZYTAĆ OUT ,1 PROSZĘ DAĆ UP
Muszę powiedzieć, że niektóre z tych języków programowania są bardzo przydatne do nauki pewnych pojęć komputerowych. Na przykład, Mózg jest idealny do nauki o wskazówkach.
Prawie wolę kod binarny
Tak, zdecydowanie wolę programować w systemie binarnym lub bezpośrednio w asemblerze, możesz zrobić wszystko (w końcu języki wysokiego poziomu działają na procesorze), ale interesującą rzeczą w językach ezoterycznych jest wyzwanie, które reprezentują. Swoją drogą, roader (autor tego artykułu), wkurzasz mnie. Dlaczego C i Perl są nieczytelne i irytujące? Co za nieznośna obraza !! Co za oburzenie! Ale jeśli C jest cudowne, w perlu nie programowałem, ale widziałem dobre komentarze na temat tego języka, ponieważ podobno jest bardzo odpowiedni do obsługi plików, stringów i tych podów, na przykład dla exploitów, jest całkiem niezły, chociaż cy python w exploitach dobrze pracować ...
Saludos!
Człowieku, C i perl to żart, i tak, są to całkiem czytelne języki, bardzo praktyczne i „piękne” w odpowiednich rękach. Oczywiście w CI widzieliśmy, że niektórzy ludzie w końcu tworzą plątaninę niezrozumiałego kodu spaghetti, i bez prowadzenia ewidencji. Jeśli chodzi o Perl, nie tylko dzieje się to samo, co w przypadku C, ale ponieważ jest on tak niezwykle elastyczny, można znaleźć rzeczy, które są sprzeczne ze zdrowym rozsądkiem. Muszę powiedzieć, że nie mam doświadczenia w programowaniu w Perlu, ale dobrze znam jego składnię.
Pierwsza to jak pisać kodem Morse'a
Drugi to orangutan, a czwarty powoduje zawały mózgu.
Bardzo dobry post.
tęsknię za tobą piet
http://www.dangermouse.net/esoteric/piet.html
I szef kuchni, unlamda, spacje i tink. Ale nie chciałem, aby artykuł był zbyt duży.
CZAS NA POKAZ
ROZMOWA DO RĘKI «witaj świecie»
ZOSTAŁEŚ ROZWIĄZANY
Hello World w ArnoldC
http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger
Cóż, nie znał tego, myślę, że pomysł został mu przekazany przez „terminator zerowy”
Prawda jest taka, że te języki programowania mnie rozbawiły. Dobry.