溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

松本行弘訪談錄

發(fā)布時間:2020-06-24 09:56:22 來源:網(wǎng)絡 閱讀:224 作者:turingbook 欄目:編程語言

我很高興來到松本先生的家鄉(xiāng)——日本松江市拜會松本先生。我們在談話間聊到一些Ruby語言背后的設計思想,松本先生也解答了我向他提出的幾個問題。

Bruce:你為什么要開發(fā)Ruby?

Matz:我從一開始擺弄計算機,就對編程語言產(chǎn)生了興趣。編程語言不僅是用來編程的方法,還是思維的放大器,可以塑造思考編程的方式。所以很長一段時間,我都把編程語言當作一項興趣愛好,下了不少功夫研究。我甚至實現(xiàn)了幾門玩具語言,但都派不上什么用場。

1993年,當我看到Perl的時候,不知怎么的,這種混合了Lisp和Smalltalk特征的面向對象語言讓我的靈感一下子迸發(fā)出來。我意識到Perl將成為一門可提高我們生產(chǎn)力的偉大語言。于是,出于自娛自樂的動機,我著手開發(fā)一門與之類似的語言,并將其命名為Ruby。剛開始的時候,開發(fā)Ruby還純屬業(yè)余愛好,處處都能按自己的口味設計。后來,世界各地的程序員開始漸漸接受這門語言及其背后的設計原則。它越來越受人們喜愛,這遠遠超出了我的預期。

Bruce:你最喜歡它哪一點呢?

Matz:我喜歡它寓編程于樂的方式。說到某個具體的技術點,我最喜歡的是“代碼塊”(block)。 代碼塊即是一種易于控制的高階函數(shù),也為DSL(Domain-Specific Language,領域特定語言)及其他特性的實現(xiàn)提供了極大的靈活性。

Bruce:如果能讓時光倒流,你想改變哪些特性?

Matz:我想去掉線程,加入actor(參與者)或一些更高級的并發(fā)特性。
無論你是否已對Ruby有所了解,都請一邊閱讀本章,一邊留意Matz為設計這門語言所做的種種權衡。你可以看看他添加了哪些語法糖——那些打破了語言常規(guī),不僅為程序員提供更加友好的體驗,而且讓代碼更容易理解的小特性。還可以看看Matz在集合(collection)等處用到的代碼塊,體會一下它們?nèi)绾伟l(fā)揮出夢幻般的效果。還有,盡可能去理解他在簡單性和安全性之間、編碼效率和程序性能之間所做的哪些讓步和折中。

摘自《七周七語言》

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI