Ruby
posted on 18 Jul 2011 01:01 by n2onoozรู้จักกับภาษา Ruby
ประวัติความเป็นมา
ภาษา Ruby ถือกำเนิดเกิดมาจากนักพัฒนาโปรแกรมชาวญี่ปุ่นชื่อ Yukihiro Matsumoto(Matz) โดยนาย Matz ได้แจกจ่ายภาษา Ruby ให้เพื่อนๆใน internet ได้ลองเอาไปใช้เป็นครั้งแรกตั้งแต่ปี 1995 ซึ่งเป็นปีเดียวกับที่ James Gosling ศาสดาของชาว Java ประสบความสำเร็จกับการปล่อยภาษา Java ไปสร้างชื่อเสียงในยุธจักรจนโดงดังถึงวันนี้
ในระยะแรกก็ไม่ค่อยมีใครจะรู้จักภาษา Ruby กันมากนัก นาย Matz และพวกก็ไม่สนใจ นั่งปรับปรุงแก้ไขตัวแปลภาษากันไปให้ดีขึ้นเรื่อยๆ จนเวลาล่วงเลยมาถึงปี 2006 ก็มีจุดเปลี่ยนเกิดขึ้น เมื่อ Ruby On Rails(RoR) ซึ่งเป็น framework ที่ใช้สำหรับพัฒนา web application สามารถสร้างชื่อและได้รับความสนใจจาก web developer ทั่วโลก(ขอเล่าข้ามเรื่องของ RoR ไปก่อนนะครับ) ฮั่นแน่ พอจะเดาได้ใช่มั้ยครับว่าภาษาที่ต้องใช้ในการเขียน RoR คือภาษาอะไร? แน่นอนครับมันคือ ภาษา Ruby นั้นเอง
และนี่ถือเป็นเหตุผลหนึ่งที่เป็นตัวจุดประกายให้ภาษา Ruby เป็นที่รู้จักและกล่าวขานกันดังๆในหมู่ dev ทั่วโลก
อย่างไรก็ตามสาเหตุที่โปรแกรมเมอร์ให้ความสนใจในตัวภาษา Ruby นั้นไม่ได้เกี่ยวกับการนำมาใช้งานร่วมกับ RoR เท่าไหร่ แต่กลับเป็นเพราะ Ruby มีจุดเด่นอยู่หลายอย่างที่ดึงดูดเหล่าโปรแกรมเมอร์ให้นำภาษานี้ไปใช้ใน application หลายๆ รูปแบบ ไม่ว่าจะเป็น standalone application, scripting หรือ งานอื่นๆ
ซึ่งผมขอสรุปจุดเด่นที่ว่าไว้เป็นข้อๆดังนี้
1) เป็นเพราะไวยากรณ์ภาษา Ruby มันง่ายครับ อ่านเข้าใจง่าย สั้นกระชับ ได้ใจความ มีทางเลือกให้เขียนได้หลายแบบด้วย
2) Ruby เป็น Open source แน่นอนฟรีครับท่าน
3) Ruby มีระบบ library ที่เรียกว่า Ruby Gems library ครับ ตัวนี้ดีมากๆ ลักษณะคล้ายๆ MFC ของ C++ หรือ Java API แต่ติดตั้งง่ายและใช้งานง่ายกว่า และเนื่องจาก Ruby เป็น Open Source ดังนี้สาวก ruby จึงช่วยกันพัฒนาเจ้า Gems library ออกมาให้เราเลือกใช้กันมากมาย ถึงตอนนี้ Gems library ก็น่าจะครอบคลุมงานหลักๆเกือบทุกงานแล้ว แทบจะเรียกได้ว่า จะทำอะไรก็สั่ง require แล้วเอา Gems library เข้ามาใช้ได้เลย สำหรับคนที่เขียน Ruby บน Windows Ruby มี Gems library ที่ชื่อ Win32API ซึ่งสามารถเอาไว้เรียกใช้ Win32API ของ Windows ออกมาใช้ได้ด้วย ว้าวๆๆๆๆ
4) ตัวแปลภาษา Ruby มีให้ใช้อยู่เกือบทุก platform ครับไม่ว่าจะเป็น Windows Linux หรือ Mac OS
5) Ruby เป็นภาษาที่มีความเป็น OOP สูงมาก ทุกอย่างใน Ruby แทบจะเป็น Object ทั้งหมด แต่เวลาเอาไปใช้ก็ไม่ยุ่งยากอย่างที่คิด ไม่ต้องมาพะวงกับการเขียนโค้ดให้เป็นคลาส และข้อปลีกย้อยยุ่งยากอื่นๆโดยไม่จำเป็นเพราะหัวใจของภาษา Ruby เน้นงานเสร็จไว้ก่อน(Just get the job done in less time!)
ถึงแม้ว่าภาษา Ruby จะเป็นที่รู้จักอย่างกว้างขวางครั้งแรกในปี 2006 แต่จนถึงบัดนี้ กระแสความนิยมของภาษา Ruby ในต่างประเทศก็ไม่ได้ลดลงเลย กลับมีแนวโน้มการ download ภาษา Ruby ไปใช้งานเพิ่มมากขึ้นอย่างต่อเนื่อง ผมตั้งข้อสังเกตุไว้ข้อหนึ่งครับซึ่งน่าจะเป็นตัวสะท้อนความแรงของภาษา Ruby ได้ ก็คือจำนวนตำราภาษา Ruby ที่พิมพ์ออกขายในต่างประเทศ ซึ่งมีการเขียนออกมาขายกันมากมายหลายเล่ม เขียนกันอย่างต่อเนื่อง นับกันแล้วเยอะกว่าตำราของภาษาดาวรุ่งอย่าง Python ซะอีก
ตัวอย่างภาษา Ruby
|
5.times { puts "I love Ruby" } |
I love Ruby
I love Ruby
I love Ruby
I love Ruby
I love Ruby
ตัวอย่างคลาสิกของภาษา Ruby จะเห็นว่ามาถึงก็เขียนโค้ดบรรทัดเยวแล้วรันได้เลย ไม่ต้องมาสร้างคลาส main ก่อนเหมือนภาษา C# หรือ Java
|
1 |
class Student |
My name is SOMCHAI
My name is SOMPORN
ตัวอย่างนี้เป็นการเขียนคลาสอย่างง่าย
|
1 |
result = 4 + 5 |
9
9
45

