Ruby,一種簡單快捷的面向對象(面向對象程序設計)腳本語言,在20世紀90年代由日本人松本行弘(Yukihiro Matsumoto)開發,遵照GPL協議和Ruby License。它的靈感與特性來自於 Perl、Smalltalk、Eiffel、Ada以及 Lisp 語言。由 Ruby 語言自己還發展出了JRuby(Java平臺)、IronRuby(.NET平臺)等其餘平臺的 Ruby 語言替代品。Ruby的做者於1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發佈於fj(新聞組)。由於Perl發音與6月誕生石pearl(珍珠)相同,所以Ruby以7月誕生石ruby(紅寶石)命名。php
徹底面向對象
在Ruby語言中,任何東西都是對象,包括其餘語言中的基本數據類型,好比整數
變量沒有類型
Ruby的變量能夠保存任何類型的數據。
任何東西都有值
無論是數學或者邏輯表達式仍是一個語句,都會有值。
ruby語言很優雅,能夠作到不須要註釋就能夠讀懂。編程
語法簡單
普通的面向對象功能(類,方法調用等)
特殊的面向對象功能(Mixin,特殊方法等)
操做符重載
錯誤處理功能
迭代器和閉包
垃圾回收
動態載入(取決於系統架構)
可移植性高.不只能夠運行在多數UNIX上,還能夠運行在DOS,Windows,Mac,BeOS等平臺上
適合於快速開發,通常開發效率是JAVA的5倍vim
Ruby的變量有必定的規則,以$開頭的必定是全局變量,以@開頭的都是實例變量,而以@@開頭的是類變量。常數則以大寫字母開頭;這種方法,對文本編輯器的命令補全頗有幫助,如在vim下先鍵入$及開頭字母,再敲擊Ctrl+p,則可專門補全本文件以及關聯文件中的全局變量,perl與php亦有此優勢。ruby
已經定義的類能夠在運行時修改Ruby是動態語言,你能夠在程序中修改先前定義過的類。 也能夠在某個類的實例中定義該實例特有的方法,這叫作單例方法。閉包
減小編程時候的沒必要要的瑣碎時間,令編寫程序的人高興,是設計 Ruby 語言的 Matz 的一個首要的考慮;其次是良好的界面設計。他強調系統設計必須注重人性化,而不是一味從機器的角度設想。架構
「 人們特別是電腦工程師們,經常從機器着想。他們認爲:‘這樣作,機器就能運行的更快;這樣作,機器運行效率更高;這樣作,機器就會怎樣怎樣怎樣。’實際上,咱們須要從人的角度考慮問題,人們怎樣編寫程序或者怎樣使用機器上應用程序。咱們是主人,他們是僕人。 」less
遵循上述的理念,Ruby 語言一般很是直觀,按照編程人認爲它應該的方式運行。編程語言
Ruby 是徹底面向對象的:任何一點數據都是對象,包括在其餘語言中的基本類型(好比:整數,布爾邏輯值),每一個過程或函數都是方法。編輯器
下面是一個在標準輸出設備上輸出Hello World的簡單程序,這種程序一般做爲開始學習編程語言時的第一個程序:
1 #!/usr/bin/env ruby
2 puts "Hello, world!"函數
Ruby課程地址:阿里雲大學——開發者課堂