Tech@Agoda#03: The Functions and The Machines – Functional Programming
หลังจากมืนๆไปกับการสอบเพื่อเข้าเรียนปริญญาโทที่จุฬาในตอนเช้า เมื่อสอบเสร็จมันมี Calendar แจ้งมาว่าผมมีสิทธิ์เข้าไปงาน Tech@Agoda เลยแวะเข้าไปฟังครับ แต่ผมเข้าฟังแค่เรื่องเดียวนะครับ เนื่องจากต้องมีภาระกิจในช่วงเย็นครับ สำหรับการเดินทาง ผมงงครับ เห็นในกำหนดการบอกว่าให้ไป Starbucks ขั้น 3 แต่มันมี 2 ที่ มีทั้งในตัว Central World กับอาคาร Office เลยเสียเวลาเดินวนไปครับ ฮ่าๆ เข้าเรื่องเลยดีกว่า The Functions and The Machines – Functional Programming (Speaker: Dave Ravitat) มุมมองของ Speaker Assembly is Higher !!! แล้วทำไมหละ อันนี้ต้องย้อนกลับไปถึงจุดเริ่มต้นของ Computer เลยทีเดียวครับ สำหรับแนวคิดของคอมพิวเตอร์ที่เราเรียนกันมา มันมาจาก Von Neumann machine – ต้นแบบของคอมพิวเตอร์ในยุคปัจจุบัน Turing machine – Universal Turing machine Finite state machine ถ้ามองจากมุมนี้ Finite state machine มาจนถึง Assembly ตัว Assembly เป็นภาษาขั้นสูงครับ เพราะ เราไม่ต้องเข้าใจ Machine Code ครับ สำหรับการเขียน Program ในรูปแบบนี้ Imperative Programming ครับ เขียนตามลำดับขั้นตอน หนึ่ง สอง สาม ไปเรื่อยๆ แล้วเราต้องคิดเหมือนเครื่องจักร หรือ ป่าว ? คำตอบ คือ ไม่ครับ หากมองลงไปที่แก่น มันมีวิชาหนึ่งในสาย Computer Science คือ Theory of computation มันมี Models หลายอันครับ ที่เรียนกันมาจะเป็นพวก Finite state machine…