Why Math is matters?

Thotsaphon Lertkaew
Lotus’s IT
Published in
4 min readOct 23, 2023
Photo by Markus Spiske on Unsplash

ก่อนอื่นบทความนี้จะเป็นบทความที่ไม่ได้พูดถึงเรื่องของ Technical ของ Coding หรือ Programming แต่อย่างใด แต่จะเป็นการจุดประกายความคิด มองทบทวนไปยังพื้นฐานของอะไรบางอย่าง เพื่อให้ทุกคนที่อ่านมีภาพหรือมุมมองที่เปลี่ยนไปต่อ Coding หรือ Programming ซึ่งจะนำไปสู่การพัฒนาตนเองในที่สุด

เข้าสู่เนื้อหากันดีกว่า ก่อนอื่น เชื่อว่าใครหลาย ๆ คนที่เข้ามาอ่านบทความนี้ จะต้องเป็น Programmer ไม่ก็มีความข้อเกี่ยวกับงานด้านนี้อยู่บ้างไม่มากก็น้อย และอาจจะเคยได้ยินประโยคที่ว่า “คณิตศาสตร์ สำคัญกับ Programming” อะไรประมาณนี้แน่นอน หลาย ๆ คนเชื่อว่ามีความสงสัยว่า นั่นสิ มันสำคัญยังไง ชั้นไม่ต้องเก่งคณิตก็เป็น Programmer ได้นะ

Why Math is matters?

แม้จะเป็นคำถามที่ชวนคิด หลายคนก็อาจจะให้คำตอบไปว่า “อ๋อ ก็นี่ไง คอมพิวเตอร์มันต้องคำนวณ ถ้าเราคำนวณ(คณิต)เป็น เราก็ได้เปรียบ เพราะเราจะคิดเหมือนคอมได้ เราจะได้สั่งมันทำแบบที่เราต้องการได้” หรือ “คอมพิวเตอร์ใช้ Logic ไง ในคณิตเองมี Logic ถ้าเราแม่นก็สามารถคิดและเขียนคำสั่งที่ดีและมีประสิทธิภาพได้” อะไรทำนองนี้ เช่นผมเป็นต้น ซึ่งเมื่อก่อนผมเองก็คิดแบบผิวเผินเช่นนี้เหมือนกัน ก่อนที่จะเริ่มเข้าใจอะไรหลาย ๆ มากขึ้นจากตอนนั้น และนั่นเป็นแรงบัลดานใจในการเขียนบทความเล่าเรื่องในครั้งนี้ขึ้นมาด้วย

ถ้าคุณคิดเช่นนี้ มันก็ไม่ได้ผิดซะทีเดียว แต่มันจะทำให้เราหลงทางซะมากกว่า

Photo by Kenny Eliason on Unsplash

แล้วมันผิดทางตรงไหน?

จากย่อหน้าที่แล้ว การที่มองหรือตอบแบบนั้น ผิดที่ตรงไหน? จุดเริ่มต้นของความคิดแบบนั้นคือ คณิตศาสตร์ = การคำนวณ ซึ่งจริง ๆ ไม่ใช่แบบนั้นเลย การคำนวณเป็น sub-set ในคณิตศาสตร์ แต่คณิตศาสตร์ไม่ใช่การคำนวณครับ (เผื่อใครงง ยกตัวอย่างจาก ตรรกะนี้ สัตว์กับหมา โดยที่หมาเป็น sub-set ของสัตว์ พูดง่าย ๆ ว่าหมาเป็นสัตว์ แต่สัตว์ไม่ใช่หมา) เพราะงั้นคำพูดที่บอกว่า “คณิตศาสตร์ สำคัญกับ Programming” มันควรจะเป็น “การคำนวณ สำคัญกับ Programming” สิ เพราะมีแค่การคำนวณเท่านั้นที่เราคิด พอถึงจุดนี้หลายคนก็จะเริ่มมองลึกลงไปว่า งั้นก็มีพวก การแทนค่า การโน่นนี่นั่น บลา ๆ สุดท้ายก็เป็นการยก sub-set ของคณิตศาสตร์มาเรื่อย ๆ แล้วทำไมเราไม่กลับไปตั้งคำถามละว่า What is Math?

