ความอยากรู้: ภาษาโปรแกรมลึกลับ

ภาษาโปรแกรมลึกลับเป็นภาษาที่เรียบง่ายสร้างขึ้นเพื่อพิสูจน์แนวคิดและ / หรือความท้าทายทั้งสำหรับการเขียนโปรแกรมภาษาและการเขียนภาษานั้น มาดูความคิดเห็นของบางส่วน:

บ้าบิ่น


เป็นที่รู้จักกันดีและเป็นที่นิยมมากที่สุดไวยากรณ์ของมันค่อนข้างง่าย:

 
 ++++++++++
 [          วนซ้ำเพื่อเริ่มความทรงจำ (ซ้ำ 10 ครั้ง)
    >+++++++>++++++++++>+++++++++++>+ + +>+<<<<-
       70 100 110 30
 ]
 >++.              'H' (72) 1
 >>+.              'หรือ' (111) 3
 ---.              'l' (108) 3
 <---.             'a' (97) 2
 >>++.             ช่องว่าง (32) 4
 <+.               'm' (109) 3
 + + + + + + + +.         'u' (117) 3
 -------.          'n' (110) 3
 <+ + +.             'd' (100) 2
 >+.               'หรือ' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

ในการอธิบายวากยสัมพันธ์ควรใช้ภาษาโปรแกรมอื่น ๆ ดังนั้นใน หน้า Wikipedia ของเขา ให้ตารางการเทียบเคียงนี้กับเราซึ่ง ptr เทียบเท่ากับถ่านที่ไม่ได้ลงนาม:

มันสมอง C Perl
> ++ ptr; $ ตัวชี้ ++;
< –Ptr; $ pointer–;
+ ++ * ptr; $ เทป [$ pointer] ++;
- - * ptr; $ เทป [$ pointer] -;
. พัตชา (* ptr); พิมพ์ chr $ tape [$ pointer];
, * ptr = getchar (); $ เทป [$ pointer] = ord (<>);
[ ในขณะที่ (* ptr) { ในขณะที่ ($ tape [$ pointer]) {
] } }

อุ๊ก!


มันขึ้นอยู่กับก่อนหน้านี้ แต่ใช้การผสมคำแทน เอิ๊ก?, อุ๊ก! y ด้วย. มันเป็นเรื่องล้อเลียนของบรรณารักษ์จาก Discworldซึ่งกลายร่างเป็นลิงอุรังอุตังและออกเสียงได้เพียงสามคำเท่านั้น มาดูโค้ดกัน

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

สมมติว่า "โปรแกรม" นี้ใช้ในการเขียน "สวัสดีชาวโลก" ทั่วไป

เบฟังเก้


ในความคิดของฉันเป็นแบบดั้งเดิมที่สุดโครงสร้างการควบคุมการไหลจะขึ้นอยู่กับลูกศรที่บอกโปรแกรมว่าจะไปที่ไหน นอกจากนี้ยังทำให้การสร้างโค้ดกลายพันธุ์ (รหัสที่แก้ไขตัวเอง) ง่ายขึ้นมาก:

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

โค้ดด้านบนเป็นเรื่องเกี่ยวกับตัวสร้างตัวเลขสุ่มแบบไม่สิ้นสุดซึ่งจะสร้างตัวเลขระหว่าง 1 ถึง 9 อ่านได้ง่ายกว่าโค้ดก่อนหน้านี้มาก

มัลโบลจ์


ที่นี่เรามีภาษาโปรแกรมที่สร้างขึ้นเพื่อให้ระคายเคืองและไม่สามารถอ่านได้ (ไม่มันไม่ใช่ Cและไม่มันไม่ใช่ Perl). เกี่ยวกับ มัลโบลจ์ซึ่งมีชื่อมาจากวงกลมที่ 8 ของนรกใน The Divine Comedy. นี่คือ "สวัสดีชาวโลก" (หรือนั่นคือสิ่งที่ฉันเคยบอกไป):

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

Lolcat


เรื่องตลกง่ายๆ มาดูรหัสของคุณกัน:

ไฮ
CAN HAS STDIUM?
ฉันมี VAR
IM IN YR LOOP
   UP VAR!!1
   มองเห็นได้ VAR
   IZ VAR ใหญ่ ถ่าน 10? KTHX
IM outta YR LOOP
ขอบคุณ

เนื่องจากมันอ่านได้ง่ายกว่าภาษาโปรแกรมก่อนหน้านี้มากฉันจะให้คุณเดาว่ามันควรจะทำอะไร 😉

อินเตอร์คอล


