自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Matz訪談錄:我為什么要創(chuàng)造Ruby語言?

開發(fā) 開發(fā)工具
O'Reilly出版社在Ruby in a nutshell一書出版時對該書作者,同時也是Ruby創(chuàng)始人的松本行弘(Matz)進行了訪談,本文是訪談片段。

本文是Ruby in a nutshell一書出版之際,該書的作者,同時也是Ruby語言的創(chuàng)始人Matz介紹O'Reilly出版社訪談的對話內(nèi)容整理總結(jié)。

Yukihiro Matsumoto (松本行弘,網(wǎng)上被稱為 Matz)是 Ruby 的創(chuàng)始人,同時也是O'Reilly 最新出版的語言類書籍 “Ruby in a nutshell” 的作者。

Matz 是一位專業(yè)的程序員,他在日本的開源公司 netlab.jp 工作。他也是日本最為著名的開放源碼傳播者之一。他發(fā)布了許多開源的產(chǎn)品,包括 cmail,一個基于 Emacs 的郵件客戶端程序,完全用Lisp 寫的。

Ruby 是他第一個在日本以外國家成名的軟件。最近我們跟Matz 談起了Ruby 的歷史,Perl , Python 對 Ruby 的影響以及為什么我們需要另外一種腳本語言。

以下就是訪談內(nèi)容片段:

Stewart: 讓我們從回顧歷史開始吧,您為什么要決定開發(fā) Ruby 語言?

Matz: 那追溯到 1993 年的事情了,我當時跟一個同事談起了腳本語言,它們的強大的功能和可能性給我留下了深刻的印象,我覺得腳本語言是條正確的道路。作為一個長期的面向?qū)ο缶幊痰闹覍崜碜o者,對我來說面向?qū)ο缶幊桃卜浅_m合于腳本語言,所以我開始在網(wǎng)上搜尋。我發(fā)現(xiàn)了 Perl 5,當時它還沒正式推出,正打算實現(xiàn)一些 OO 的特點,但是那不是我想要的, 我最終放棄了將Perl 作為一個面向?qū)ο竽_本語言的企圖。

后來我發(fā)現(xiàn)了 Python, 它是一個解釋型,面向?qū)ο蟮恼Z言,但是我覺得它不是一個“腳本”語言,除此之外,它還是一個包括了過程編程和面向?qū)ο缶幊痰幕旌闲驼Z言 。

我需要的是一個比 Perl 更強大,比 Python 更面向?qū)ο蟮恼Z言,這就是為什么我決定設計我自己的語言的原因。

Stewart: 你什么時候真正開始編寫 Ruby 的? 最終花了多長時間才使成為一個可用的語言?

Matz: 我開始開發(fā) Ruby 是 1993 年的 2 月 24號, 第一個 Ruby 版本的“Hello world” 運行的時候是同年的夏天。第一個 Alpha 版本發(fā)布于1994 年 12 月。

Stewart: 你是單獨完成它的嗎?或是由開源社區(qū)貢獻了大部分代碼?

Matz: 直到 1996 年,我都是獨立在開發(fā)它,打那兒以后,一個 Ruby 社區(qū)形成了,他們幫了我很大的忙,但是我仍然做絕大部分的工作,但是很多人給我提供的代碼的修補和補丁。

Stewart: 日本的開源社區(qū)有多活躍?和美國的開源社區(qū)運動相比,你覺得如何?

Matz: 非常的活躍,但是我覺得比美國的社區(qū)在規(guī)模上要小。

Stewart: 你怎么會想起用 "Ruby" 這個名字的?

Matz: Ruby 是一種珍貴寶石的名字(紅寶石)。它不是什么簡稱。當我始這個語言項目的時候,我就跟一個同事開玩笑說,這個項目必須以一個寶石的名字來命名(比如 Perl),我的朋友想出了“Ruby”,它是一種美麗珍貴的寶石的簡稱。所以我就采納的這個名字,它最終成為了這個語言的官方名字。

后來我發(fā)現(xiàn) Pearl(珍珠)是六月的誕生石,而Ruby 是七月的誕生石, 我認為Ruby 這個名字作為 Perl 之后的一門語言的名字真是再恰當不過了。

Stewart: 你在設計 Ruby 的時候有什么指導原則嗎?

Matz: 是的, 我稱之為“最少的驚奇”,我覺得人們在編程的時候都希望表達他們自己的思想,他們并不想使用語言來斗爭。編程語言對程序員來說應該顯得自然。 我試圖讓程序員在使用 Ruby 的時候感受到編程的樂趣,而將注意力集中在編程的趣味和創(chuàng)新上來。

Stewart: 你在 Ruby 的郵件列表中很活躍,在那里最通常的問題是什么?

Matz: 各種各樣的問題,從“我如何在 windows 2000 的機器上安裝 Ruby” 到 “你能將我的補丁合并進來修復你的錯誤嗎”,應有盡有。 Ruby 社區(qū)中的人是如此的不同而又互相友好,真是讓人驚奇,我相信社區(qū)是 Ruby 最強大的力量。

