วันนี้เราพึ่งได้เปิดตัว LightLex ซึ่งเป็น dictionary ภาษาไทยและภาษาอังกฤษ โดยนำคลังศัพท์มาจาก Lexitron ครับ

สาเหตุที่เราทำ LightLex เนื่องจากเราได้คุยกับ NECTEC ไว้ตั้งแต่เดือนพฤศจิกายนปีที่แล้ว ว่าเราจะนำความถนัดด้าน Human-Computer Interaction มาเสริมในงานวิจัยต่างๆ ของ NECTEC เพื่อให้มีประโยชน์ต่อสังคมในวงกว้างขึ้นครับ

LightLex ไม่ใช่แค่ dictionary นะครับ เราวางแผนทำสิ่งสนุกๆ ใน LightLex อีกเยอะครับ และจะได้ทำตามโอกาสอำนวยครับ ลำดับต่อไปที่เราจะทำคือ vocabulary visualization ซึ่งจะเป็นอย่างไรนั้น ขออุบไว้ก่อนครับ ที่จริงแล้วเรื่อง learning, cognition, visualization etc. ที่เกี่ยวกับ linguistics นี่เราสนใจมานานแล้วครับ คราวนี้ได้ทำก็สนุกดีครับ

เราเลือกที่จะใช้ภาษา Python และ Django Framework ในการพัฒนา LightLex ครับ

หลายท่านที่ติดตามการทำงานของเราคงสงสัย เพราะดูเหมือนเราใช้ Ruby มาตลอดในช่วงที่ผ่านมา

ที่จริงไม่ใช่ครับ ภาษา "ทางการ" ของเราที่ใช้อยู่ได้แก่ Ruby และ Python ครับ โดยเราเลือกใช้ตามความเหมาะสมของงานครับ

ในช่วงเดือนสองเดือนนี้ เรามีงานที่เราเห็นว่าควรใช้ Django เราเลยเอา Django มาทำ LightLex เสียก่อน เป็นการซ้อมมือครับ

จากประสบการณ์ในการใช้งาน เราพบว่า Django เหมาะกับการทำ websites ส่วน Ruby on Rails เหมาะกับการทำ web applications ครับ

Rails มี features and functions ที่จะช่วยในการพัฒนา applications ได้อย่างรวดเร็วครับ อีกทั้ง Ruby ก็มีความ flexible ในการเขียนที่ดีด้วย แต่ Rails ติดข้อจำกัดอยู่บ้างในด้านความเร็วและ configuration ที่ซับซ้อนขึ้นเรื่อยๆ (เพื่อแก้ปัญหาความเร็ว) ช่วงหลังๆ นี้ Rails เริ่ม "อ้วน" ครับ แต่ความอ้วนที่เพิ่มขึ้นเมื่อเทียบกับศักยภาพในการพัฒนาได้อย่างเร็วนั้น ก็เป็นสิ่งที่น่าสนใจอยู่ครับ

ยิ่งตอนช่วงหลังนี้ Sun เข้ามาสนับสนุน JRuby เต็มตัวขนาดนี้ แถมประกาศจะให้ Rails ที่ทำงานบน JRuby เร็วกว่า CRuby อีกด้วย เรียกได้ว่า Rails กลายเป็น enterprise web framework ไปเต็มตัวแล้วครับ

ส่วน Django โครงสร้างระบบ สะอาด สวย และ สร้าง "admin site" ให้อัตโนมัติเมื่อเราทำ models เสร็จ นอกจากนั้นเรายังสามารถสร้าง "multiple applications" อยู่ใน Django project เดียวได้ โดยแต่ละ "application" นั้นแยกจากกันได้ขาดสวยงามมาก นับว่าเป็น Framework ที่ออกแบบได้ practical ดีมากทีเดียวครับ

แต่จะเลือกใช้ตัวไหนสำหรับงานไหนนั้น ก็ต้องจำเพาะเข้าไปที่งานนั้นๆ อีกครับ จะฟันธงทีเดียวเลยไม่ได้ครับ

ตอนนี้เราเลือก Django สำหรับ LightLex และสำหรับงานชิ้นต่อไปของเรา ส่วน Rails นั้นเราก็ใช้สำหรับ enterprise applications ที่เราพัฒนาครับ