Photo by Dan Cristian Pădureț on Unsplash

Math คืออะไร?

ลองตั้งต้นไปค้นหาข้อมูล จะได้คำตอบว่า “Math is a Universal Language.” มันคือ ภาษา!! หลายคนอาจจะงงหรือช็อคกับสิ่งที่มันเป็น

เชื่อว่าหลาย ๆ คนที่อ่านบทความนี้เกลียด Math แต่เชื่อผมเถอะ พวกคุณอาจจะไม่ได้เกลียด Math จริง ๆ คุณแค่เกลียดการคำนวณ เพราะมันมีสิ่งที่เรียกว่า เครื่องคิดเลข ที่ทำงานได้ดีกว่า แม่นยำกว่า และเร็วกว่าคุณ กลายเป็นว่าเราจะเรียน Math ไปทำไมกัน ไม่ชอบเลย ทำไมไม่เรียนอันที่มันได้ใช้

รู้หรือไม่!? จริง ๆ แล้วเราใช้ Math แทบตลอดเวลาโดยไม่รู้ตัวเลยด้วยซ้ำ เพราะ Math คือภาษาดังนั้นเมื่อเราคิดมันจะมีการใช้ภาษาไปอยู่แล้ว เช่น เราคิดว่า ตื่นนอนแล้วจะอาบน้ำ นี่ก็เป็น Math สามารถแปลงเป็นภาษาได้ ตื่นนอน -> อาบน้ำ

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

ขอเล่าเรื่องส่วนตัวนิดหน่อย คืออย่างที่บอกผมเคยเป็นเด็กน้อยที่เข้าใจว่า Math = การคำนวณมาแล้ว และเมื่อเห็นคำว่า “Math is a Universal Language.” ผมเข้าใจและอินกับมันได้ทันทีเลย เพราะว่าเมื่อสมัยยังเด็ก ผมเคยเรียนที่ประเทศจีน ฟัง พูด อ่าน เขียน จีนได้ และพูดกับฟังไทยได้อย่างเดียว เขียนไม่ได้อ่านไม่ออก จนช่วงนั้นเกิดโรคระบาดอย่าง SARS ทำให้ครอบครัวตัดสินใจกลับมาอยู่ที่ไทย ในตอนนั้นผมก็ต้องย้ายกลับมาเรียนภาษาไทยใหม่เลย (อ่าน กับ เขียน) ช่วงนั้นเป็นช่วงที่ลำบากกับชีวิตมาก เนื่องจากฐานของการเรียนการสอนใช้ภาษาไทย ซึ่งทำให้ผมแทบจะไม่สามารถทำวิชาไหนได้ดีเลย ยกเว้นวิชา Math เป็นวิชาที่ผมทำได้ดี และรู้สึกชอบตั้งแต่นั้น ที่ชอบไม่ใช่เพราะทำได้ดีนะ แต่ชอบเพราะรู้สึกว่า ตอนเรียนจีนมันเป็นยังไง พอย้ายกลับมาไทย มันก็เป็นแบบนั้น คนไทย จีน ไม่ได้ใช้ Math ต่างกันเลย ทำให้ผมรู้สึกบางอย่างในใจตลอดมา จนกระทั่งเจอประโยคที่ว่า “Math is a Universal Language.” มันทำให้สมองผมประกาย ภาพอดีตไหลเข้ามา อิน เข้าใจ และเห็นด้วยอย่างมาก

Photo by Hannah Wright on Unsplash

“Math is a Universal Language.”