Stewart: 在 Slashdot 或其他網(wǎng)站上,如果提及 Ruby , 有個問題總是會反復出現(xiàn),“為什么會需要另外一種腳本語言?”,你對這個問題的想法是怎樣的?

Matz: 為什么需要另外一種語言?理論上,不需要。我們只是需要一個圖靈機來解決我們所有的問題。人們需要更多復雜的工具來編程,這是人類的需求。只有有人覺得使用Ruby很快樂,對我來說,這個原因就足夠了。

Stewart: 我注意到,在發(fā)明 Ruby 之前你在使用 Perl 和 Python. 在 Ruby 中你集成了 Perl 的那些部分?

Matz: 很多。 Ruby 的類庫是對 Perl 語言功能的面向?qū)ο笾亟M,另外添加了一些Smalltalk 和 Lisp 的東西。我想我是用了很多 Perl 的東西, 不過我不應該繼承諸如 $_ $& 和其他一些風格丑陋的變量。

Stewart: 那么 Python 呢?你試圖重用這個語言中的哪些特點?

Matz: 遠比 Perl 要少,但是我還是偷學了一些東西,比如異常名,另外我從它的源碼中學到很多東西。

Stewart: 如果人們已經(jīng)熟悉了 Perl 和 Python, 他們有什么理由要轉(zhuǎn)到 Ruby 上來呢。

Matz: 為什么要轉(zhuǎn)到Ruby? 如果對Perl 或者 Python 很滿意,就不需要轉(zhuǎn)到 Ruby上來。但是如果確實覺得需要一門更好的語言,Ruby 可能就是你的選擇。學習一種新的語言并沒有害處。 它給你新的想法和見解,你不比轉(zhuǎn)到它,可以僅僅學習和試試。 在你覺得 Ruby 使用起來非常舒服的時候再決定轉(zhuǎn)到使用它。

Stewart: 你覺得 Ruby 在日本如此成功,但是在美國和歐洲并流行是什么原因呢?

Matz: Ruby 自從 1995 年第一次正式發(fā)布就在日本有了名氣,直到 1997 年才有了英文文檔。 在 1998 年建立 Ruby-talk郵件列表之前我沒有對Ruby 做過任何宣傳,所以,對非日語國家來說,這是一門非常新的語言。我想這是主要原因。現(xiàn)在我們有了關于 Ruby 的英文書籍了,就像我的這本 “Ruby in a Nutshell"。 社區(qū)也在發(fā)展,去年日本之外沒有人知道 Ruby 是什么。今年,人們知道Ruby是一個語言的名字,我想今后三年情況會有所改觀。

Stewart: 文化差異是否也在其中起了作用?

Matz: 我不這么認為。我設計 Ruby 是為了盡量減少我的驚奇。當世界各地的人告訴我Ruby 減少了他們的驚奇并讓他們享受到編程的快樂,這多少讓我感到驚訝,現(xiàn)在我確信全世界的程序員都是很相像。

Stewart: 你未來還有什么計劃嗎?

Matz:

  1. loop do   
  2.   read and reply mails   
  3.   write code   
  4.   write document/article/book   
  5.   write code   
  6. end   

Stewart: 你現(xiàn)在對下一個版本 Ruby 有什么計劃嗎?

Matz: 我希望把它做的更快,更穩(wěn)定。我計劃重寫 Ruby 2.0 的解釋器,代碼名是:”Rite“.它將更小,更容易嵌入,線程安全而且速度更快。它將使用字節(jié)碼引擎。它可能要讓我花上幾年的時間來實現(xiàn),因為光維護現(xiàn)在的 版本已經(jīng)讓我相當?shù)拿β盗恕?

【編輯推薦】

  1. 李剛老師談Ruby語言的未來
  2. 陸亦斌談Ruby語言的發(fā)展與前景
  3. Peter Cooper談Ruby是否將會流行
  4. Dave Thomas談編程與Ruby修煉之道
  5. Ruby百家談
責任編輯:yangsai 來源: eiffelqiu.com
相關推薦

2009-07-16 17:06:05

JPython

2009-03-04 09:17:47

GoogleChrome工程師

2012-12-13 23:01:02

云計算天地超云云箱

2011-05-05 14:54:17

敏捷

2020-11-24 09:55:37

編程語言C ++Vasa

2010-10-14 20:36:47

敏捷

2011-08-16 09:09:04

jQuery

2022-05-06 19:04:25

開源

2020-01-22 16:53:54

編程語言PythonJava

2009-09-18 12:32:28

Rasmus LerdPHP

2012-06-18 14:51:09

Python

2024-05-28 08:09:27

2011-10-09 11:29:32

筆記本行情

2022-12-09 10:00:20

算法推薦模式

2017-04-05 18:10:05

R語言開發(fā)Ross

2009-09-09 17:45:25

Ruby的blocks

2010-01-22 15:14:37

學習C++

2010-11-03 09:22:00

C語言

2011-10-09 10:34:35

筆記本評測

2011-10-14 09:20:48

Lisp
點贊
收藏

51CTO技術(shù)棧公眾號