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 ครับ 😘
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 34

  • @mourikogoro9709
    @mourikogoro9709 5 หลายเดือนก่อน +10

    (ขอเสริมนิด) จุดชี้ขาดอันนึงก็คือ "การเขียนข้อมูล" ระหว่างประมวลผลครับ
    ถ้าเป็น Imperative Programming หรือ OOP จะอาศัยการ Mutate (state) โดยจะเป็นการคำนวน แล้วเขียนข้อมูลทับตัวแปรเดิมไปเรื่อยๆ จนกระทั่งได้ผลลัพท์สุดท้าย
    ส่วน Functional Programming (FP) จะอาศัยการ Express โดยจะเป็นการคำนวณ แล้วส่งต่อผลลัพท์ไปยังฟังก์ชี่นอื่นไปเรื่อยๆ แล้วจัดเก็บผลลัพท์สุดท้ายไว้ที่ตัวแปรใหม่
    FP เปรียบเสมือนการทดเลขบนกระดาษทด คือเราจะไม่มาไล่ลบอันเดิมแล้วเขียนทับ แต่เราเขียนทดต่อลงมาเรื่อยๆจนกระทั่งได้คำตอบสุดท้าย

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน +3

      ขอบคุณมากครับ ขยี้จุดเด็ดเลย 🙏

  • @CodeSook
    @CodeSook 5 หลายเดือนก่อน +5

    สุดยอดเลยครับ
    เผื่ออนาคต เพิ่มเนื้อหาเกี่ยวกับ Tools ใน FP เช่น Monad, Pipe, etc etc
    เพื่อนๆจะได้เห็นภาพแบบ practical มากขึ้นครับ

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน +1

      อันนี้เดี๋ยวกลับมาแน่นอนครับ หัวข้อเหล่านั้น นวดทั้งทีต้องเน้นๆหน่อย 😂

    • @CodeSook
      @CodeSook 5 หลายเดือนก่อน

      จัดไปครับผม รอๆๆๆๆ@@mikelopster

  • @jdoublek
    @jdoublek 5 หลายเดือนก่อน

    ขอบคุณค่ะ อธิบายได้ดีเลย รอคลิปต่อไปนะคะ 😊

  • @wiseskeshom4673
    @wiseskeshom4673 5 หลายเดือนก่อน

    👍👍👏👏 ขอบคุณ​มากคร้าบบ​สำหรับอาหารสมองตอนเช้าที่ดีมากๆ

  • @Silvel2box
    @Silvel2box 5 หลายเดือนก่อน

    กำลังคิดถึงคุณไมค์ มาแรปให้ฟังครับ😊

  • @edventuretech
    @edventuretech 5 หลายเดือนก่อน

    Very informative video...
    I would share this video to my students.

  • @Makeitheawen
    @Makeitheawen 5 หลายเดือนก่อน +1

    รออยุ่พอดี ขอบคุณค่า❤

  • @ampo287
    @ampo287 5 หลายเดือนก่อน +2

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

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน

      ขอบคุณมากๆนะครับ ทำการบ้านพอสมควรครับในแต่ละคลิป อยากให้ข้อมูลออกมาครบถ้วนเท่าที่จะทำได้เหมือนกันครับ (และเท่าที่ความรู้ตัวเองมีด้วยครับ 😅)

  • @kitti.crafts
    @kitti.crafts 5 หลายเดือนก่อน

    กรี๊ดอีกแย้ววว🎉🎉🎉

  • @Chaimantar
    @Chaimantar 5 หลายเดือนก่อน

    ขอบคุณครับ❤

  • @thejohn90
    @thejohn90 5 หลายเดือนก่อน

    ขอบคุณครับ

  • @suwatthamsena6313
    @suwatthamsena6313 4 หลายเดือนก่อน

    ขอบคุณครับพี่ไมค์ ไม่ได้จบสายตรงมาฟังแล้วเคลีย์เลยครับ

    • @mikelopster
      @mikelopster  4 หลายเดือนก่อน

      ดีใจ มาเป็น dev กันครับ 😆

  • @NuiGates2456
    @NuiGates2456 5 หลายเดือนก่อน

    กำลังเรียนอยู่เลยครับ😁❤❤❤

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน +1

      ขอบคุณสำหรับการสนับสนุนมากๆนะครับ 🙏😆

  • @panupongsanprasit330
    @panupongsanprasit330 5 หลายเดือนก่อน

    ขอบคุณมากครับ

  • @pooh4294
    @pooh4294 5 หลายเดือนก่อน

    ขอ category theory ใน functional programming หน่อยครับ

  • @ek9216
    @ek9216 5 หลายเดือนก่อน

    ชอบเเนวนี้ครับเจอคำศัพท์ยากไป ชอบงงชอบเเนวอธิบาย😂มือใหม่🙏🙏

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน +1

      เจอศัพท์ยาก = ถือโอกาสได้ฝึกเพิ่มครับ 😂

  • @tanongpiya-romrus7909
    @tanongpiya-romrus7909 5 หลายเดือนก่อน +1

    รอฟังคลิป dynamic programming เลยครับ

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน

      ถ้า dynamic programming ของช่องผม แนะนำดูคลิปนี้ก่อนได้น้า
      th-cam.com/video/A-kR-gIJxuw/w-d-xo.html
      เรื่อง algorithm and data structure เดี๋ยวมาแบบจัดเต็มแน่นอนครับ 😆

  • @phongsavunhkeonavong8474
    @phongsavunhkeonavong8474 5 หลายเดือนก่อน +1

    Reactive programming ต่อครับ😅😅😅

  • @thewaratkhonhan9012
    @thewaratkhonhan9012 5 หลายเดือนก่อน

    อันเก่ายังดูไม่จบเลยครับบบบบบบบบบ55555

  • @koomsupcreator585
    @koomsupcreator585 5 หลายเดือนก่อน

    ไหนๆแล้ว Generic ต่อเลย

  • @Erdnalf
    @Erdnalf 5 หลายเดือนก่อน +1

    ผมว่า....รู้เรื่องกว่าสมัยเรียนตอนมหาลัยขึ้นเยอะเลย 🤣

  • @playgroundstation3570
    @playgroundstation3570 5 หลายเดือนก่อน +1

    ใครพอมีหนังสือ functional ภาษาไทยแนะนำไหมครับหรืออังกฤษก็แนะนำได้นะครับพอดีผมอยากศึกษาเเบบจริงจังนะครับ

    • @cctv45678
      @cctv45678 5 หลายเดือนก่อน +1

      เพิ่มความจริงจังอีกครับ

    • @playgroundstation3570
      @playgroundstation3570 5 หลายเดือนก่อน

      @@cctv45678 ขอบคุณครับจริงๆตอนนี้ก็เรียนเรื่องนี้พอสมควรครับแต่รู้สึกอยากมีหนังสือดีๆสักเล่มไว้เรียนหลังเลิกงานครับเพราะรู้สึกโค้ดตัวเองที่ใช้ตอนนี้ยังไม่สุดครับเลยอยากรู้ลึก

    • @mikelopster
      @mikelopster  5 หลายเดือนก่อน +1

      ผมก็ไม่รู้จักหนังสือ functional ของ TH เหมือนกัน แต่ถ้า EN แบบอ่านไม่ยาก แนะนำของเจ้านี้นะครับ
      www.amazon.com/Learning-Functional-Programming-Complexity-Functionally/dp/1098111753

  • @SesmoiCaicedo
    @SesmoiCaicedo 5 หลายเดือนก่อน

    ยอดเยี่ยมเช่นเคย