Math คือภาษา แล้วมันสำคัญยังไงสำหรับ Programmer อย่างเรา? คำตอบนั้นง่ายมาก ๆ เลยคือ ในฐานะ Programmer แท้จริงแล้ว เราเป็นนักสื่อสารครับ เราสื่อสารกับคนในทีม ต่างทีม รวมไปถึงสื่อสารกับคอมพิวเตอร์ และ “ภาษาคือเครื่องมือในการสื่อสาร” ด้วยความที่ Math ไม่ขึ้นกับภาษาใดซะทีเดียว เช่นเมื่อเราเขียนภาพ Diagram ของ Architecture อะไรสักอย่าง หรือ Flowchart เราจะวาดเป็นภาพ(Math) มากกว่าที่เราจะเขียนบรรยายออกเป็นร้อยแก้วภาษาอังกฤษหรือไทยใช่ไหมครับ แปลว่าถ้าเราไม่ใช้ภาษานี้(Math) เราจะใช้ภาษาไหนในงานแบบนี้ได้ดีเท่านี้ละ? เพราะงั้น “Math is matters for Programmer” ไปโดยปริยาย และอันที่จริง มัน Matters for everyone.

ถ้าจะให้พูดก็คือ จริง ๆ แล้วเวลาเรา Programming นั่นคือการ “Do a Math” ไปโดยปริยายกันอยู่แล้ว มันเป็นสิ่งที่แยกกันไม่ออกพอ ๆ กับคำพูดที่ว่า ถ้าเราอยากมีชีวิต เราก็ต้องหายใจ ซึ่ง Math นั้นคือลมหายใจของ Programming นั่งเอง

และจากข้อมูลตรงนี้ ในมุมผมทำให้เราสามารถแยก Programmer ที่เก่งกับ Programmer ที่ไม่เก่งออกจากกันได้จากการสื่อสาร เพราะถ้าคุณสื่อสารไม่ได้คุณจะเขียน Code ให้คนในทีมอ่านรู้เรื่องได้อย่างไร ยกตัวอย่างจาก Code

x(1, 1)
add(1, 1)

จะเห็นว่าอันบนอ่านแล้วไม่รู้ว่าทำอะไร ส่วนอันล่างเรารู้ว่าจะเป็นการบวกกันของจำนวน

จากตรงนี้ บางคนจะเริ่มแย้งว่า “เขาอาจจะเทคนิคดีก็ได้นะ เราจะมองว่าเขาไม่เก่งเพราะคุยกับคนอื่นไม่รู้เรื่องได้ไง ไม่แฟร์เขากับเลยนะ” งั้นเราต้องมองย้อนกลับไปว่า Programmer คืออะไร ถ้า Math มันสำคัญจริง และเห็นตรงกันว่ามันคือการสื่อสาร งั้น Programmer จะต้องเป็นนักสื่อสาร และถ้าเป็นนักสื่อสารแปลว่า ถ้าดีหรือเก่ง ก็คือคนที่สื่อสารได้ดีและเก่งใช่ไหม ส่วนคนที่มีเทคนิคดีโน่นนี่นั่น บลา ๆ มันอยู่นอกเหนือจาก Scope ของนักสื่อสาร เขาอาจจะเป็น Technician ที่เก่ง แต่ก็ไม่ได้หมายความว่าจะเป็น Programmer ที่เก่งหรือดีได้ และข้อสังเกตุ เราจะรู้ได้ไงว่าเขาเก่งจริง ถ้าเราไม่สามารถเข้าใจโค้ดที่เขาพิมพ์ และสื่อสารกับเขารู้เรื่อง เราไม่เข้าใจวิธีการที่เขาใช้ด้วยซ้ำ เรามั่นใจได้ไงว่าโค้ดจะไม่มีบัค?

