แนะนำภาษา Ruby

ภาษา Ruby คืออะไร

Ruby คือภาษาเขียนโปรแกรมแบบไดนามิกส์ที่สามารถปรับเปลี่ยนโครงสร้างของมันเองได้ในขณะที่โปรแกรมทำงาน (Run time) นอกจากนี้ มันยังเป็นภาษาสำหรับเขียนโปรแกรมเชิงวัติถุ (Object-oriented programming) อย่างเต็มรูปแบบ ภาษา Ruby นั้นเป็นภาษาสำหรับการเขียนโปรแกรมเพื่อวัตถุประสงค์ทั่วไป มันถูกออกแบบและพัฒนาขึ้นในช่วงกลางของช่วงปี 1990s โดย Yukihiro Matsumoto ในประเทศญี่ปุ่น

ตามที่ Matsumoto ได้บอกไว้ว่าภาษา Ruby นั้นได้รับอิทธิพลมาจากภาษา Perl Smalltalk Eiffel Ada และ Lisp มันเป็นภาษาที่สนับสนุนรูปแบบการเขียนโปรแกรมหลากหลายรูปแบบ เช่น การเขียนโปรแกรมแบบฟังก์ชัน (Functional) การเขียนโปรแกรมเชิงวัตถุ และโปรแกรมที่ทำงานตามคำสั่งที่เขียนขึ้น (Imperative) นอกจากนี้ ประเภทข้อมูลของภาษา Ruby ยังเป็นแบบไดนามิกส์ และมีระบบการจัดการหน่วยความจำแบบอัตโนมัติ

โลโก้ของ ภาษา Ruby

ประวัติของภาษา Ruby

ชื่อของภาษา "Ruby" นั้นมีต้นกำเนิดมาจากการแชทออนไลน์ระหว่าง Matsumoto และ Keiju Ishitsuka เมื่อวันที่ 24 กุมภาพันธ์ 1993 ก่อนที่จะมีการเขียนโค้ดขึ้นสำหรับภาษานี้ ซึ่งในตอนแรกแล้ว ได้มีสองชื่อที่ถูกเสนอมาคือ "Coral" และ "Ruby" แล้ว Matsumoto จึงเลือกชื่อที่สองและบอกว่าปัจจัยหลักในการเลือกชื่อ "Ruby" คือว่ามันเป็นเหมือนเพชรพลอยของเพื่อนร่วมงานคนหนึ่งของเขา

การเปิดตัวสู่สาธารณะครั้งแรกของ Ruby 0.95 นั้นได้ประกาศในกลุ่มข่าวในประเทศญี่ปุ่นเมื่อ 21 ธันวาคม 1995 หลังจากนั้น Ruby ได้เปิดตัวตามมาอีกสามเวอร์ชันภายในสองวัน การเปิดตัวนั้นใกล้เคียงกับการเปิดตัวของรายชื่อผู้รับจดหมาย Japanese-language ruby-list ซึ่งเป็นรายชื่อผู้รับจดหมายฉบับแรกสำหรับภาษาใหม่ ในปี 2000 ภาษา Ruby นั้นเป็นที่นิยมมากกว่าภาษา Python ในญี่ปุ่น ในเดือนสิงหาคม 2000 หนังสือภาษาอังกฤษเล่มแรกชื่อว่า Programming Ruby ได้ถูกตีพิมพ์และแจกจ่ายสู่สาธารณะ ทำให้เป็นการขยับขยายภาษา Ruby ไปยังกลุ่มคนที่พูดภาษาอังกฤษ ในต้นปี 2002 รายชื่อผู้รับจดหมาย English-language ruby-talk ได้รับข้อความตอบกลับมากกว่า Japanese-language ruby-list เป็นการแสดงให้เห็นว่าภาษา Ruby นั้นกำลังได้รับความนิยมเพิ่มมากขึ้นในทั่วโลก

Yukihiro Matsumoto ผู้สร้างภาษา Ruby

