ก่อนอื่นต้องขอกล่าวคำว่าสวัสดีครับ กับทุกคนที่เข้ามาอ่าน บทความต่างๆ ใน Blog นี้ เนื้อหาจะเป็นเรื่องเกี่ยวกับวิธีการเขียนโปรแกรมด้วยภาษา Scala ซึ่งกำลังจะเป็นภาษาใหม่ที่มีอนาคตมากทีเดียวเมื่อเทียบกับ Java หรือ C# (ลองค้นหา Scala developer salary ดูครับ)
ผมเริ่มใช้ Scala ประมาณสองปีที่แล้ว (2013) โดยที่มีพื้นฐานมาจาก C# (Microsoft) ในครั้งแรกเลย ภาษานี้ยากมาก ไม่ว่าตัวภาษาเอง หรือ เครื่องไม้เครื่องมือที่จะใช้มาเขียนโปรแกรม รวมถึงระบบปฎิบัติการด้วย (ต้องเขียนโปรแกรมบนเครื่อง Mac จากเดิมอยู่บน Microsoft Windows) แต่หลังจากทนมาได้ซัก 2 อาทิตย์ ก้อเริ่มคุ้นเคย และรู้สึกไม่ยากอีกต่อไป จากนั้นก้ออยู่ตัวครับ ผมคิดว่าเรื่องการปรับตัวเป็นสิ่งสำคัญ ทุกๆ ภาษาที่เราเริ่มใหม่มันมักจะยากเสมอ แต่ไม่ว่าอย่างไร คนอื่นเขาทำกันได้ แล้วทำไมเราจะทำไม่ได้บ้างล่ะ
เรื่องมันเกิดมาจากงานที่ผมทำ เป็นงานพวก Search engine ที่ต้องการอัตราการค้นหา (Throughput) ให้เร็วที่สุด (response time < 200 millisec) ประกอบกับปริมาณการค้นหาเยอะมาก ( > 200 requests /sec) ทำให้เราเริ่มมีปัญหากับ Microsoft Technology ดังนั้นจึงคิดกันว่าทิ้งไว้คงไม่ได้แล้วแล้วต้องหาอะไรมาทดแทน ตอนหลังๆ เราเพิ่มจำนวน Server แต่คำถามก้อคือเพิ่มเท่าไหร่ถึงจะพอ หลังจากนั้นก้อเริ่มไปค้นหาว่าใช้อะไรดีในที่สุดมาเจอกับ ภาษา Scala (ย่อมาจาก Scalability) หลายๆคนที่ใช้งานภาษานี้อยู่ต่างก้อพรรณาถึงข้อดีเลยตัดสินใจว่าภาษานี้แหละคือคำตอบ
หลังนั้นอีกหกเดือน Search engine ตัวใหม่ที่ทำมาจาก Scala ก้อเริ่มนำมาใช้งานจริง โดยคราวนี้ไปรันบนระบบปฎิบัติการ Linux ปรากฎว่า ใช้งานได้ดีกว่าที่คาดมากๆ response time < 100 millisec, througput > 800 requests/sec. หลังจากใช้งานไปหนึ่งเดือนผลตอบแทนทางธุระกิจครอบคลุมค่าใช้จ่ายในการพัฒนาทั้งหมด (เงินเดือนโปรแกรมเมอร์, ค่าคอมพิวเตอร์ Mac, ค่า Server ...)
เนื่องจากผมเห็นข้อดีของภาษานี้จึงอยากให้นักพัฒนาในประเทศได้รู้จักและนำมาใช้ แต่เป็นที่น่าเสียดาย ตำราหรือว่าข้อมูลต่างๆ ส่วนใหญ่แล้วจะเป็นภาษาอังกฤษ ผมจึงเขียน Blog นี้ขึ้นมา เพื่อที่จะถ่ายทอดในรูปแบบภาษาไทยให้ทุกคนได้อ่านกัน และเพื่อความง่ายบทความแต่ละเรื่องจะใช้เวลาอ่านไม่เกิน 5 นาที
ผมเริ่มใช้ Scala ประมาณสองปีที่แล้ว (2013) โดยที่มีพื้นฐานมาจาก C# (Microsoft) ในครั้งแรกเลย ภาษานี้ยากมาก ไม่ว่าตัวภาษาเอง หรือ เครื่องไม้เครื่องมือที่จะใช้มาเขียนโปรแกรม รวมถึงระบบปฎิบัติการด้วย (ต้องเขียนโปรแกรมบนเครื่อง Mac จากเดิมอยู่บน Microsoft Windows) แต่หลังจากทนมาได้ซัก 2 อาทิตย์ ก้อเริ่มคุ้นเคย และรู้สึกไม่ยากอีกต่อไป จากนั้นก้ออยู่ตัวครับ ผมคิดว่าเรื่องการปรับตัวเป็นสิ่งสำคัญ ทุกๆ ภาษาที่เราเริ่มใหม่มันมักจะยากเสมอ แต่ไม่ว่าอย่างไร คนอื่นเขาทำกันได้ แล้วทำไมเราจะทำไม่ได้บ้างล่ะ
เรื่องมันเกิดมาจากงานที่ผมทำ เป็นงานพวก Search engine ที่ต้องการอัตราการค้นหา (Throughput) ให้เร็วที่สุด (response time < 200 millisec) ประกอบกับปริมาณการค้นหาเยอะมาก ( > 200 requests /sec) ทำให้เราเริ่มมีปัญหากับ Microsoft Technology ดังนั้นจึงคิดกันว่าทิ้งไว้คงไม่ได้แล้วแล้วต้องหาอะไรมาทดแทน ตอนหลังๆ เราเพิ่มจำนวน Server แต่คำถามก้อคือเพิ่มเท่าไหร่ถึงจะพอ หลังจากนั้นก้อเริ่มไปค้นหาว่าใช้อะไรดีในที่สุดมาเจอกับ ภาษา Scala (ย่อมาจาก Scalability) หลายๆคนที่ใช้งานภาษานี้อยู่ต่างก้อพรรณาถึงข้อดีเลยตัดสินใจว่าภาษานี้แหละคือคำตอบ
หลังนั้นอีกหกเดือน Search engine ตัวใหม่ที่ทำมาจาก Scala ก้อเริ่มนำมาใช้งานจริง โดยคราวนี้ไปรันบนระบบปฎิบัติการ Linux ปรากฎว่า ใช้งานได้ดีกว่าที่คาดมากๆ response time < 100 millisec, througput > 800 requests/sec. หลังจากใช้งานไปหนึ่งเดือนผลตอบแทนทางธุระกิจครอบคลุมค่าใช้จ่ายในการพัฒนาทั้งหมด (เงินเดือนโปรแกรมเมอร์, ค่าคอมพิวเตอร์ Mac, ค่า Server ...)
เนื่องจากผมเห็นข้อดีของภาษานี้จึงอยากให้นักพัฒนาในประเทศได้รู้จักและนำมาใช้ แต่เป็นที่น่าเสียดาย ตำราหรือว่าข้อมูลต่างๆ ส่วนใหญ่แล้วจะเป็นภาษาอังกฤษ ผมจึงเขียน Blog นี้ขึ้นมา เพื่อที่จะถ่ายทอดในรูปแบบภาษาไทยให้ทุกคนได้อ่านกัน และเพื่อความง่ายบทความแต่ละเรื่องจะใช้เวลาอ่านไม่เกิน 5 นาที
ไม่มีความคิดเห็น:
แสดงความคิดเห็น