ภาษาสำหรับ Programmer นั้นมีมากมายหลากหลายให้ Programmer แต่ละคนเลือกใช้สำหรับแต่ละโปรเจค ตามความสามารถและความถนัดของตัวเอง ไม่ว่าจะเป็นด้านการเขียน App หรือการ Development ด้านเว็บไซต์ Ruby ก็เป็นอีกภาษาหนึ่งที่มีความสามารถและมีพลังมากเพราะสามารถเขียนเป็น App ก็ได้แล้วยังสามารถนำมา Develop สำหรับ Web developer ได้อีกด้วย โอ้แม้เจ้า อะไรจะขนาดนั้นมันดีขนาอนั้งเลยหรอ ???
โดยส่วนตัวผมเองนั้น เคยผ่าน Java มาบ้างสมัยเรียน ปี 2 ก็แค่นั้นไม่ได้ขยายผลต่ออีกเลย แต่ก็ต้องขอบคุณ Java ไม่น้อยทีเดียวที่ทำให้ผมได้รู้จักกับการเขียนโปรแกรมแบบ OOP ซึ่งทำให้ผมสามารถเริ่มต้นกับภาษาอื่นๆ ได้ไม่ยากเย็นนัก ต่อมาก็ได้จับ PHP จริงๆ จังๆ เพราะต้องทำโปรเจคจบ ทำให้เริ่มต้นได้ไม่ยากเย็นนักเพราะมีพื้น OOP มาแล้ว
เกริ่นนำมาซะยืดยาว กว่าจะหาทางเข้าเรื่องได้ ที่พูดมายืดยามก็เพื่อจะบอกว่าตัวของ ภาษา Ruby นั้นจะมองทุกอย่างเป็น Object ทั้งหมดไม่ว่าจะเป็น String หรือ Integer จะมองเห็นเป็น Object หมดแล้วเราก็สามารถเล่นกับ Object พวกนี้ได้เลยเช่น
"codePONPON".class => String 123456789.class => Fixnum 1234567890.class => Bignum
เมื่อเรา .class ดูจะเห็นว่ามันอยู่ในคลาสอะไร หรืออยากรู้ว่าคลาสนี้ สืบทอดมาจากไหนก็สามารถใช้ .superclass ต่อๆ ไปได้อีกเช่น
123456789.class.superclass => Integer 123456789.class.superclass.superclass => Numeric 123456789.class.superclass.superclass.superclass => Object 123456789.class.superclass.superclass.superclass.superclass => nil
จะเห็นท้ายที่สุดแล้วก็จะเห็นว่าตัวเลขเหล่านี้ก็เป็น Object นั่นเอง ซึ่งก็เหมือนกันกับ String และตัวอื่นๆ ใน Ruby จะมองเป็น Object ทั้งหมด
แต่โดยตัวของ Ruby เองไม่สามารถที่จะนำไป Develop Website ได้ดังนั้นเมื่อมีพระเอกแล้ว ก็ต้องมีนางเอง ซึ่งก็คือ Rails framwork นั่นเอง
ซึ่ง Rails เป็นอะไรที่มหัศจรรย์มากๆ สำหรับผม ฮ่า ๆ ๆ นอกจากจะช่วยให้เราสามารถนำ Ruby มา Develop website แล้วยังช่วยในการจัดการกับฐานข้อมูลให้เราด้วย ทำให้ง่ายต่อการเขียน เพราะความตั้งใจใจหลักของคนที่สร้าง Ruby มาคือ ทำให้ Programmer สนุกไปกับการเขึยนโค้ด (อันนี้ต้องลองเองถึงรู้ อิอิอิ)
Rails framwork นั้นมีลักษณะเป็น MVC (Model-View-Controller architecture) แล้ว Ruby ยังใช้หลักการ DRY (Don’t Repeat Yourself) คืออะไรที่เรารู้แล้วก็ไม่ต้องไปทำซ้ำอีก เช่น การจดบรรทัด ภาษาส่วนมากจะจบด้วยเครื่องหมาย semicolons (;) เพื่อบอกว่าจบบรรทัดนี้ หรือจบคำสั่งนี้แล้วนะ แค่เราเคาะแป้น Enter เพื่อขึ้นบรรทัดใหม่ Rails ก็จะรู้เองว่าเราทำงานจบแล้วในคำสั้งนั้นๆ หรือการเรียกใช้งานเมธอด ก็ไม่ต้องมีวงเล็บเปิด ปิดก็ได้ เช่น update_database() สามารถเขียนเป็น update_database ได้เลย พร้อมกันนั้น Rails ก็สนับสนุนการทำงานแบบ CRUD (create-read-update-delete) ซึ่ง Browser ส่วนใหญ่จะรองรับแค่เมธอด GET, POST แต่ Rails นั้นยอมให้มี PUT, DELETE เข้ามาอีกเพื่อทำงานกับฐานข้อมูลโดย PUT ใช้เพื่อการอัพเดทฐานข้อมูลก็จะส่งเมธอด PUT แทนการใช้ POT ในแบบเดิม ใช้เมธอด DELETE ในการลบ Recode ในฐานข้อมูล เป็นต้น
ทำความรู้จักกับ Ruby on Rails (RoR) กันแล้วอย่าลืมติดตามต่อไปนะครับ เดี๋ยวจะเขียนวิธีการติดตั้ง การใช้งาน, การใช้ RoR กับ RVM แล้วจะรู้ว่าการเขียนเว็บสักเว็บที่มีการติดต่อฐานข้อมูล เราแทบไม่ได้ไปแตะคำสั่งในการ Query เลย แล้วมันจะรู้ได้ไงว่าต้องทำอะไรยังไง นั่นน่ะสิ อย่าลืมติดตามตอนต่อไปนะครับ




