ภาพประกอบ : intro to ruby

ruby language ภาษาที่คนทำเว็บควรรู้จัก

Ruby a best programmer language เพื่อนที่ดีที่สุดของโปรแกรมเมอร์ที่เราควรรู้จัก นับว่าเป็นคำยอตัวเองที่น่าสนใจเป็นอย่างยิ่งของภาษาโปรแกรมมิ่งจากแดนอาทิตย์อุทัย ที่อายุอานามก็ไม่ใช่น้อยๆแบบนี้ ทำไมภาษานี้ถึงเป็นภาษาที่คนทำเว็บควรทำความรู้จักเรามาลองดูกันนะครับ

ภาพประกอบ : intro to ruby

ภาพประกอบ : intro to ruby

Intro to ruby language

ภาษา ruby ถูกพัฒนาขึ้นมาโดยนาย  Yukihiro “Matz” Matsumoto โปรแกรมเมอร์ชาวญี่ปุ่นผู้ที่ชื่นชอบการเขียนโปรแกรมมาตั้งแต่เด็ก และเมื่อได้พัฒนาภาษา “ทับทิม” ขึ้นมาบนความสามารถเดิมๆของเหล่าภาษาดั้งเดิมทั้ง Perl, Small talk, Eiffel, Ada หรือ Lisp ซึ่งก็เป็นการหยิบยกเอาข้อดีและความสามารถเด่นๆมารวมกันเข้า เมื่อผสมกันอย่างลงตัวจนได้เคมีที่ออกจะเข้ากันแล้วจึงเกิดเป็นภาษา “ทับทิม” ขึ้นมา

ภาพประกอบ : Ruby Creator Matsumoto

ภาพประกอบ : Ruby Creator Matsumoto

รูบีเป็นภาษาที่ถูกพัฒนาขึ้นมาบนพื้นฐานของโอเพ่นซอร์สจึงทำให้เป็นภาษาที่ free และมีคนสนใจนำไปใช้งานเป็นจำนวนมากตั้งแต่รุ่นแรกที่ออกมาตอนปี 1995 และก็เติบใหญ่ขึ้นมาเรื่อยๆจนเป็นภาษาที่มีผู้นิยมใช้งานมากเป็นอันดับต้นๆ และเมื่อมี ruby on rail ที่เข้ามาในสถานะของ web framework เกิดขึ้นมาก็ยิ่งทำให้รูบีเป็นภาษาที่ได้รับความนิยมสูงมากขึ้นไปอีก แม้ในปัจจุบันกระแสของรูบีจะตกลงไปแต่ด้วย ความสามารถ ตำแหน่งงานที่เปิดรับ เครื่องไม้เครื่องมือ ความง่ายในการพัฒนา เป็นสิ่งที่ทำให้คนทำเว็บยังควรให้ความสำคัญอยู่อย่างเสียไม่ได้

เว็บไซต์ mashable ระบุไว้ว่ารูบียังเป็นภาษาที่น่าศึกษาเรียนรู้ในปี 2015 อยู่อ้างอิงจาก link นี้ครับ
http://mashable.com/2015/01/18/programming-languages-2015/

มารองดูความสามารถของภาษารูบีกันหน่อยครับว่าเป็นอย่างไรกันบ้าง

รูบีเป็นภาษาที่เรียนรู้ง่าย
การเริ่มต้นเรียนรู้ภาษารูบีไม่ใช่เรื่องยากมากนัก เป็นภาษาที่ตรงไปตรงมา ใช้ภาษาอังกฤษตรงๆในการเขียน ตัดส่วนที่ไม่จำเป็นออกไป และเหลือไว้แค่เพียงสิ่งจำเป็น หลักการของภาษานั้นเน้นการออกแบบระบบว่าควรให้ความสำคัญกับความจำเป็นของมนุษย์ มากกว่าความจำเป็นของเครื่องคอมพิวเตอร์ การเขียนงานของภาษานี้จึงดูเข้าใจง่าย ไม่ซับซ้อน รูปแบบการเขียนใกล้เคียงกับภาษา C แต่ก็ไม่ทิ้งห่างกับภาษา PHP มากนัก ซึ่งหากคนที่มีพื้นฐานการเขียนโปรแกรมมาบ้างแล้วน่าจะสามารถข้ามมาศึกษาภาษานี้ได้ไม่ยากนัก

รูบีเป็นภาษาที่มองทุกอย่างเป็น Object
แล้วมันดีอย่างไร การที่ภาษารูบีใช้วิธีมองทุกอย่างเป็นรูปแบบของวัตถุนั้นทำให้ง่ายต่อความเข้าใจ เพราะในทุกๆ object นั้นก็จะประกอบไปด้วย properties, action หรือองค์ประกอบและการกระทำของวัตถุนั้นๆ อย่าง PHP เองก็ทำงานด้วยรูปแบบของ OOP กันหมดแล้ว

รูบีมีความยืดหยุ่นคล่องตัว
สามารถเขียนได้หลากหลายรูปแบบเพื่อแสดงผลลัพธ์ที่เหมือนกัน ทำอะไรที่ยากๆหลายๆบรรทัดในภาษาอื่นๆจบง่ายๆในบรรทัดเดียว ทำงานได้กับทุก Operation System ทำงานได้ในความหลากหลายของทรัพยากรและสิ่งแวดล้อม

