转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
[翻译] Matz 关于技术的对话         ★★★★

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:743 更新时间:2009/4/23 10:32:24
[eiffel 翻译]Matz 关于技术的对话

注: Matz 就是著名的编程语言 Ruby 的创始人(日本人) 这段对话翻译自 artima.com 网站对 Matz 的访谈的第四部分。 英文文章原址: http://www.artima.com/intv/craft.html 未经本人同意,不要任何地方转载这篇翻译文章

(最先发表在本人的网站 http://www.eiffelqiu.com)。

关于技术
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:
不只是用户接口。当机器之间通过一个协议互相对话的时候,他们不在乎对方内部是如何实现的,最重要的是通过恰当的协议正确的传递恰当的结果,这才是最重要的。如果你有的系统有一个好的接口,足够的时间和财务预算,你可以继续工作在你的系统上。如果你的系统有错误或者是太慢,那么你可以改进它。但是如果你的系统有一个糟糕的接口,那么你就基本上是一无所有了。内部实现有多高的技巧并不重要。如果你的系统有一个糟糕的接口,没有人会使用它。所以接口或者系统的表面特征,无论是对用户还是对其他机器来说,都是非常重要的。


[办公软件]如何将Word中文翻译为拼音  [电脑技术]Programming in Lua翻译--Expressions
[Sql Server]第五课 使用断开数据--DataSet和SqlDataAdapter(翻…  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台