261409 Functional Programming
Tentative syllabus: https://rebrand.ly/261401-syllabus
ผมเชื่อว่าหลายๆ ท่านในที่นี้เขียนโปรแกรมได้หลายภาษาครับ ผมกล้าฟันธงว่าอย่างน้อยๆ ก็ต้องเขียน Python (หรือ JavaScript) ได้บ้าง และเขียน Java (หรือ C#) ได้แน่ๆ แต่แต่ละภาษาที่ยกมามันก็มีปัญหาของมัน Python เขียนง่ายจริงแต่ถ้าโปรแกรมมี errors (แม้ว่ามันจะ error โง่ขนาดไหนก็ตาม) เราจะไม่มีทางรู้เลยจนกว่าเราจะรันโปรแกรม ส่วน Java นั้นมี compilation errors ที่ดักบั๊กโง่ๆ ให้เราก่อน แต่หลายๆ ครั้งเราก็เสียเวลาตกแต่งโปรแกรมด้วย types ให้มันมากเกินไป เพื่อแลกกับความปลอดภัยตอนเรารันมัน จะดีไหมหากเราได้ทั้งสองอย่างมา ไม่ต้องเขียน types ให้รกรุงรัง แต่ยังดักบั๊กโง่ๆ ก่อนรันได้อยู่
Functional programming เป็นวิธีหนึ่งที่นำข้อดีของทั้งสองค่ายมารวมกันครับ คอร์สนี้จะพูดถึงการเขียนโปรแกรมในลักษณะดังกล่าว เมื่อเราไม่ต้องเสียเวลาประดับ types ให้โปรแกรมเรา เราก็ใช้เวลาเขียนโค้ดของเราไปคิดอะไรอย่างอื่นที่มันสำคัญกับความถูกต้องของโปรแกรมได้เยอะขึ้น ในคอร์สนี้จะพูดถึงแนวคิดเหล่านี้ด้วย
รายละเอียดเพิ่มเติม ดูได้จากอัลบั้มภาพประกอบ และจากร่าง syllabus ตามลิงก์ข้างบนครับ (ยังเปลี่ยนแปลงได้ตลอดเวลา จนกว่าคอร์สจะจบ)