您好,登錄后才能下訂單哦!
我很高興來到松本先生的家鄉——日本松江市拜會松本先生。我們在談話間聊到一些Ruby語言背后的設計思想,松本先生也解答了我向他提出的幾個問題。
Bruce:你為什么要開發Ruby?
Matz:我從一開始擺弄計算機,就對編程語言產生了興趣。編程語言不僅是用來編程的方法,還是思維的放大器,可以塑造思考編程的方式。所以很長一段時間,我都把編程語言當作一項興趣愛好,下了不少功夫研究。我甚至實現了幾門玩具語言,但都派不上什么用場。
1993年,當我看到Perl的時候,不知怎么的,這種混合了Lisp和Smalltalk特征的面向對象語言讓我的靈感一下子迸發出來。我意識到Perl將成為一門可提高我們生產力的偉大語言。于是,出于自娛自樂的動機,我著手開發一門與之類似的語言,并將其命名為Ruby。剛開始的時候,開發Ruby還純屬業余愛好,處處都能按自己的口味設計。后來,世界各地的程序員開始漸漸接受這門語言及其背后的設計原則。它越來越受人們喜愛,這遠遠超出了我的預期。
Bruce:你最喜歡它哪一點呢?
Matz:我喜歡它寓編程于樂的方式。說到某個具體的技術點,我最喜歡的是“代碼塊”(block)。 代碼塊即是一種易于控制的高階函數,也為DSL(Domain-Specific Language,領域特定語言)及其他特性的實現提供了極大的靈活性。
Bruce:如果能讓時光倒流,你想改變哪些特性?
Matz:我想去掉線程,加入actor(參與者)或一些更高級的并發特性。
無論你是否已對Ruby有所了解,都請一邊閱讀本章,一邊留意Matz為設計這門語言所做的種種權衡。你可以看看他添加了哪些語法糖——那些打破了語言常規,不僅為程序員提供更加友好的體驗,而且讓代碼更容易理解的小特性。還可以看看Matz在集合(collection)等處用到的代碼塊,體會一下它們如何發揮出夢幻般的效果。還有,盡可能去理解他在簡單性和安全性之間、編碼效率和程序性能之間所做的哪些讓步和折中。
摘自《七周七語言》
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。