Skip to main content

Command Palette

Search for a command to run...

รีวิวคอร์ส Mathematics for Working Programmers

Updated
1 min read
รีวิวคอร์ส Mathematics for Working Programmers
Y

My name is Yothin Muangsommuk. I've been in many roles in Software Development team, Software Engineer, Tech Lead, and Technical Coach. My focus has always been improving a sustainability and maintainability through Technical Excellence and Software Craftsmanship. I also A Python enthusiasm, An occasional conference speaker (PyCon APAC, Code Mania, Barcamp Bangkok), and a community organizer (PyCon Thailand, PySomTum, GDG Cloud Bangkok).

Interests: Programming Language Design, Software Engineering, Distributed System

อยากจะพูดถึงคอร์ส Mathematics for Working Programmers ของอาจารย์เดฟ Dave Rawitat Pulam ที่เพิ่งรอดกลับมาหลังจาก 2 วันที่หนักหน่วงหน่อยครับ

"ทำไมต้อง Refactor ถ้าเรา Prefactoring ได้ตั้งแต่แรก"

นั่นคือประโยคที่ผมชอบที่สุดตลอดสองวันที่ผ่านมา ต้องบอกว่าก่อนไปเรียนคือ ผมไม่รู้เลยว่าจะไปเจอกับอะไรบ้าง แต่ก็มั่นใจระดับนึงว่าประสบการณ์เขียนโปรแกรมที่มีมันน่าจะพาเราเอาตัวรอดไปได้ระดับนึงละ พอผ่านไปไม่กี่สไลด์เท่านั้นแหละผมคิดผิด และผมเลยเพิ่งรู้ตัวเลยว่าผมมองโลกผ่านรูกุญแจมาตลอด อารมณ์เหมือน Dr.Strange เจอ Ancient One ครั้งแรกเลย

เบิกเนตรแรกเลยคือ ผมไม่เคยรู้จัก State machine, Turing Machine ฯลฯ อะไรเลย แต่มารู้ในคอร์สนี้แหละว่าสิ่งนี้มันกำหนดวิธีมองโลก (ผ่านรูกุญแจ) ของผมมาตลอดหลายๆ ปีเลย ได้รู้จักคณิตศาสตร์ในมุมที่มันสวยงาม ไม่ใช่แรงงาน เหมือนกลับไปอ่านเรื่องราวของพอล แอร์ดิชกับรามานุจัน อีกครั้ง แต่ในขณะที่ตื่นตากับการเบิกเนตรครั้งที่หนึ่งและรู้สึกว่าการรู้สิ่งนี้จะทำให้เราเข้าใจโลกมากขึ้น อาจารย์เดฟก็เขย่าโลกครั้งที่สองครับด้วย lambda calculus

เบิกเนตรครั้งที่สองพาผมย้อนกลับไปรู้จักกับความเรียบง่ายของ Function อีกครั้งที่เคยเรียนเมื่อเกิน 10 ปีที่แล้ววิธีคิด และค่อยๆ ไต่ระดับไปจนถึงจุดที่มัน "Equivalent" กันซึ่งคลาสนี้มันจะมีหลายจุดมากๆ ที่ระหว่างเรียนเราต้องสู้กับจิตใจตัวเองในการ unlearn ความเข้าใจที่เราเข้าใจมาตลอดหลายๆ ปี ซึ่งบางจุดก็ง่าย แต่บางจุดนั้นมันก็ยากจริงๆ ครับแต่ eventually เราจะเข้าใจมันเอง

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

เบิกเนตรตัวสุดท้ายที่อยากพูดถึงในคอร์สนี้คือ Category Theory, Monad, Monoid, Functor และคณะนั่นแหละครับ เป็นสิ่งที่ผมรู้จักแต่ชื่อและไม่กล้าจะทำความรู้จักมันมาหลายปี แต่หลังจากคอร์สนี้ถึงแม้ผมจะพูดได้ไม่เต็มปากเลยว่าผมเข้าใจมัน แต่พอผ่านจุดที่อาจารย์เดฟเล่าให้ฟังมาได้มันเป็นเหมือนเชื้อเพลิงให้ไปศึกษาเองต่อได้อีกเยอะเลยครับ (และแน่นนอนครับว่าโดนป้ายยาหนังสือมาหลายเล่มมากจากคอร์สนี้)

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

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

