• 松本行弘访谈录


    我很高兴来到松本先生的家乡——日本松江市拜会松本先生。我们在谈话间聊到一些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)等处用到的代码块,体会一下它们如何发挥出梦幻般的效果。还有,尽可能去理解他在简单性和安全性之间、编码效率和程序性能之间所做的哪些让步和折中。

    摘自《七周七语言》

  • 相关阅读:
    美国诚实签经验——必带材料:护照,证件照,DS160确认页,面试预约确认页,+境外照片
    美国诚实签经验——医院预约单和医院资料,医生预约收据和报价表,赴美预算,赴美行程,保险是加分项,工作证明(勾出职位和薪酬),附上名片或者工卡,全家福照片
    php MySQLi部分函数(面向对象和过程)
    php calling scope
    mysqli_set_charset和SET NAMES优劣分析
    php 父类子类构造函数注意事项
    Dreamweaver显示花括号匹配
    php 父类调用子类方法和成员
    PHP 重载 __call() _callStatic方法
    转:Linus:利用二级指针删除单向链表
  • 原文地址:https://www.cnblogs.com/turingbooks/p/2496515.html
Copyright © 2020-2023  润新知