ทำไมเรียนภาษาที่สาม ยากกว่าเรียนภาษาคอมฯ กันนะ?!

Ryy
KBTG Life
Published in
1 min readMay 11, 2021

หลังจากที่ช่วงสถานการณ์โควิดกินเวลามาอย่างยาวนาน เป็นโอกาสให้ใครหลายคนนึกอยากพัฒนาสกิลตัวเอง “ภาษาที่สาม” อาจเป็นหนึ่งในหัวข้อที่คนส่วนใหญ่สนใจ เราเองก็เป็นหนึ่งในนั้นเช่นกันค่ะ

ทว่า… การเริ่มต้นใหม่กับอะไรใหม่ๆ ไม่เคยเป็นเรื่องง่ายเลย กุมขมับแบบภาพด้านล่างนี้ก็หลายที จนเกิดคำถามขึ้นมาในใจว่าสำหรับ Developer ที่ใช้ภาษาคอมพิวเตอร์อยู่หลายภาษา ทำไมภาษาที่สามมันยากจังเลยนะ จึงเป็นที่มาของบทความนี้ค่ะ

วันนี้เราอยากมาแบ่งปันความเหมือนและความต่างของภาษาที่สาม (ภาษามนุษย์) และภาษาคอมฯ ที่ได้มาจากการพยายามตอบคำถามด้านบนค่ะ

ภาษา (Language) ไม่ว่าจะภาษาคนหรือภาษาคอมฯ ก็คือภาษาค่ะ มีเป้าหมายเดียวกันคือเพื่อการสื่อสาร ไม่ว่าจะผ่านการพูด การเขียน สีหน้า หรือท่าทาง แต่ต่างกันตรงคนรับสารนี่เอง

ภาษามนุษย์ (Natural Languages) ใช้สื่อสารกับคนด้วยกันเอง โดยส่วนตัวมองว่าคนที่เราจะสื่อสารด้วย เขามีความรู้สึกนึกคิดจิตใจ และเราคงไม่อยากเป็นคนพูดอยู่ฝ่ายเดียวแน่นอน ซึ่งภาษาที่มนุษย์เราใช้กันทุกวันต้องมีความซับซ้อนและถูกปรับเปลี่ยนไปตามยุคสมัย รวมถึงหลักไวยากรณ์และความสุภาพที่เรามองว่าจำเป็น เพื่อให้สามารถสื่อสารได้ดีและเหมาะสมค่ะ

ภาษาคอมฯ (Programming Languages) ใช้สื่อสารกับคอมพิวเตอร์ที่อาจจะไม่ได้มีความรู้สึก จิตใจ แต่สามารถสื่อสารกันได้ อาจไม่ลึกซึ้งแต่ชัดเจนตรงตัวค่ะ แต่อย่าลืมว่าภาษาคอมฯ นี้ก็ถูกสร้างขึ้นโดยคนเหมือนกัน เพียงแต่มีข้อกำหนดและเงื่อนไขการสื่อสารที่ชัดเจนกว่า

นอกจากนี้ภาษายังถูกแบ่งโครงสร้างออกเป็น Syntax และ Morphology อีกที พอได้เห็นคำว่า Syntax ปุ๊บ เราก็พยักหน้าหงึกๆ เลยค่ะ Developer คุ้นเคยกับคำนี้กันแน่นอน

Syntax คือโครงสร้างของประโยคที่ถูกต้องและทำให้คนรับสารเข้าใจได้ ซึ่งรวมถึงหลักไวยากรณ์ในภาษามนุษย์ และ Programming Syntax Rules ในภาษาคอมฯ

ยกตัวอย่างเช่น ผลบวกของ 1 กับ 1 คือเท่าไหร่ สามารถเขียนออกมาเป็นประโยคแบบด้านล่างนี้ค่ะ

Human: What is the result of 1 + 1? 
Code (Go): fmt.Print(1+1)

อ่านมาถึงตรงนี้ เริ่มรู้สึกแล้วใช่ไหมคะ ? ว่าทั้งสองอย่างนี้ไม่ได้ต่างกันสักเท่าไหร่ แล้วก็ไม่น่าจะเรียนรู้ยากอย่างที่คิดไว้ตอนแรกเลย แต่อีกนิดนึงค่ะ

Morphology คือระบบหน่วยคำ เป็นหน่วยที่เล็กที่สุดของภาษาและการสร้างคำ เช่น เราสามารถแบ่งคำว่า ‘Cats’ ออกเป็น Cat และ s ที่แปลว่าแมวหลายตัวนั่นเอง

ซึ่งภาษาคอมฯ จะไม่มีในส่วนนี้ เนื่องจากมีข้อกำหนดและเงื่อนไขที่ชัดเจน ไม่สามารถแบ่งการใช้โค้ดตามข้อกำหนดนั้นออกเป็นส่วนๆ ได้ ถ้าทำแล้วจะไม่สามารถ Compile หรือสื่อสารกับคอมฯ ได้

สรุป ทั้งภาษามนุษย์และภาษาคอมฯ มีความเหมือนและความต่างกันอยู่ แน่นอนว่าภาษาคนมีความซับซ้อน หลากหลายและเปลี่ยนแปลงบ่อย ในขณะที่ภาษาคอมฯ ค่อนข้างมีกฎการใช้ที่ชัดเจนค่ะ ถึงจะมีความต่างที่เหมือนภาษาคอมฯ จะไม่ครอบคลุมภาษามนุษย์ แต่โอ๊ะ! หลังจากที่พยายามเปรียบเทียบมาทั้งหมดนี้ ทำให้เรานึกถึงสิ่งที่เรียกว่า…

Natural Language Processing (NLP) ศาสตร์ที่มีจุดมุ่งหมายให้คอมพิวเตอร์เข้าใจภาษามนุษย์เรา และปัจจุบันถูกนำไปใช้ในชีวิตประจำวัน จนเราอาจจะคุ้นชิน เช่น Translator, Voice Recognition, Grammatical Error Correction หรือตัวช่วยปรับไวยากรณ์นั่นเอง

สุดท้ายนี้ เราได้คำตอบที่พยายามหาแล้ว “ถ้าเราสามารถทำให้คอมพิวเตอร์เข้าใจภาษามนุษย์ได้ แล้วกับมนุษย์ด้วยกัน ก็คงไม่ยากจนเกินไปค่ะ :)”

สำหรับชาวเทคคนไหนที่สนใจเรื่องราวดีๆแบบนี้ หรืออยากเรียนรู้เกี่ยวกับ Product ใหม่ๆ ของ KBTG สามารถติดตามรายละเอียดกันได้ที่เว็บไซต์ www.kbtg.tech

--

--