既然要談Rails面試題,第一題就從基本的對於Ruby on Rails的理解開始吧!
請解釋Ruby on Rails 是什麼?
Explain what is Ruby on Rails?
Ruby 是一種物件導向非常徹底的程式語言,由日本人松本行弘(Matz)在1995年發明。設計初衷是作者想要一款物件導向且容易使用的程式語言,Perl與Python兩款並不符合他的需求,於是就決定自己做一個,Ruby就此誕生!
Matz與他的同事Keiju Ishitsuka討論中,Keiju以Perl(源自珍珠Pearl)聯想到了Ruby(紅寶石)的名稱,最後在Coral與Ruby中,Matz選擇Ruby做為程式語言的名字。
希望Ruby能幫助程式設計的人變得更有生產力、樂於寫程式並寫得開心。
Rails是一種以Ruby語言所寫的網站開發框架,全名為Ruby on Rails,作者David Heinemeier Hansson (DHH)是個丹麥人,除了程式設計師外,還是個賽車手、作家、企業家。於2004年,DHH從公司的專案管理工具BaseCamp中將Ruby on Rails獨立出來,2005年以開源的方式發布,漸漸的流行於程式圈。
DHH在訪談中提到,起先他想取個R開頭的名字致敬Ruby,於是想到了Rails,講說我在Rails上開發聽起來很有趣,有種走吧、非常快速(Just goes,it’s fast)的感覺,於是DHH開始搜尋 Rails.com/Rails.org 等相關網域,但都被取走了,後來終於找到RubyonRails.com這個名字,就此定案!
兩大原則分別是「不做重複的事」(Don’t Repeat Yourself)和「慣例優於設定」(Convention Over Configuration)。
若要簡單回答這題面試題,我會這麼說:
Ruby是一種物件導向的程式語言,
而Rails(或Ruby on Rails)是以Ruby這款程式語言所寫的網站開發框架。