- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(代码的未来
代码的未来
Matz:《松本行弘的程序世界》一共涉及了14个话题,每个话题都是浅尝辄止,内容比较广泛但不是很深入,而这次的新书则是设定了一个大的主题——即对未来即将到来新技术的思考,因此内容比《程序世界》所涉及的范围要窄一些。此外,这本书还在时间尺度上进行了探讨,例如从计算机出现以来,到现在为止经历了怎样的变化,并由此来思考未来可能会发生的变化,也就是对过去和未来两方面都进行了思考。计算机的世界变化非常快,而这本书的目的在于探讨其未来变化的方向。
周:说起计算机的发展,您在书中还提到了关于摩尔定律的一些话题呢。
Matz:摩尔定律是描述计算机将如何发生变化的一个定律,书中所探讨的不仅包括计算机本身的变化,还包括计算机为周围的环境所带来的变化。
周:关于编程语言进化的方向,保罗·格雷厄姆在一篇名叫“一百年后的编程语言”的文章(参见图灵图书《黑客与画家》P156)中,主张“拥有最简洁最小核心的编程语言”将是未来发展的趋势。对于这一观点,您在书中表示“不同意”,这是为什么呢?您对编程语言发展方向的看法又是怎样的呢?
Matz:保罗是一个很喜欢Lisp的人,而Lisp所具备的特性正好符合他所说的“一百年后的编程语言”的样子,因此保罗认为一百年后的编程语言就应该变成Lisp这个样子。但实际上,Lisp这个语言的历史已经有50多年了,说实话,Lisp现在并没有成为一种有很多人在用的主流语言。我觉得这也许是因为Lisp对于大多数程序员来说不具备那么大的魅力,也就是说,作为一种“拥有最小核心”的语言,或者从某种意义上说是一种很“美丽”的语言,和程序员们所期望的语言之间,存在着一定的差距。如果一两年的时间里,Lisp的魅力没有被大家所接受,那还可以理解,但已经过了50年还没有被广泛接受的话,是不是它在本质上就不太符合大家的期望呢?“对人类来说好用的语言”和“拥有最小核心的语言”之间的这个差距可能是很大的,我觉得可能将来100年也没办法消除。至于未来的编程语言应该是怎样的,我觉得应该是兼具接近Lisp的运行模型,以及人类容易理解的语法这两方面特征,这么一看Ruby是不是更接近这样一种语言呢?
周:松本先生被称为Ruby之父,我们知道在编程语言的设计过程中,可能要做出很多选择,例如动态还是静态、基于原型还是基于类等等。在Ruby的特性中,您认为当初最难做的选择是什么?
Matz:在设计Ruby之前,我在上大学的时候还设计过另外一种语言,而那种语言是完全静态的,和Eiffel语言非常相似。而我原本也是特别喜欢静态语言的,不过上大学时设计的那种语言是以学术研究为目的的,多年之后,当我想设计一种编程语言作为自己的工具来用的时候,我就觉得还是动态语言实际用起来比较好用。抱着这样的想法,我设计了Ruby,现在看来这个设计还是正确的。那么当初对于Ruby应该是静态还是动态这个问题,也许算不上是最难的吧,但至少是我在设计中做出的“最大”的一个判断。而在此之后,因为是动态语言,那就借鉴一下Smalltalk和Lisp吧,Perl有一些功能也不错,于是如此这般吸收了这样一些语言的特性,也就显得比较自然而然了。Ruby的特点在于Mixin模块,而这个特点在Ruby诞生当时还算是非常罕见的,因为我不喜欢多继承,总觉得应该有一个更简单的方式,所以就设计了Mixin模块。
周:那么现在回过头来看,Ruby当中有哪些地方会让您觉得“如果当初设计成这样就好了”呢?
Matz:最开始的时候我的目标只是想实现Perl所具备的功能,因此从Perl借鉴了很多,比如说用美元符号($)来修饰变量名之类的,现在看来觉得学得有点过了,搞得和Perl太像了。当然,除此之外还有其他一些小地方,但最主要的我觉得就是这个了,也就是跟Perl太像了这一点。刚开始的时候,还没有形成Ruby的语法习惯和文化,因此很多东西都是从Perl“抄”过来的,现在看来好像一股脑拿过来的东西太多了,里面其实有一些是不需要的。而经过一段时间之后,Ruby自己的文化已经形成,Rails出现之后又形成了Rails的文化,而到了这个时候再看的话,可能就会觉得这些Perl的部分好像没啥必要呢。
周:大家都认为“Ruby有现在的人气基本上都是由于Ruby on Rails的贡献”,您在书中也认同这个观点,那么您认为Ruby on Rails获得巨大成功的原因是什么呢?
Matz:首先是得益于Web的快速发展,几乎所有的软件开发平台都在瞄准Web这个领域。以往在用CS(客户端-服务器)架构来开发的系统,现在都可以在Web上实现了。在Web上能够开发的应用变多了,这是一个主要的背景。另外,Ruby的优势在于进行软件开发非常容易,也就是开发效率比较高。这两点结合起来,我认为就是Ruby on Rails成功的主要原因。
此外,Ruby还有
您可能关注的文档
最近下载
- 人员培训记录表格(表格模板DOC格式).docx VIP
- 02-全员培训-U9cloud全产品介绍.pptx VIP
- 0102、U9 cloud供应链-采购管理.pptx VIP
- 0301、U9 cloud财务-基础知识.pptx VIP
- 音乐鉴赏:器乐知识及作品鉴赏PPT教学课件.pptx VIP
- 0305、U9 cloud财务-成本核算.pptx VIP
- SL 640-2013 输变电项目水土保持技术规范.pdf
- 福建省厦门市同安区第一中学2024-2025学年七年级上学期期中质量检测英语试题.docx VIP
- 0303、U9 cloud财务-应收管理.pptx VIP
- 0201、U9 cloud生产管理-领域知识.pptx VIP
文档评论(0)