Math เป็นภาษาแต่ที่เรารู้จักการคำนวณมากกว่าสิ่งอื่นใดเพราะอิทธิพลของการเรียนการสอนของคณิตยังอยู่ในยุคที่ไม่มีเครื่องคิดเลขมานานแล้ว และยังไม่มีการเปลี่ยนแปลงเลยจนถึงทุกวันนี้ มันสมเหตุสมผลในสมัยก่อนว่าถ้า Math มันเป็นภาษาแล้วไม่สามารถคำนวณออกมาได้มันก็ไม่ค่อยมีประโยชน์ ลองนึกภาพตามนะครับ สมมติเราจะบอกว่า มีคน 1 คน ไปเจอกับเพื่อนอีก 1 คน ตอนนี้อยู่กันกี่คน เขียนเป็นสมการได้ 1 + 1 มันก็จะมีคำถามว่า แล้วไง T_T เพราะงั้นเราถึงต้องมีการคำนวณเข้ามาเพื่อให้สามารถออกเป็นผลลัพธ์ด้วยได้ ซึ่งต่างจากปัจจุบันที่เรามีเครื่องมือที่ทำได้เร็วกว่า แม่นยำกว่า และไม่เหนื่อยไม่ล้าอีก ทำให้เราสามารถคิดโดยปราศจากการคำนวณได้มากขึ้น ลองสังเกตุดูว่าเราต้องคำนวณเอาผลลัพธ์ในการเขียนโค้ดทุกวันนี้มากแค่ไหน? ส่วนใหญ่เราก็เขียนสมการแล้วกด Run รอผลลัพธ์มากขึ้นใช่ไหมครับ? แปลว่าสิ่งที่เราทำคือสื่อสารออกเป็นภาษาใดภาษานึงแล้วให้คอมพิวเตอร์ทำงาน

“สิ่งสำคัญนั่นคือการสื่อสาร”

หลาย ๆ ที่ หลาย ๆ คนจะมองว่าการสื่อสารนั้นเป็น Soft Skill ของ Programmer แต่ถ้าเราเข้าใจว่า Math คืออะไร อาจจะทำให้เรามองว่าแท้จริงแล้ว การสื่อสารนั้นเป็น Hard Skill ของ Programmer ทุกคนเลยด้วยซ้ำ เมื่อเรารู้ว่า Programmer ที่ดี ที่เก่งคืออะไร กำหนดและนิยามได้ มันทำให้สามารถพัฒนาตนเองให้ถูกทิศทางมากขึ้น ทำให้เราใกล้เป้าหมายของเราได้มากขึ้น

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

เอาละเดี๋ยวจะออกนอกเรื่องจาก Math เกินไป ตอนนี้สิ่งหนึ่งที่อยากให้ทุกคนที่อ่านมาถึงจุดนี้เข้าใจตรงกันว่า Math is a Universal Language และเมื่อมันเป็นภาษาสิ่งที่เราทำในฐานะ Programmer นั้นคือการสื่อสาร และทำให้เราเห็นภาพมากขึ้นว่า ถ้าอยากเป็น Programmer ที่ดี เราต้องสื่อสารได้ดี และนั้นคือสิ่งที่พวกเราต้องพัฒนาให้มากขึ้นเรื่อย ๆ

ข้อพึงระวังในเรื่องของการสื่อสารจากประสบการณ์

หลายคนเสียความมั่นใจว่าตัวเองเป็นคนสื่อสารไม่รู้เรื่อง เพราะเรื่องที่ตัวเองสื่อสารนั้นยากเกินความที่ผู้ฟังจะเข้าใจ กรณีนี้ยกตัวอย่างง่าย ๆ นะครับว่า สมมติเรามีนักสื่อสารที่พูดอธิบายเก่งมาก ๆ ระดับโลก ไปอธิบายเรื่องการต้มมาม่าซองตามวิธีการหลังซอง (จากที่ดูมาก็เหมือนจะดีเนาะ นักอธิบายเก่ง เรื่องที่จะเล่าก็ง่าย) ให้เด็กทารกวัย 1 สัปดาห์ฟัง คิดว่าเขาจะสามารถทำให้เด็กทารกคนนี้เข้าใจได้หรือไม่

