分享
 
 
 

[eiffel 翻译 artima.com 访谈录]Matz 关于技术的对话

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

[eiffel 翻译]Matz 关于技术的对话

注: Matz 就是著名的编程语言 Ruby 的创始人(日本人)

这段对话翻译自 artima.com 网站对 Matz 的访谈的第四部分。

英文文章原址: http://www.artima.com/intv/craft.html

未经本人同意,不要任何地方转载这篇翻译文章(最先发表在本人的网站 http://www.eiffelqiu.com/index.jsp?date=20040131)。

关于技术

Bill Venners:

在一次CIPS Connections的交流中,你曾经说:” 我读过很多开放源码软件的源码,

例如,Perl,Python,和很多风格LISP解释器的源码,我知道在写Ruby 之前我应该了

解他们“ 你觉得程序员通过读源码可以得到哪些益处?

Yukihiro Matsumoto:

程序员通过读源码可以收益颇多。你无法简单的告诉别人如何成为一个好的程序员,你

可以向他们提供一些好的编程原则,你可以向他们描述一些你自己的一些好的设计经验,

但是你无法给予他们如果成为一个好程序员的实际知识。我相信获取这些实际知识的最

好方法就是读代码。写代码当然可以帮助你成为一个好的程序员,但是读代码这种方式

更好一些。

Bill Venners:

为什么

Yukihiro Matsumoto:

因为成为一个好的程序员实际上是跟经验有关,代码是对程序员思想,态度,想法的表

达。通过读代码,你不仅可以了解程序员要完成一个什么特殊的任务以及知道他们是如

何实现的,而且你也可以通过他们的思考方式而增长见识。这就是为什么读程序可以让

你成为更好的程序员的原因。

除此之外,如果你想知道如何用代码实现一些东西,你可以打开一本计算机科学方面的

书籍,书本可以向你解释算法,但是如果你想更快的了解算法,那么读代码将是最好的

方式。此外,你可以执行代码以实现算法。你可以在代码执行算法的时候使用一个调试

器来观察它。这种方式要远比读书本要好。

Bill Venners: 在CIPS Connection的交流中, 你给出了程序员的十个技巧。其

中之一是: ” 学不只一种程序语言,最好是不同风格的,比如脚本语言,面向对象语

言,函数式语言,逻辑式语言,等等“,学习多种程序语言有什么好处?

Yukihiro Matsumoto:

每个程序或者系统都有它自己的文化。每种语言或者系统都有自己的核心概念。这些

概念中大多数是好的,但是他们是不同的,通过学习多种语言和系统,你可以接受不

同的想法,进而增强你自己的观点。

例如,如果你不了解Prolog语言,你就不会了解目标指导性编程的威力

(通过应用指定规则描述要解决的问题来编程的方式)。这是一个非常有趣的概念,

是一种不同的思考方法。但是如果你不了解Prolog或者谓词逻辑的话,很难自己发现

这种思考方式。了解其他的系统和范式将会扩展自己头脑中的世界。这就是为什么我

极力推荐学习多种语言的原因

Bill Venners:

在你的十个最高技巧中你也说过:”不要太过多的关注于工具,工具是会变化的,而

算法和基本概念不会“,你这是什么意思。

Yukihiro Matsumoto:

部分是关于以人为本而不是以机器的观点。人的变化非常的慢,但是系统变化的非

常快。100 年前的人们和现在没什么太大的不同。 100 年前我们没有计算机,50

年前我们拥有了计算机,但是他们非常原始。从今之后的20年,我无法想象计算

机将会是什么样子的,但是我可以想象的出20年后的人们将会如何思考。

另外一个例子是数学。数学拥有非常悠久的历史。它是非常成熟的科学,但是计算

机科学不是。所以从数学中获取思想是非常好的。

工具会随着时间的流逝轻易的变化。如果你太多的关注现在的工具,那么你的努力只

能得到短期的回报。如果你想获得持久的收益,你应该更关注一些基础的东西。关注

数学和人类心理学。关注那些已经建立起来的科学和已经建立起来的思维方式。

懒惰:

Bill Venners:

你曾经在你的十大技巧中提到:”懒惰,机器将会服务于人类。经常程序员会不经意

的服务于机器。让机器服务于你。尽可能做哪些让你懒惰的事情“,为什么我们要设

法变得懒惰?

Yukihiro Matsumoto:

因为你想变得懒惰。你要做任何可以减轻自己工作的事情,我努力工作来减轻自己

的工作,变得懒惰。

Bill Venners:

我相信这点

Yukihiro Matsumoto:

我非常渴望变得懒惰。

考虑接口

Bill Venners:

你在十大技巧中也提到了:”对他人友好,首先考虑接口: 人对人,人对机器和机器

对机器的接口。再次记住人的因素是非常重要的 “ ,你这是什么意思,”首先考虑接

口?“

Yukihiro Matsumoto:

接口是我们作为一个用户所看到的一切。如果我的计算机正在内部做非常复杂的事情

,但是复杂性并没有表露在外面,我不在乎。我不在乎计算机是否在内部辛苦的工作。

我只要以好的方式呈现正确的结果。这就是说接口就是一切,至少对于普通的计算机

用户使用计算机的时候,情况就是如此,那就是为什么我们要关注接口的原因。

一些软件人士,比如天气预报员,数字计算者,他们更多的是了解事物的内部,但是

他们所处的是非常有限的计算机科学领域。大多数程序员需要关注表面,接口,因为

对他们来说那才是最重要的。

Bill Venners:

你也提到了机器对机器的接口,你的意思是不是仅仅是对用户的接口或者机器的接口

Yukihiro Matsumoto:

不只是用户接口。当机器之间通过一个协议互相对话的时候,他们不在乎对方内部是

如何实现的,最重要的是通过恰当的协议正确的传递恰当的结果,这才是最重要的。

如果你有的系统有一个好的接口,足够的时间和财务预算,你可以继续工作在你的系

统上。如果你的系统有错误或者是太慢,那么你可以改进它。但是如果你的系统有一

个糟糕的接口,那么你就基本上是一无所有了。内部实现有多高的技巧并不重要。如

果你的系统有一个糟糕的接口,没有人会使用它。所以接口或者系统的表面特征,无

论是对用户还是对其他机器来说,都是非常重要的。

邱海峰(eiffelqiu)

mail: eiffel_q@163.com

www: http://www.eiffelqiu.com

weblog: http://mulder.5d.cn

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有