K

ไฟลุกครับ

More from this blog

ยิง request แบบไม่มีสะดุดด้วย emacs REST client

ช่วงปีใหม่ผมมีเวลาไปเรียนคอร์ส The Ultimate Go Series ของพี่ยอดซึ่งจากใจคนที่ดู Go อยู่ห่างๆ ผมบอกได้เลยว่าคอร์สนี้สอนได้ครบเครื่องมากในเวลาไม่กี่ชั่วโมง แต่นั่นไม่ใช่ประเด็นครับ ประเด็นคือตอนคอร์ส 2 ที่กำลังเรียนเรื่อง API พี่ยอดใช้ HTTP Client ที่ร...

Jan 9, 20223 min read102
ยิง request แบบไม่มีสะดุดด้วย emacs REST client

[Book Review] The Phoenix Project เพราะ IT Operation ก็ไม่ต่างกับ Production Plant

ผมรู้จัก The Phoenix Project มานานมากและมันวนเวียนมาเกือบจะได้อ่านหลายรอบ จนกระทั่งเมื่อประมาณกลางเดือนที่แล้ว ผมเพิ่งได้มีโอกาสจะหยิบมันขึ้นมาอ่าน และตั้งแต่ตอนนั้นผมแทบจะวางไม่ลงเลยตลอดระยะเวลาเกือบหนึ่งเดือนที่ผ่านมา และผมแนะนำให้กับทุกคนที่ทำงานใ...

Dec 20, 20214 min read456
[Book Review] The Phoenix Project เพราะ IT Operation ก็ไม่ต่างกับ Production Plant

Emacs diary EP2: สภาพแวดล้อม

ผมไม่รู้ว่าจะมีใครมาใช้ emacs แบบ เป็น text-editor ตัวแรกเลยมั้ย ผมไม่ใช่คนนึงแน่ๆ ซึ่งพอเราเปลี่ยนเครื่องมือ มันจะอารมณ์เดียวกับเราเปลี่ยนภาษา Programming ที่เราเขียนทุกวันเลย เพราะสิ่งแรกๆ ที่เราพยายามทำคือ "เราพยายามจะทำสิ่งเดียวกับที่เราเคยทำได้จ...

Dec 4, 20214 min read98
Emacs diary EP2: สภาพแวดล้อม

เรื่องประหลาดๆ ของการนับปีใน Java

ลืมหัวข้อ blog นี้ไปก่อนนะครับ แล้วลองพยายามเดาดูว่าโค้ด Java ข้างล่างนี้พยายามทำอะไร มันก็ดูตรงไปตรงมาใช่มั้ยครับ แล้วถ้ารันออกมาสมมติวันนี้วันที่ 1 ธันวาคม 2021 สิ่งที่ function นี้คืนกลับมาก็ เป็น 2020-12-01 ใช่มั้ยครับ ถ้าเราเขียน Unit test ไว้ ...

Dec 1, 20212 min read96
เรื่องประหลาดๆ ของการนับปีใน Java

Make Time | โลกมันวุ่นวาย แต่เรายังหาความสงบได้นะ

เคยมีความรู้สึกแบบนี้มั้ยครับ อารมณ์ประมาณว่า อยากจะเรียนคอร์สนั้นที่ซื้อไว้ตั้งนานแล้วให้จบ อยากจะอ่านหนังสือเล่มที่ซื้อเมื่อเดือนก่อน อยากจะทำ side project ที่คิดไว้ให้ออกมาเป็นรูปเป็นร่าง อยากจะมีทำให้ความสัมพันธ์ในชีวิตกับคนที่เราแคร์ดีขึ้น อะไรแ...

Nov 18, 20212 min read144
Make Time | โลกมันวุ่นวาย แต่เรายังหาความสงบได้นะ
P

Python by Cow

22 posts