เจอแบบนี้ทุกคนก็น่าจะพอรู้คำตอบว่า ไม่น่าจะมีทางที่เด็กคนนี้จะเข้าใจ ใช่ไหมครับ นั่นก็ถูก เพราะว่าเด็กคนนี้(ผู้ฟัง) มีพื้นฐานหรือความรู้ไม่เพียงพอที่จะเข้าใจเรื่องนี้ เพราะงั้นกรณีแบบนี้อาจจะไม่ใช่ความผิดของผู้เล่าว่าเป็นคนที่สื่อสารไม่ดีก็ได้ เพราะงั้นอยากให้ทุกคนคอยสังเกตุว่าตัวเองเป็นคนที่พูดไม่รู้เรื่องจริง ๆ หรือ กำลังเล่าเรื่องโดยไม่ได้ปรับพื้นฐานหรือพื้นหลังของผู้ฟัง เพราะมันมีผลต่อการแก้ปัญหาเป็นอย่างมาก เนื่องจากแต่ละกรณี แก้ไขปัญหาไม่เหมือนกัน

ถ้าผู้เล่า เล่าไม่รู้เรื่อง แก้ที่ตัวผู้เล่า แต่ถ้าผู้ฟังฟังไม่รู้เรื่องเพราะพื้นฐานไม่พอ แก้ที่ผู้ฟังครับ เพราะงั้นเราต้องพยายามหาให้เจอว่าปัญหาอยู่ที่อะไร และในบางครั้ง อาจจะต้องปรับทั้งผู้เล่าและผู้ฟังซึ่งเป็นปกติ

เพราะจากที่ผ่านมา ผมพบกับคนที่เล่าเรื่องเก่ง ๆ เสียความมั่นใจไปมากมายเพียงเพราะเล่ายากให้ผู้ฟังที่พื้นฐานไม่ดีพอฟัง และโดย Feedback ว่าเล่าไม่รู้เรื่องทั้งที่ในบางครั้ง อาจจะต้องปรับทั้งผู้เล่าและผู้ฟัง แต่ในการสื่อสารนั้นความรับเป็นชอบเป็นของผู้สื่อสารว่าควรจะสื่อสารให้ผู้ฟังเข้าใจ ดังนั้นไม่แปลกที่เรามักจะพูดถึงคนที่เล่าเรื่องว่า เล่าไม่ดีมากกว่าที่จะแก้ไขบางอย่างในมุมผู้ฟัง

สรุป

ทำไม Math ถึงสำคัญ เพราะ Math เป็น Universal Language แปลว่ามันคือภาษาที่ใช้ได้ครอบจักรวาลยังไงละ ไม่ว่าจะใช้เขียนภาพ สมการ หรืออะไรก็ตามที่ภาษาอื่น ๆ ทำได้ยาก หรือทำไม่ได้ ก็ใช้ Math แทนได้
มันอยู่กับเราตลอดเวลา เป็นเหมือนลมหายใจตราบที่เรายังมีชีวิต(ว่าไปนั่น แต่ก็จริงอย่างว่า) เพราะไม่ได้สำคัญกับเราแค่ในฐานะ Programmer แต่มันสำคัญกับเราในฐานะมนุษย์ที่เป็นสิ่งมีชีวิตที่คิดได้และเจ็บเป็นอีกด้วย(;P)

Photo by Kasper Rasmussen on Unsplash

ถึงแม้ว่าจะเป็นย่อหน้าสุดท้ายของบทความ แต่นี่เป็นเพียงจุดเริ่มต้นที่พูดถึง Math และความสำคัญในมุมที่คิดว่าน้อยคนที่จะเริ่มเห็น คิดว่าอาจจะทำให้มุมมองต่อ Math ของผู้อ่านเปลี่ยนไปบ้าง ไม่มากก็น้อย และหวังว่าทุกคนที่อ่านจะได้ประโยชน์จากบทความนี้ ไว้เจอกันในบมความต่อไปนะครับ ^_^

--

--