Tags:
Node Thumbnail

ทีมงาน Facebook ออกมาเผยว่าระบบจัดการสแปมสำหรับเว็บไซต์ขนาดใหญ่ระดับ Facebook เขียนด้วยภาษาที่บางคนอาจเพิ่งเคยได้ยินชื่ออย่าง Haskell

Haskell เป็นภาษาที่ถูกออกแบบในปี 1990 จากฝั่งชุมชนนักวิชาการที่ต้องการสร้างภาษาโปรแกรมตัวอย่างขึ้นมาสักตัว แนวทางของ Haskell คือภาษาโปรแกรมที่เรียกว่า "Purely Functional" คือโปรแกรมหนึ่งตัวสร้างขึ้นจาก "ฟังก์ชัน" หลายตัวที่ทำงานเป็นอิสระจากกัน งานสามารถรันขนานกัน (concurrent) ได้หมด ไม่ต้องรอรันต่อเนื่องตามกันแบบภาษาโปรแกรมทั่วไป

Facebook ตัดสินใจเลือก Haskell ด้วยเหตุผลหลักคือระบบสแปมต้องทำงานเร็ว มีอัตราความหน่วง (latency) ต่ำเพื่อหยุดยั้งการโพสต์สแปมในแทบจะทันที แถมแนวทางพัฒนาระบบสแปมของ Facebook คือแยกตัวกฎ (rules) สำหรับแยกแยะสแปมออกมาจากตัวโปรแกรมหลัก เพื่อให้แก้ไขกฎได้ง่ายถ้าเจอสแปมรูปแบบใหม่ๆ ที่บุกเข้ามา

บริการออนไลน์ที่มีผู้ใช้จำนวนมากย่อมต้องการภาษาโปรแกรมที่ตอบสนองด้านนี้ นอกจาก Haskell แล้ว ภาษารุ่นใหม่อย่าง Google Go และ Mozilla Rust ก็แสดงให้เห็นความต้องการของโปรแกรมเมอร์เช่นกัน ถึงแม้ประสิทธิภาพของ Go/Rust อาจไม่ดีเท่า Haskell แต่หัดเขียนง่ายกว่ามาก

ที่มา - Wired

Get latest news from Blognone

Comments

By: PH41
ContributorAndroidUbuntuWindows
on 9 September 2015 - 20:08 #841397
PH41's picture

งาน ICFP คนใช้ Haskell แล้วชนะเยอะเหมือนกัน

By: menu_dot on 9 September 2015 - 20:28 #841407

ผมไม่เข้าใจเลย ตามไม่ทันอยากรู้เรื่องบ้าง

By: Aixasz
iPhoneWindows PhoneAndroidRed Hat
on 9 September 2015 - 21:04 #841422
Aixasz's picture

ต้องเลือก Haskell สิ เพราะคน Design ภาษา Haskell ทำงานอยู่ที่ FB นี่

By: tstcnr1u
iPhoneWindows PhoneAndroidUbuntu
on 9 September 2015 - 21:29 #841429

จำได้ว่าภาษานี้กว่าจะอ่านพอรู้เรื่องเล่นเป็นชั่วโมงๆอยู่

By: neizod
ContributorTraineeIn Love
on 10 September 2015 - 00:41 #841469 Reply to:841429
neizod's picture

เป็นสัปดาห์ครับ

By: HMage
AndroidWindows
on 10 September 2015 - 08:52 #841630 Reply to:841429

ลองเล่น tutorial ที่ haskell.org แล้วก็ "แอบ" ง่ายนะครับ

แต่ละ statement อ่านเป็นเสียงออกมาเป็นภาษาคนได้เลย

By: neizod
ContributorTraineeIn Love
on 12 September 2015 - 02:00 #842317 Reply to:841630
neizod's picture

ง่ายตอนรู้ว่าเอาอันนี้มาต่อกับอันนี้ได้อะไรครับ

ถ้าตั้งชื่อฟังก์ชัน / ตัวแปรดีๆ หน่อย ก็แทบอ่านได้เหมือนภาษาอังกฤษเลย

แต่มันจะยากตอน error กะ debug เนี่ยแหละ ;___;

By: takwing on 10 September 2015 - 00:12 #841465
takwing's picture

ที่เลือกใช้ภาษา Haskell คงจะเพราะความสามารถในการทำ pattern matching ของตัวภาษาเองมากกว่าที่เป็นเหตุผลหลัก