ปรัชญา ของ ภาษารูบี

ประเด็นหลักในการออกแบบภาษารูบีของ Matz คือการทำให้โปรแกรมเมอร์มีความสุขโดยการลดงานที่ไม่ต้องใช้ทักษะออกไป โดยเป็นไปตามหลักการของการออกแบบส่วนต่อประสานกับผู้ใช้ที่ดี Matz เน้นว่าการออกแบบระบบควรให้ความสำคัญกับความจำเป็นของมนุษย์มากกว่าความจำเป็นของเครื่องคอมพิวเตอร์

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

กล่าวกันว่าภาษารูบีทำตามหลักการทำให้ประหลาดใจน้อยที่สุด (principle of least surprise; POLS) ซึ่งหมายความว่าภาษาปกติแล้วควรมีลักษณะที่สอดคล้องกับสัญชาตญาณหรือเป็นไปตามสมมุติฐานที่โปรแกรมเมอร์ได้คาดไว้ วลีนี้ไม่ได้มีที่มาจาก Matz แต่พูดกันทั่วไป วิถีทางของภาษารูบีอาจจะใกล้เคียงกับวลีว่า "การทำให้ Matz ประหลาดใจน้อยที่สุด" อย่างไรก็ตามโปรแกรมเมอร์หลายคนพบว่าการทำให้ Matz ประหลาดใจน้อยที่สุดก็ใกล้เคียงกับตัวแบบของจิตใจของพวกเขาด้วย

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