Rasa ingin tahu: Bahasa pengaturcaraan Esoterik

Bahasa pengaturcaraan esoterik adalah bahasa minimalis, dibuat sebagai bukti konsep dan / atau cabaran, baik untuk memprogram bahasa dan menulis untuknya. Mari lihat ulasan sebahagian daripada mereka:

brainfuck


Ia adalah yang paling terkenal dan paling popular, sintaksinya cukup mudah:

 
 ++++++++++
 [          Gelung untuk memulakan kenangan (diulang 10 kali)
    >+++++++>++++++++++>+++++++++++>+ + +>+<<<<-
       70 100 110 30 10
 ]
 >++.              'H' (72) 1
 >>+.              'atau' (111) 3
 ---.              'l' (108) 3
 <---.             'a' (97) 2
 >>++.             ruang (32) 4
 <+.               'm' (109) 3
 ++++++++.         'u' (117) 3
 -------.          'n' (110) 3
 <+ + +.             'd' (100) 2
 >+.               'atau' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

Untuk menjelaskan sintaksnya, lebih baik menggunakan bahasa pengaturcaraan lain. Jadi di halaman Wikipedia beliau berikan kami jadual persamaan ini, di mana ptr setara dengan char yang tidak ditandatangani

cetusan otak C Perl
> ++ ptr; $ penunjuk ++;
< –Ptr; $ penunjuk–;
+ ++ * ptr; pita $ [$ penunjuk] ++;
- - * ptr; $ pita [$ penunjuk] -;
. putchar (* ptr); cetak pita $ ch [$ penunjuk];
, * ptr = getchar (); $ tape [$ pointer] = ord (<>);
[ semasa (* ptr) { sementara (pita $ [$ penunjuk]) {
] } }

Ook!


Ia berdasarkan yang sebelumnya, tetapi menggunakan gabungan kata sebagai gantinya ok?, ok! y Juga. Ia adalah parodi pustakawan dari Dunia Dunia, yang diubah menjadi orangutan dan hanya dapat mengucapkan tiga kata tersebut. Mari lihat sekeping kod.

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

Sepatutnya "program" ini yang dilakukannya adalah menulis "hello world" khas.

Befunge


Pada pendapat saya yang paling asli dari semua itu, struktur kawalan alirannya didasarkan pada anak panah yang memberitahu program yang hendak dituju. Juga, lebih mudah untuk membuat kod mutan (kod yang mengubahnya sendiri):

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

Kod di atas adalah penjana nombor rawak yang tidak terhingga, yang akan menghasilkan nombor antara 1 dan 9. Jauh lebih mudah dibaca daripada yang sebelumnya.

Malbolge


Di sini kita mempunyai bahasa pengaturcaraan yang dibuat untuk menjengkelkan dan tidak dapat dibaca (tidak, tidak C, dan tidak, tidak Perl). Ia tentang Malbolge, yang namanya berasal dari lingkaran neraka ke-8 di Komedi Ilahi. Inilah "dunia hello" (atau itulah yang saya diberitahu):

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

lolcat


Jenaka sederhana. Mari lihat kod anda:

KAMU ADA
CAN HAS STDIUM?
SAYA MEMPUNYAI VAR
IM IN YR LOOP
   UP VAR!!1
   VISIBLE VAR
   IZ VAR LEBIH BESAR TERIMA KASIH 10? KTHX
IM KELUAR YR LOOP
KTHXBYE

Oleh kerana ia jauh lebih mudah dibaca daripada bahasa pengaturcaraan sebelumnya, saya akan membiarkan anda meneka apa yang sepatutnya dilakukan. 😉

INTERKAL


Dan yang terakhir, kami mempunyai parodi bahasa pengaturcaraan FORTRAN. INTERCAL. Dan di sini hello world.
DO ,1 <- #13
SILA 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
SILA 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
SILA BACA OUT ,1
SILA MEMBERIKAN UP
Baiklah, itu sahaja.

Saya harus mengatakan bahawa beberapa bahasa pengaturcaraan ini sangat berguna untuk belajar mengenai beberapa konsep komputer. Sebagai contoh, brainfuck sangat sesuai untuk belajar mengenai petunjuk.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   davidlg kata

    Saya hampir lebih suka kod binari

    1.    dekoder kata

      Ya, saya pasti lebih suka memprogram secara binari atau secara assembler, anda boleh melakukan apa sahaja (bahasa aras tinggi akhirnya berjalan pada pemproses), tetapi yang menarik mengenai bahasa esoterik adalah cabaran yang mereka wakili. By the way, roader (pengarang artikel ini), anda membuat saya kesal. Bagaimana C dan Perl tidak dapat dibaca dan menjengkelkan? Apa kesalahan yang tidak boleh ditoleransi !! Keterlaluan! Tetapi jika C itu indah, dalam perl saya belum diprogramkan tetapi saya telah melihat komen yang baik mengenai bahasa ini kerana nampaknya sangat sesuai untuk mengendalikan fail, rentetan dan pod ini, misalnya untuk eksploitasi itu cukup bagus, walaupun cy python dalam eksploitasi berfungsi dengan baik ...

      Terima kasih!

      1.    pengembara kata

        Man, perkara C dan perl adalah jenaka, dan ya, mereka adalah bahasa yang cukup mudah dibaca, sangat praktikal dan "cantik" di tangan kanan. Tentu saja di CI telah melihat bahawa beberapa orang akhirnya membuat kekeliruan kod spaghetti yang tidak dapat difahami, dan tanpa menyimpan rekod. Bagi Perl, bukan sahaja perkara yang sama berlaku dengan C, tetapi kerana sangat fleksibel, anda dapat mencari perkara yang menentang akal sehat. Saya harus mengatakan bahawa saya tidak mempunyai pengalaman memprogram dalam Perl, tetapi saya tahu sintaksisnya dengan cukup baik.

  2.   Joaquin kata

    Yang pertama adalah bagaimana menulis dalam kod morse 😀

    1.    pengembara kata

      Dan yang kedua adalah menjadi orangutan, dan yang keempat, ia menyebabkan infark serebrum.

  3.   Tyrus Junior kata

    Posisi yang sangat baik.

  4.   johnfgs kata
    1.    pengembara kata

      Dan chef, unlamda, ruang kosong dan tink. Tetapi saya tidak mahu menjadikan artikel itu terlalu besar.

  5.   diazepam kata

    INILAH MASANYA
    BERBICARA KE TANGAN «hello world»
    ANDA TELAH DITETAPKAN

    Hello World di ArnoldC

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

    1.    pengembara kata

      Dia tidak tahu yang itu, saya rasa idea itu diberikan kepadanya oleh "null terminator"

  6.   eliotime3000 kata

    Yang benar adalah bahawa bahasa pengaturcaraan itu membuat saya ketawa. Baik.