พลังของความเรียบง่าย

Putchong Uthayopas
2 min readJun 4, 2021

--

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

สมัยเริ่มเขียนโปรแกรมใหม่ๆ มีภาษาให้เล่นมากมายในยุคเริ่มต้นของ คอมพิวเตอร์ หัดเขียนภาษา basic, forth, logo, prolog, C, Pascal, fortran หลายภาษา แต่มาเอาดีที่ pascal จบที่ ภาษา C ตอนเขียนโปรแกรมใหม่ๆ นั้น คนส่วนใหญ่จะเขียนแบบง่ายๆ ไม่ซับซ้อน เพราะไม่ชำนาญ แต่ภาษา C นี่สนุกเพราะมันมีท่าที่เขียนได้ซับซ้อนมากมาก เช่น *p++ = *++q; ทำนองนี้ ช่วงหนึ่ง เราจะภูมิใจมาก ที่เขียนได้อย่างเทพ คือ สั้น ซับซ้อนอ่านไม่รู้เรื่อง แต่ พอชำนาญเข้า กลับพบว่า การเขียนซับซ้อนทำให้จำไม่ได้ บำรุงรักษายาก ตอนหลังจะเขียนโปรแกรมแบบเรียบง่ายเน้นให้เข้าใจอัลกอริทึมในโปรแกรมจากการอ่านเลย โดยไม่ต้องมี comment มากมาย ยิ่งช่วงไปวิจัยที่ Argonne National Laboratory ที่ สหรัฐ ได้ไปร่วมพัฒนาโปรแกรม MPI กับทีม MPICH พบว่าทีมเขาเขียนโปรแกรมกันแบบเรียบง่ายมาก และพยายามให้ อัลกอริทึม เห็นในโปรแกรมมากมากและชัดมาก เขาบอกผมว่า เขียนแบบนี้ compiler จะเข้าใจ โปรแกรมได้ดีกว่าทำให้ ช่วย optimize โปรเแกรมได้ดีกว่า และทำให้ทำงานเร็วกว่าพวกโปรแกรมซับซ้อน มีเพื่อนผู้ใหญ่อยู่ท่านหนึ่ง เคยบอกผมว่า “If it not simple enough, you are not thinking about it enough”. เพื่อนคนนี้ เป็นคนที่อัจฉริยะมาก และเป็นหนึ่งในไม่กี่คน ที่หาจุดแก้ไขในหนังสือ The Art of Computer Programming ของ Professor Donald Knuth ได้จนได้เช็ครางวัลมาด้วย https://en.wikipedia.org/wiki/Knuth_reward_check

พอทำงานมา ยิ่งพบว่าเวลาคิดจะทำอะไร ถ้ามันซับซ้อนมาก จะทำให้ทำงานยาก บำรุงรักษาลำบาก ดังนั้นส่วนหนึ่งของการแก้ปัญหา คือ การหาวิธีการ และ การลดความซับซ้อนของวิธีการ หรือ คิดมากมากให้ง่ายๆ เข้าไว้ พอทำเป้นนิสัยทำให้ชีวิตง่ายขึ้นมาก แต่วิธีนี้ ก็มีข้อเสียขำๆ คือ คนไม่เข้าใจจะคิดว่าเราไม่ค่อยฉลาด หรือมีไอเดียนัก นักเรียนและผมเจอปัญหาหลายครั้ง ว่าเรานั่งคิดอัลกอริทึมในการวิจัยหรือโปรเจคอย่างหนักมาก จนออกมาง่าย และทำงานเร็วมาก แต่ เด็กและผม โดนวิจารณ์ ว่า คิดมาไม่เห็นมีอะไรเลย ในสาขาผมด้าน HPC และ Parallel and Distributed system นี่ สมรรถนะเป็นเรื่องสำคัญ ถ้ามันซับซ้อนมันก็จะช้า เราเลยชอบวิธีการแบบรวบรัดเรียบง่ายกัน ทั้งวงการ ผมก็สอนเด็กไปแบบนั้นให้ “คิดมากมาก ให้ง่ายๆ เข้าไว้”

คนที่เป็นตำนานเรื่องนี้คือ Steve Jobs ที่เน้นเรื่อง ความเรียบง่ายหรือ Simplification เป็นหัวใจของการออกแบบ เพราะของที่เรียบง่ายจะทำงานดีและใช้งานง่ายมาก ในการออกแบบบริษัท Apple ต้องคิดมากมาย ศึกษามากมาย เพื่อทำให้ผลิตภัณฑ์ของเขานั้นเรียบง่ายมากมาก

สักสิบกว่าปีมาแล้ว เคยดูสารคดี เขาทำเรื่อง ปืนที่ใช้ในสงคราม และปืนที่สุดยอด คือ ปืน อาร์ก้า AK-47 ที่กองทัพรัสเซีย และ ผู้ก่อการร้ายทั่วโลกนิยมใช้กัน เพราะ มันมีชิ้นส่วนน้อย การบำรุงรักษาต่ำมาก ไม่เคยติดขัด ในสงครามเวียดนาม เวียดนามเหนือ โยนปืนทิ้งไว้ในพุ่มไม้ หลายวันหนีมา เอาปืนมาเขย่าดินออกก็ยิงได้เลย

สารคดีอุตส่าห์ไปถามคนออกแบบ คุณ Mikail Kalashnikov ว่ามีแนวคิดอย่างไร ท่านก็พูดสิ่งหนึ่งที่ผมจำได้เสมอว่า

“Things that work always simple, the things that simple always work”.

ครับ เอาไว้ใช้นะครับ

เพิ่มเติม

เรื่องคุณ Kalashnikov นี่รัสเซียเขาสร้างเป็นหนังออกมานะครับ ใครสนใจไปหาดูกันได้ https://www.imdb.com/title/tt11547520/ ชีวิตจริงเขา อ่านได้ที่ https://en.wikipedia.org/wiki/Mikhail_Kalashnikov https://coffeeordie.com/mikhail-kalashnikov/https://nypost.com/2013/12/23/ak-47-designer-mikhail-kalashnikov-dead-at-94/

--

--

Putchong Uthayopas
Putchong Uthayopas

Written by Putchong Uthayopas

อาจารย์ภุชงค์ สอนคอมพิวเตอร์อยู่ที่ภาควิชาวิศวกรรมคอมพิวเตอร์ ม.เกษตร ทำงานด้าน Supercomputer มาชั่วชีวิต นอกเวลางานชอบ ถ่ายรูป อ่านหนังสือ อุ้มแมว ดูหนังดีดี

Responses (1)