และสุดท้าย แต่ไม่ท้ายสุดเรามีการล้อเลียนภาษาโปรแกรม FORTRAN INTERCAL. และที่นี่สวัสดีชาวโลก
DO ,1 <- #13
กรุณา DO ,1 ย่อย #1 <- #238
DO ,1 ย่อย #2 <- #108
DO ,1 ย่อย #3 <- #112
DO ,1 ย่อย #4 <- #0
DO ,1 ย่อย #5 <- #64
DO ,1 ย่อย #6 <- #194
DO ,1 ย่อย #7 <- #48
กรุณา DO ,1 ย่อย #8 <- #22
DO ,1 ย่อย #9 <- #248
DO ,1 ย่อย #10 <- #168
DO ,1 ย่อย #11 <- #24
DO ,1 ย่อย #12 <- #16
DO ,1 ย่อย #13 <- #162
กรุณา อ่าน OUT ,1
กรุณา ให้ UP
ก็แค่นั้นแหละ

ฉันต้องบอกว่าภาษาโปรแกรมเหล่านี้มีประโยชน์มากสำหรับการเรียนรู้เกี่ยวกับแนวคิดคอมพิวเตอร์บางอย่าง ตัวอย่างเช่น, บ้าบิ่น เหมาะสำหรับการเรียนรู้เกี่ยวกับพอยน์เตอร์


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   เดวิด dijo

    ฉันชอบรหัสไบนารีมากกว่า

    1.    ดีไซโคเดอร์ dijo

      ใช่ฉันชอบเขียนโปรแกรมเป็นไบนารีหรือในแอสเซมเบลอร์โดยตรงคุณสามารถทำอะไรก็ได้ (ภาษาระดับสูงจบลงด้วยการทำงานบนโปรเซสเซอร์หลังจากนั้น) แต่สิ่งที่น่าสนใจเกี่ยวกับภาษาลึกลับคือความท้าทายที่เป็นตัวแทน ยังไงก็ตามโรเดอร์ (ผู้เขียนบทความนี้) คุณทำให้ฉันโกรธ C และ Perl อ่านไม่ออกและระคายเคืองอย่างไร?. ช่างเป็นความผิดที่เหนือความคาดหมาย !! ช่างเป็นอะไรที่เลวร้าย! แต่ถ้า C นั้นยอดเยี่ยมใน perl ฉันไม่ได้ตั้งโปรแกรม แต่ฉันได้เห็นความคิดเห็นที่ดีเกี่ยวกับภาษานี้เพราะเห็นได้ชัดว่ามันเหมาะมากสำหรับการจัดการไฟล์สตริงและพ็อดเหล่านี้เช่นการหาประโยชน์มันค่อนข้างดีแม้ว่า cy python ในการหาประโยชน์ ทำงานได้ดี ...

      Saludos!

      1.    โรเดอร์ dijo

        ผู้ชายสิ่งที่ C และ perl เป็นเรื่องตลกและใช่พวกเขาเป็นภาษาที่อ่านได้ค่อนข้างใช้งานได้จริงและ "สวยงาม" ในมือขวาแน่นอนใน CI ได้เห็นว่าบางคนจบลงด้วยการสร้างรหัสสปาเก็ตตี้ที่ไม่เข้าใจ และไม่มีการบันทึก สำหรับ Perl ไม่เพียง แต่จะเกิดสิ่งเดียวกันกับ C เท่านั้น แต่ยังมีความยืดหยุ่นสูงคุณสามารถค้นหาสิ่งที่ต่อต้านสามัญสำนึกได้อีกด้วย ฉันต้องบอกว่าฉันไม่มีประสบการณ์การเขียนโปรแกรมใน Perl แต่ฉันรู้ไวยากรณ์ของมันค่อนข้างดี

  2.   Joaquin dijo

    อย่างแรกคือวิธีเขียนรหัสมอร์ส😀

    1.    โรเดอร์ dijo

      และอย่างที่สองคือการเป็นลิงอุรังอุตังและตัวที่สี่ทำให้เกิดภาวะสมองขาดเลือด

  3.   ติรโซจูเนียร์ dijo

    โพสต์ได้ดีมาก

  4.   johnfgs dijo

    ฉันคิดถึงคุณ piet
    http://www.dangermouse.net/esoteric/piet.html

    1.    โรเดอร์ dijo

      และพ่อครัว unlamda เว้นวรรคและกุ๊กกิ๊ก แต่ฉันไม่ได้ต้องการให้บทความใหญ่เกินไป

  5.   ไดอะซีแพน dijo

    ถึงเวลาฉายแล้ว
    พูดคุยกับมือ«สวัสดีชาวโลก»
    คุณได้รับการยกเลิกแล้ว

    สวัสดีชาวโลกใน ArnoldC

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

    1.    โรเดอร์ dijo

      เขาไม่รู้เรื่องนั้นฉันเดาว่า "เทอร์มิเนเตอร์ว่าง" ให้เขา

  6.   Eliotime3000 dijo

    ความจริงก็คือภาษาโปรแกรมเหล่านั้นทำให้ฉันหัวเราะ ดี.