Functional Programming คืออะไร ?
ฝัง
- เผยแพร่เมื่อ 30 มิ.ย. 2024
- ☕️ สนับสนุนช่องเราด้วยการสมัครสมาชิกช่องทางนี้ได้เลย
/ @mikelopster
ฟังไมค์สัปดาห์นี้ เราจะมาทำความรู้จักกับ Functional Programming กันครับว่ามันคืออะไร การมอง Program แบบ Functional Programming นั้นควรเป็นแบบไหน และมีมุมมองอะไรที่แตกต่างกับการเขียนโปรแกรมทั่วๆไป หรือ การเขียนโปรแกรมเชิงวัตถุอย่าง OOP บ้าง มาเรียนรู้กันในฟังไมค์วันนี้กันครับ 😁
โดยในหัวข้อนี้ เราจะพูดถึง 3 เรื่องใหญ่ๆคือ
1. Functional programming คืออะไร มีที่มาจากอะไร
2. มุมมองที่แตกต่างกันระหว่าง Functional Programming และ OOP
3. ดูตัวอย่างการเขียนโปรแกรมแบบ Functional Programming ผ่านภาษา Javascript กัน
สำหรับใครที่กำลังศึกษาหรือมีความเชี่ยวชาญด้าน Functional Programming สามารถเสริมเพิ่มเติมกันได้เลยนะครับ ตัวผมเองก็กำลังศึกษาอย่างเจ้มจ้นอยู่เหมือนกันครับ 😆
ใครสนใจดู code ตัวอย่างเพิ่มเติม สามารถอ่านเป็นฉบับบทความได้เช่นกันนะครับ
mikelopster.dev/posts/functio...
หัวข้อ
00:00 แนะนำหัวข้อ
01:07 Functional Programming (FP) คืออะไร ?
07:22 FP แตกต่างกับ OOP อย่างไร ?
14:35 รู้จัก concept พื้นฐานของ FP ผ่าน Javascript
15:32 1. Pure function
19:31 2. Declarative style
22:15 3. High Order Functions (HOCs)
27:58 เทคนิคเพิ่มเติมของ FP (Composition, Curry, Partial)
28:17 4. Composition
30:32 5. Currying
32:44 6. Partial
35:15 โจทย์เปรียบเทียบระหว่าง OOP และ FP
40:23 สรุปทั้งหมด
ใครมีข้อสงสัยเพิ่มเติม มาพูดคุยแลกเปลี่ยนความรู้กันได้ที่
Facebook page: / mikelopster.dev
Website: mikelopster.dev
แปะพิกัดของที่ผมใช้
shope.ee/8A54c8cfkf ของที่ตั้งอยู่ด้านหลัง
shope.ee/6fI75UuLEM osmo pocket 3
shope.ee/4VDcVixCW9 ไมค์ shure
shope.ee/6pbXI6d5xG กล้องวงจรปิด
Enjoy ครับ 😘 - วิทยาศาสตร์และเทคโนโลยี
(ขอเสริมนิด) จุดชี้ขาดอันนึงก็คือ "การเขียนข้อมูล" ระหว่างประมวลผลครับ
ถ้าเป็น Imperative Programming หรือ OOP จะอาศัยการ Mutate (state) โดยจะเป็นการคำนวน แล้วเขียนข้อมูลทับตัวแปรเดิมไปเรื่อยๆ จนกระทั่งได้ผลลัพท์สุดท้าย
ส่วน Functional Programming (FP) จะอาศัยการ Express โดยจะเป็นการคำนวณ แล้วส่งต่อผลลัพท์ไปยังฟังก์ชี่นอื่นไปเรื่อยๆ แล้วจัดเก็บผลลัพท์สุดท้ายไว้ที่ตัวแปรใหม่
FP เปรียบเสมือนการทดเลขบนกระดาษทด คือเราจะไม่มาไล่ลบอันเดิมแล้วเขียนทับ แต่เราเขียนทดต่อลงมาเรื่อยๆจนกระทั่งได้คำตอบสุดท้าย
ขอบคุณมากครับ ขยี้จุดเด็ดเลย 🙏
สุดยอดเลยครับ
เผื่ออนาคต เพิ่มเนื้อหาเกี่ยวกับ Tools ใน FP เช่น Monad, Pipe, etc etc
เพื่อนๆจะได้เห็นภาพแบบ practical มากขึ้นครับ
อันนี้เดี๋ยวกลับมาแน่นอนครับ หัวข้อเหล่านั้น นวดทั้งทีต้องเน้นๆหน่อย 😂
จัดไปครับผม รอๆๆๆๆ@@mikelopster
ขอบคุณค่ะ อธิบายได้ดีเลย รอคลิปต่อไปนะคะ 😊
👍👍👏👏 ขอบคุณมากคร้าบบสำหรับอาหารสมองตอนเช้าที่ดีมากๆ
กำลังคิดถึงคุณไมค์ มาแรปให้ฟังครับ😊
Very informative video...
I would share this video to my students.
รออยุ่พอดี ขอบคุณค่า❤
ช่องพี่โตไวมากอ่ะ5555 ผมเชียร์เลยครับช่องนี้ ผมโหลดคลิปพี่ไปฟังระหว่างเดินทางไปทำงานคือดีมาก เป็นคนที่แร็ปแต่ยังฟังรู้เรื่อง ผมไม่รู้ว่าพี่ซ้อมหรือเตรียมเอกสารนานไหมในแต่ละคลิป แต่ขอชมเลยครับว่าเนื้อหาดีมาก ขอให้ช่องนี้ไปถึงนักเรียนหรือวัยทำงานใหม่ ๆ ทุกคนนะครับ
ขอบคุณมากๆนะครับ ทำการบ้านพอสมควรครับในแต่ละคลิป อยากให้ข้อมูลออกมาครบถ้วนเท่าที่จะทำได้เหมือนกันครับ (และเท่าที่ความรู้ตัวเองมีด้วยครับ 😅)
กรี๊ดอีกแย้ววว🎉🎉🎉
ขอบคุณครับ❤
ขอบคุณครับ
ขอบคุณครับพี่ไมค์ ไม่ได้จบสายตรงมาฟังแล้วเคลีย์เลยครับ
ดีใจ มาเป็น dev กันครับ 😆
กำลังเรียนอยู่เลยครับ😁❤❤❤
ขอบคุณสำหรับการสนับสนุนมากๆนะครับ 🙏😆
ขอบคุณมากครับ
ขอ category theory ใน functional programming หน่อยครับ
ชอบเเนวนี้ครับเจอคำศัพท์ยากไป ชอบงงชอบเเนวอธิบาย😂มือใหม่🙏🙏
เจอศัพท์ยาก = ถือโอกาสได้ฝึกเพิ่มครับ 😂
รอฟังคลิป dynamic programming เลยครับ
ถ้า dynamic programming ของช่องผม แนะนำดูคลิปนี้ก่อนได้น้า
th-cam.com/video/A-kR-gIJxuw/w-d-xo.html
เรื่อง algorithm and data structure เดี๋ยวมาแบบจัดเต็มแน่นอนครับ 😆
Reactive programming ต่อครับ😅😅😅
อันเก่ายังดูไม่จบเลยครับบบบบบบบบบ55555
ไหนๆแล้ว Generic ต่อเลย
ผมว่า....รู้เรื่องกว่าสมัยเรียนตอนมหาลัยขึ้นเยอะเลย 🤣
ใครพอมีหนังสือ functional ภาษาไทยแนะนำไหมครับหรืออังกฤษก็แนะนำได้นะครับพอดีผมอยากศึกษาเเบบจริงจังนะครับ
เพิ่มความจริงจังอีกครับ
@@cctv45678 ขอบคุณครับจริงๆตอนนี้ก็เรียนเรื่องนี้พอสมควรครับแต่รู้สึกอยากมีหนังสือดีๆสักเล่มไว้เรียนหลังเลิกงานครับเพราะรู้สึกโค้ดตัวเองที่ใช้ตอนนี้ยังไม่สุดครับเลยอยากรู้ลึก
ผมก็ไม่รู้จักหนังสือ functional ของ TH เหมือนกัน แต่ถ้า EN แบบอ่านไม่ยาก แนะนำของเจ้านี้นะครับ
www.amazon.com/Learning-Functional-Programming-Complexity-Functionally/dp/1098111753
ยอดเยี่ยมเช่นเคย