แนะนำภาษา Ruby

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

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

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

โลโก้ของ ภาษา 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 ในพื้นฐานซึ่งมันเป็นสิ่งสำคัญสำหรับสำหรับการเริ่มต้นกับภาษาใหม่