松本行弘访谈录
我很高興來到松本先生的家鄉(xiāng)——日本松江市拜會松本先生。我們在談話間聊到一些Ruby語言背后的設(shè)計思想,松本先生也解答了我向他提出的幾個問題。
Bruce:你為什么要開發(fā)Ruby?
Matz:我從一開始擺弄計算機(jī),就對編程語言產(chǎn)生了興趣。編程語言不僅是用來編程的方法,還是思維的放大器,可以塑造思考編程的方式。所以很長一段時間,我都把編程語言當(dāng)作一項興趣愛好,下了不少功夫研究。我甚至實(shí)現(xiàn)了幾門玩具語言,但都派不上什么用場。
1993年,當(dāng)我看到Perl的時候,不知怎么的,這種混合了Lisp和Smalltalk特征的面向?qū)ο笳Z言讓我的靈感一下子迸發(fā)出來。我意識到Perl將成為一門可提高我們生產(chǎn)力的偉大語言。于是,出于自娛自樂的動機(jī),我著手開發(fā)一門與之類似的語言,并將其命名為Ruby。剛開始的時候,開發(fā)Ruby還純屬業(yè)余愛好,處處都能按自己的口味設(shè)計。后來,世界各地的程序員開始漸漸接受這門語言及其背后的設(shè)計原則。它越來越受人們喜愛,這遠(yuǎn)遠(yuǎn)超出了我的預(yù)期。
Bruce:你最喜歡它哪一點(diǎn)呢?
Matz:我喜歡它寓編程于樂的方式。說到某個具體的技術(shù)點(diǎn),我最喜歡的是“代碼塊”(block)。 代碼塊即是一種易于控制的高階函數(shù),也為DSL(Domain-Specific Language,領(lǐng)域特定語言)及其他特性的實(shí)現(xiàn)提供了極大的靈活性。
Bruce:如果能讓時光倒流,你想改變哪些特性?
Matz:我想去掉線程,加入actor(參與者)或一些更高級的并發(fā)特性。
無論你是否已對Ruby有所了解,都請一邊閱讀本章,一邊留意Matz為設(shè)計這門語言所做的種種權(quán)衡。你可以看看他添加了哪些語法糖——那些打破了語言常規(guī),不僅為程序員提供更加友好的體驗(yàn),而且讓代碼更容易理解的小特性。還可以看看Matz在集合(collection)等處用到的代碼塊,體會一下它們?nèi)绾伟l(fā)揮出夢幻般的效果。還有,盡可能去理解他在簡單性和安全性之間、編碼效率和程序性能之間所做的哪些讓步和折中。
摘自《七周七語言》
?
轉(zhuǎn)載于:https://www.cnblogs.com/turingbooks/archive/2012/05/11/2496515.html
總結(jié)
- 上一篇: mysql常用命令操作
- 下一篇: div内的button的click会触发