ตอนแรกว่า จะใช้ Python เพราะตอนนั้นมี Game Casual ของเกาหลีเขามาเสนอขายในไทย ใช้ Python เขียนทั้ง Client และ Server เลย แต่ก็มาสะดุดที่ Erlang อาจเพราะ.... ไม่มีคนใช้มั๊ง ไม่ขอบทำอะไรตามใคร แต่ชอบทำอะไรตามอำเภอใจ สุดท้าย น้องๆ ในทีม ที่ผมกำหนดให้เขียน Server ทั้งหมด 4 คน (รวมผมเป็น 5 คน) หลังจากเขียน Erlang กันไปได้พักใหญ่ ผลคือ ลาออกหนึ่งคน สองคนไม่น่าจะได้อะไรมาก อีกคนนึงเอา Erlang ไปทำ Project จบ ป.โท ลาดกระบังเป็นที่เรียบร้อย <<ตอนส่ง Project ตอบอาจารย์ว่า ใช้ Erlang ทำ Server (ทำเกม หมากฮอสออนไลน์) อาจาย์ตอบว่า ภาษาอะไร? มีภาษานี้ในโลกด้วยเหรอ?>>
Source code อยู่นี่ครับ https://github.com/nanusorn/SMO
พอแยกย้ายไม่ได้ทำ Game online ต่อ เคยคิดจะเอา Erlang มาทำอะไรเปรี้ยวๆ เล่น เหมือนกันเช่น เอา ETS, DETS Mnesia มาทำ memory database อ้าวทำเป็นเล่นนะครับ ตอนนั้น ยังไม่มี Couchbase เลย แต่ก็ต้องไปทำอย่างอื่นก่อน
พอปี 2011 กลับมาทำ Facebook game ก็คิดจะเอา Erlang มาทำ Server อีกเหมือนกัน แต่เวลากระชั้นมาก น้องในทีมเลยใช้ PHP แทน (เห้อ...)
ข่าวการใช้ Erlang แทบไม่มีให้เห็นในไทย แม้แต่ต่างประเทศ ผู้คนใน Community เองก็บ่นๆ กันว่า โดน Node.JS ดึง Developer ไปเยอะ แน่ล่ะ JavaScript เข้าใจง่ายกว่าเยอะนี่
จนปีนี้ ในที่สุด ความสุขสันต์ก็มีจริง มีโครงการที่สามารถใช้ Erlang ได้ และที่สำคัญ ผมลองเสนอ Erlang เข้าที่ประชุม ที่ประชุมเห็นด้วยกับการใช้ เสียด้วยสิ ทั้งๆ ที่บอกก่อนแล้วนะ Erlang คือ Prolog นะครับ เขาตอบกลับมาว่า "ผมชอบ Lisp คุณป้อลอง Clojure เลยไม๊" (แนวกว่าเราอีกอะ)
ผมกลับมาอยู่กับ Erlang ได้หลายเดือนแล้ว โครงการนี้ ใช้ Erlang ในแนวทางที่ผมไม่เคยใช้มาก่อน เช่น
- WebMachine สำหรับ HTTP protocol
- MongoDB สำหรับ เก็บ Transaction LOG
- XML parser (เรื่องใหญ่โฮ๊ก) Parse incoming transaction log
- OCI Oracle C Interface สำหรับ เก็บ data ของ Transaction
- Rebar Tools สุดเจ๋งสำหรับ จัดการทุกๆ ส่วนของ Erlang
ทำให้ได้เรียนรู้อะไรใหม่ๆ มากกว่าที่เคยเห็น เลยคิดจะเขียนเป็นบล็อคเก็บไว้เผื่อจะมีประโยชน์กับผู้ต้องการศึกษา Erlang
ผมจะทะยอย Blog ประสบการณ์ Erlang ให้มากที่สุดและบ่อยที่สุดต่อไป
Erlangian is Erlanging
สวัสดีครับพี่
ตอบลบสวัสดีครับ เจิมเลยนะครับ :D
ลบว้าว ^^
ตอบลบถึงผมจะไม่รู้เรื่อง แต่ผมก็ติดตามบล็อกพี่ครับ อะฮิๆ
ตอบลบกดไลค์ตรงไหน
ตอบลบมาตามอ่าน
ตอบลบยังไม่รู้เรื่องอะไรเลย 5 5 5
พี่ป้อเขียนบล๊อกแล้ว!
ตอบลบรอติดตามด้วยใจระทึกพลันนะครับ
แอร๊ยยยย ERL เออแรง เออเร่อ ~
ตอบลบแวะมาเจิม...
ตอบลบพูดซะอยากเขียน Erlang เลย แต่ความรู้เรื่อง functional มันเป็นศูนย์