#1 tech recruiter in thailand

5 ภาษา Programming ที่เข้าใจยากที่สุดในโลก

See the original English version of this article here

มีภาษา Programming เกิดขึ้นมากมาย แต่ก็มีบางภาษาที่ไม่เพียงยาก แต่ Software Developers ส่วนใหญ่แทบจะไม่สามารถเข้าใจพวกมันได้เลยด้วยซ้ำ ภาษาเหล่านั้นถูกเรียกว่า “Esoteric Programming Language” (หรือ Esolang) ซึ่งถูกสร้างขึ้นเพื่อพิสูจน์ Concept บางอย่าง หรือเพื่อความตลกขบขันเท่านั้น และในบทความนี้ก็คือ 5 ภาษา Programming ที่เข้าใจยากที่สุดในโลก

1. Malbolge

Malbolge ถูกคิดค้นขึ้นในปี 1998 โดย Ben Olmstead ซึ่ง Esolang ตัวนี้ ได้รับการขนานามว่าเป็น ภาษา Programming ที่มีความซับซ้อนมากที่สุด

ว่ากันว่าผู้คิดค้นเจ้าภาษา Malbolge นี้ ไม่เคยเขียน Program โดยใช้ภาษา Programming ใด ๆ มาก่อน ที่สำคัญคือต้องใช้เวลาเกือบจะ 2 ปีหลังจากที่ Olmstead คิดค้นภาษานี้ขึ้นมา ถึงจะมีคนเขียน Code ของ “Hello World” ใน Malbolge ได้

นี่คือ ตัวอย่าง Code เพื่อ Print คำว่า “Hello World!” ในภาษา Malbolge

Hello World Malbolge

และนี่ก็คือ ผลลัพธ์:

Malbolge

by the author — code executed using tio.run

2. INTERCAL

Jim Lyon และ Don Woods เป็นผู้พัฒนา INTERCAL ขึ้นในปี 1972 ก็เพื่อที่จะล้อเลียนภาษา Programming ต่าง ๆ ซึ่งในตอนแรกชื่อของภาษานี้ ก็คือ “Compiler Language With No Pronounceable Acronym”

INTERCAL มี Features มากมายที่ถูกออกแบบมาเพื่อสร้างความหงุดหงิดและข้องใจให้กับเหล่า Programmer

“เช่น: มันใช้ Modifiers อย่างคำว่า “PLEASE” โดย Compiler สามารถปฏิเสธ Code ได้หากไม่ได้ใช้คำว่า “PLEASE” ใน Code บ่อยมากพอ เพราะมันจะถือว่า Program นั้น “ไม่สุภาพเพียงพอ” แต่หากใช้ Modifiers “PLEASE” หลายครั้งมากจนเกินไป Compiler ก็จะปฏิเสธ Code นั้น เพราะว่ามัน “สุภาพมากเกินไป”

นี่คือ ตัวอย่าง Code เพื่อ Print คำว่า “Hello World!” ในภาษา INTERCAL

Hello World INTERCAL

และนี่ก็คือ ผลลัพธ์:

INTERCAL

by the author — code executed using tio.run

3. Brainfuck

Brainfuck (มันใช้ชื่อนี้จริง ๆ นะ -_-‘) ได้รับการพัฒนาโดย Urban Muller ในปี 1993 โดยภาษานี้ถูกคิดค้นขึ้นมาเพื่อความสนุกสนานสำหรับ Programmer เท่านั้น

แค่ชื่อของมันก็พอจะเดาได้ว่า ภาษานี้คงจะยากมากในการทำความเข้าใจสำหรับ Programmer

โดยรวมแล้วภาษานี้ประกอบไปด้วย อักขระที่แตกต่างกันเพียงแค่ 8 ตัวในการนำ Code ไปใช้งาน ซึ่งก่อนหน้านี้ Compiler ที่ถูกพัฒนาโดย Muller ใช้เพียงแค่ 296 Bytes เท่านั้น

นี่คือ ตัวอย่าง Code เพื่อ Print คำว่า “Hello World!” ในภาษา Brainfuck

Hello World Brainfuck

และนี่ก็คือ ผลลัพธ์:

Brainfuck

by the author — code executed using tio.run

4. COW

COW ถูกพัฒนาขึ้นในปี 2003 โดย Sean Heber ถ้าคุณได้เห็น Code ของ “Hello World” หากจะว่าไปแล้วภาษา COW ก็คล้ายกับ Brainfuck ในเรื่องของระดับความยาก และคุณจะรู้ว่า สาเหตุที่ภาษานี้ถูกตั้งชื่อว่า “COW” ก็เพราะว่ามันมีแต่คำว่า “moo” เท่านั้น แต่ก็ใช้ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเพื่อสร้างความแตกต่างของแต่ละคำสั่ง

นี่คือ ตัวอย่าง Code เพื่อ Print คำว่า “Hello World!” ในภาษา COW

Hello World COW

และนี่ก็คือ ผลลัพธ์:

COW

by the author — code executed using tio.run

5. Whitespace

Whitespace ถูกพัฒนาขึ้นที่ University of Durham โดย Chris Morris และ Edwin Brady โดยภาษานี้ถูกเผยแพร่ในวัน “April Fools Day” ของปี 2003

โดยทั้งหมดของภาษานี้จะใช้แค่ Space, Tab และ Linefeed ในการเขียน Program ซึ่ง Whitespace Interpreter จะไม่สนใจอักขระที่เป็น Non-Whitespace และจะถือว่า มันเป็น Comment ของ Code

นี่คือ ตัวอย่าง Code เพื่อ Print คำว่า “Hello World!” ในภาษา Whitespace

โดยใน Code ด้านล่างนี้ จะเห็นว่า แต่ละอักขระ Space, Tab หรือ Linefeed จะถูกนำหน้าด้วย Comment “S”, “T” หรือ “L” ตามลำดับ

Hello World Whitespace

และนี่ก็คือ ผลลัพธ์:

Whitespace

by the author — code executed using tio.run

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source:  https://levelup.gitconnected.com/

en