มองดูตรงนี้ก็เหมือนจะพื้นๆไปหน่อยสำหรับความสามารถของรูบี แต่เอาเข้าจริงหากลองได้เล่นกับพี่เค้าดูซักครั้งจะรู้ได้ทันทีเลยครับว่า เฮ้ย….นี่มันคือความแตกต่างชัดๆ

เราสามารถใช้รูบีทำอะไรได้บ้าง
รูบี้เป็นภาษาที่ถูกออกแบบออกมาให้ทำงานได้ทั้งในรูปแบบของ Stand alone เป็นหลักในตอนต้นซึ่งก็นับว่าทำได้ดีมากๆเพราะง่ายกว่าการใช้ภาษา C มาเขียน แต่หลังจากที่ Rail หรือ RoR ซึ่งเป็น Framework เพื่อการใช้ภาษารูบีพัฒนาเว็บไซต์ถูกปล่อยออกมาทุกอย่างก็เริ่มเปลี่ยนไป เพราะมันสร้างขึ้นมาเพื่อให้เราทำเว็บได้ง่ายขึ้น เร็วขึ้นอย่างน่าประหลาดใจ เว็บไซต์ที่ไม่ใหญ่มากนัก ต้องการการทำงานในรูปแบบของ web application เชื่อมต่อฐานข้อมูล ติดต่อเครื่องคอมพิวเตอร์ รูบีนับเป็นทางเลือกดีๆที่น่าสนใจไม่น้อยเลย

รูบีมีเครื่องมือช่วยทำงานหลากหลาย

Web Framework
เครื่องมือที่ทำให้ภาษารูบีพัฒนางานในรูปแบบของเว็บไซต์ได้อย่างง่ายดาย และไม่ได้มีแค่เพียง Rail เท่านั้น

  • Ruby On Rails framework ที่ทำงานบนพื้นฐานของ MVC และมีเครื่องมือที่ช่วย Generate CRUD ให้เราใช้ง่ายๆ
  • Sinatra framework ที่เป็นต้นกำเนิดของ Micro PHP Framework หลายๆตัว มีการทำงานแบบ Template Render
  • Padrino framework เป็น Full Stack ที่เหมาะกับการนำไปใช้พัฒนางานขนาดใหญ่ได้สบายๆ

ADMIN INTERFACE
เครื่องมือช่วยสร้างหน้า Back-end สำหรับทำงานกับฐานข้อมูล

  • ActiveAdmin A Ruby on Rails framework for creating elegant backends for website administration
  • RailsAdmin – A Rails engine that provides an easy-to-use interface for managing your data
  • Upmin Admin – A framework for creating powerful Ruby on Rails admin backends with minimal effort

PACKAGE MANAGEMENT
เครื่องมือช่วยติดตั้ง Tools เสริมความสามารถของรูบี

  • Bundler Manage your application’s gem dependencies with less pain
  • RubyGems  Community gem hosting service

CONTENT MANAGEMENT SYSTEM
ระบบที่พัฒนาขึ้นมาเพื่อสร้างเว็บไซต์แบบ wordpress, joomla, durpal

  • Alchemy CMS – A powerful, userfriendly and flexible Open Source Rails CMS.
  • LocomotiveCMS – A simple but powerful CMS based on Liquid templates and Mongodb database.
  • Publify – A self hosted Web publishing platform on Rails.
  • Storytime – Rails 4+ CMS and bloging engine, with a core focus on content.

ตัวอย่างผลงานที่สร้างด้วยรูบี

Basecamp เว็บไซต์ project management ชื่อดัง
Slideshare เว็บไซต์แบ่งปันและรวบรวมพรีเซนเทชั่นจำนวนมากที่ประกอบไปด้วยหลากหลายความรู้
Github เว็บไซต์ระบบจัดเก็บและบริหาร Code ชื่อดัง

ข้อจำกัดของการใช้งานรูบี
– การใช้รูบีทำเว็บไซต์นั้นยังติดเรื่องของ Hosting อยู่หากเป็น Shared host ทั่วไปคงไม่สามารถติดตั้งระบบได้สะดวก ควรใช้เป็น Server ที่เราควบคุมได้เองทั้งหมดมากกว่า
– แม้ความเร็วจะเร็วมากในหลายๆโอกาสแต่ก็ยังนับว่าเป็นรองภาษาอย่าง Python อยู่
– คนไทยยังใช้งานน้อย ไม่เยอะมากนัก แถมกระแสไม่แรงเท่าภาษาอื่นๆหรือ PHP

ตัวอย่าง code ของภาษารูบี
การประกาศค่าตัวแปรหรือการทำงานพื้นฐานของเค้าง่ายดายและหยืดหยุ่น ผมจะลองยกตัวอย่างการเขียน Code ในส่วนของ Object แบบพื้นฐานให้ดูนะครับ


class MyObjectSystem < BasicObject
DELEGATE = [:puts, :p]

def method_missing(name, *args, &block)
super unless DELEGATE.include? name
::Kernel.send(name, *args, &block)
end

def respond_to_missing?(name, include_private = false)
DELEGATE.include?(name) or super
end
end

ส่วนใครที่อ่านมาถึงตรงบรรทัดนี้แล้วนึกสนใจอยากจะลองเขียนเล่นดูบ้างก็ไป download ได้ที่ link ด้านล่างนี้เลยครับ

Ruby Programming Language

 

โฆษณา รับทำเว็บไซต์ SyncStudio

โฆษณา รับทำเว็บไซต์ SyncStudio