สำหรับภาษา Ruby ในปัจจุบันนั้นมี Stable release อยู่ที่เวอร์ชัน 2.5 ดังนั้น ในบทเรียนนี้ คุณจะได้เรียนเวอร์ชันนี้ซึ่งเป็นเวอร์ชันล่าสุดของภาษา เป็นเวอร์ชันที่ได้รับการสนับสนุนในปัจจุบันและมีคุณสมบัติต่างๆ มากมายที่ประกอบไปด้วย การเขียนโปรแกรมเชิงวัตถุ การสืบทอดคลาส mixins, iterators, closures, exception handling และ garbage collection

นอกจากนี้ Matsumoto ยังได้บอกอีกว่าภาษา Ruby นั้นได้ถูกออกแบบสำหรับความเป็นประโยชน์และเพื่อโปรแกรมเมอร์เขียนโปรแกรมได้อย่างสนุก ตามด้วยหลักการออกแบบที่ดี นอกจากนี้ที่ Google Tech Talk ในปี 2008 Matsumoto ได้กล่าวเพิ่มเติมว่า "ฉันหวังที่จะเห็นภาษา Ruby ช่วยโปรแกรมเมอร์ทุกคนในโลกนี้ให้เกิดผลผลิตมากที่สุด และสนุกกับการเขียนโปรแกรม และมีความสุข นี่เป็นจุดประสงค์หลักของภาษา Ruby" เข้าเน้นย้ำว่าการออกแบบของภาษานั้นเน้นสำหรับมนุษย์ ไม่ใช่สำหรับคอมพิวเตอร์

Ruby interpreter

Interpreter คือชุดโปรแกรมสำหรับแปลโค้ดให้สามารถประมวลผลโดยตรง โดยไม่ต้องคอมไพล์ให้เป็นภาษาเครื่องก่อน Ruby นั้นเป็นภาษาที่ใช้ Interpreter ในการทำงาน โดย Interpreter ในตอนเริ่มแรกที่ใช้ในภาษา Ruby นั้นคือ (Matz's Ruby Interpreter) หรือ MRI โดย Interpreter นี้ถูกพัฒนาขึ้นด้วยภาษา C และใช้ข้อกำหนดของ Ruby virtual machine ของมันเอง โดยมันถูกใช้เป็นมาตฐานและถูกนำออกในเวอร์ชัน 1.8 และเริ่มต้นจากเวอร์ชัน 1.9 และ 2.x เป็นต้นไป Ruby interpreter อันใหม่คือ YARV ("Yet Another Ruby VM") โดยการพัฒนาครั้งนี้ได้มาแทน virtual machine ที่ทำงานช้าในเวอร์ชันก่อนคือ MRI

การพัฒนาโปรแกรมด้วยภาษา Ruby

ภาษา Ruby นั้นเป็นภาษาสำหรับการเขียนโปรแกรมเพื่อวัตถุประสงค์ทั่วไป ดังนั้นมันสามารถใช้เขียนโปรแกรมได้หลากหลายรูปแบบ ยกตัวอย่างเช่น การเขียนแอพพลิเคชันแบบ Console การเขียนแอพพลิเคชันแบบ GUI หรือแม้กระทั่งการนำไปพัฒนาเว็บไซต์พร้อมกับเฟรมเวิร์คอย่าง Ruby On Rails โดยการใช้ร่วมกับเว็บเซิฟเวอร์อย่าง Mongrel ที่เขียนขึ้นโดยภาษา Ruby เอง แต่อย่างไรก็ตาม สำหรับในบทนี้ ที่คุณจะได้เรียนนั้นจะเป็นการเขียนแอพพลิเคชันแบบ Console ซึ่งจะเป็นการเรียนรู้โครงสร้างและเนื้อหาที่จำเป็นของภาษา Ruby ในพื้นฐานซึ่งมันเป็นสิ่งสำคัญสำหรับสำหรับการเริ่มต้นกับภาษาใหม่