`
koalant
  • 浏览: 140059 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

【听译大师说话3】Guido 向 Matz 提出的问题

阅读更多



原帖:
http://blog.csdn.net/koalant/archive/2008/07/13/2646005.aspx

离职前的几周工作很清闲, 我又有机会开始做我的"听译大师系列"了, 观看和听技术访谈也成为我上班路上一个打发时间的小爱好. 我原本认为这些访谈其实不会有太多的新意, 因为你能找到很多文字资料来了解到相关信息. 但是听的次数多了, 我发现的确有不少东西从文字材料中是找不到的. 这些软件英雄们在访谈中流露出的想法能让我们更多一层地了解他为什么会做出那样的设计. 最近突然发现了另外一个好的技术视频网站, 就是 googletechtalk , 在其中发现了今年2月20 号, ruby 创始人去 google 总部做关于 ruby 1.9 的讲演录像, 大概地听了听, 觉得很有趣. 尤其是在提问环节, 有些问题很怪, 比如为什么 Matz 总是在圣诞节前发布 ruby 版本, ruby  continuation 库等等. 不过 matz 的日本式英语发音实在是太糟糕了, 听起来很别扭. 整个讲演中, matz 显得有些腼腆和局促. 不过还不时显露出点幽默感, 比如他上来就一句, "欢迎来到 ruby 的世界, 尽管 google 不让使用 ruby 语言", 引得台下哄堂大笑. 其实听起来不算太累, 但是敲字把它记录下来实在有点麻烦, 我只能选取我觉得比较有意思的段落来翻译了.  我下载了这段视频, 将其中感兴趣的片段截取下来,上传到"土豆网", 大家可以对照我的翻译来看, 有不正确的地方, 欢迎指教, 我的英文也不算太好.



听译原文如下:

---------------------------------------------------------------------------------------

guido: 你好, matz, 我是  Guido van Rossum , 欢迎来 google, 很高兴你能来这儿. 我一直在考虑你所说的字符串类型, 它们是否在 ruby 1.9 中有所改变. 但我注意到了你所给出的例子中, 直接索引字符串的操作, 比如, 字符串的第三个字符是个日文字符, 你是在内部是否使用了 utf-8 作为字符编码的表示, 如果是这样的, 你如何高效的实现这种直接访问?

matz: 我们是直接使用 Raw byte 序列作为字符串的内部数据的表示. 没有单独的内部编码, 我们曾经经历过一些转码的问题, 所以不想做这种从别的编码转换到 unicode 编码的处理, 这些来回编码的问题, 如果处理 utf-8 编码, 我希望由 utf-8 自己来处理, 如果是传统的编码,比如 shift-jis 编码, 就让 shift-jis 来处理. 我们用 C 来实现内部编码结构, 就是用一系列的函数来访问, 比如获取索引字符, 取得字符串的长度等等. 我们使用一种, 该怎么说来着, "过滤器"(filter) 来给你一种错觉, 好像在访问一系列的字符, 你可能会觉得这样做效率不够高, 但就我们长期的经验来看, 这种错觉的做法一直在 ruby 中使用, 在大多数情况下, 如果你使用正则表达式处理, 这么做还不错. 很多基于字符串的处理都是基于正则表达式的, 所以,如果正则表达式的处理做了优化, 就不会有很大的问题, 很多严重性能问题就可以避免

guido: 是的, 但是听起来这样做, 通过数字索引字符串中单个字符的操作效率不会很高, 我大概能想到的是, 比如, 使用这个 api 来反转一个字符串序列, 就可能有问题. 如果你从字符串的最后开始迭代, 你想知道字符串中有多少字符, 获取最后一个字符, 打印倒数第二个字符, 等等, 这些操作的效率不会太高.

matz: 是的, 比起那些用 utf32 来作为内部表示的做法来说, 这样做效率是不会太高的. 我们在内部的 Raw byte 序列中的确没有那些 O(n) 的操作来访问某一个特定索引字符, 但是在大多数情况下,  我们会使用一些技巧(tricks)来减小复杂性.

guido: 是的, 我同意, 在大多数时候, 让正则表达式引擎来处理这些的确工作的很好.



听译大师1:
【听译大师说话】python 创始人访谈录 1: 关于 django 和 ruby
http://blog.csdn.net/koalant/archive/2007/05/10/1602982.aspx

听译大师2
【听译大师说话】python 创始人访谈录2: python 的起源,特点和未来:
http://blog.csdn.net/koalant/archive/2007/05/14/1607902.aspx
分享到:
评论
3 楼 koalant 2008-07-21  
【听大师说话4】PHP创始人 Rasmus Lerdorf 访谈1

http://www.iteye.com/topic/217322


2 楼 koalant 2008-07-21  
Terry 你好, 好久不见了.  CSDN 的博客的确很差劲, 最近总是出问题.应该是可以访问的.

最近在听译 PHP创始人的访谈节目, 刚刚听译完 1/3 感觉访谈内容很有趣.我准备贴在"综合技术"论坛中.
1 楼 poshboytl 2008-07-21  
支持mulder的翻译,觉得非常好,很久没和你联系了~在这里问声好啦~我是Terry~
还有就是建议把前两部也贴过来吧,第一步我看了,但是第二步似乎无法访问,不知是我的问题,还是csdn的问题~

相关推荐

    Guido van Rossum的演讲

    在 Googl e公司工作的同时,Guido van Rossum 利用 50% 的时间致力于新一代 Python 语言的设计、实现以及其他与 Python 语言相关的工作。 Python 语言是最流行的编程语言之一,无论在 Web 应用还是非 Web 应用中均...

    slam经典教程Guido Zunino

    在SLAM中使用EKF技术是一种成熟的方法,它能够有效处理非线性问题,适用于对动态系统进行状态估计。 此外,声纳数据在SLAM中是一种常用的感知环境的方式。通过使用三角测量技术,可以稳健地从声纳数据中提取环境中...

    Guido谈Python的现状与发展.zip

    - 语言演进:他可能分享对Python新版本中特性的看法,如Python 3的引入及向后不兼容性,以及对Python 4的潜在规划。 - 开源文化:作为开源项目的倡导者,Guido可能会强调开源对Python发展的重要性,以及如何平衡...

    flores guido eval_wince_

    标题中的“flores guido eval_wince_”可能是指一个由Guido Flores创建或参与的项目,该项目专注于评估在Windows CE(简称Wince)操作系统上的程序或系统。Windows CE是一种微软开发的嵌入式操作系统,常用于掌上...

    evaluacion flores guido_elevator_

    标题“evaluacion flores guido_elevator_”暗示了一个关于电梯控制系统的评估或项目,可能是一个编程任务或课程作业,由Guido Flores完成。描述中的“deber de programación número o3”进一步确认这是一个编程...

    [Python入门指南].(Python.Tutorial).Guido.Van.Rossum.文字版

    **标题与描述解析:** 给定的标题“[Python入门指南].(Python.Tutorial).Guido.Van.Rossum.文字版”以及简短的描述“中文的呢,python入门指导,可以看看的”,表明这份文档旨在为Python初学者提供基础的指导。文档...

    Guido谈Python的现状与发展.pdf

    3. Python3000(Python 3.0):根据Guido的描述,Python的最新版本Python3000(当时为计划中的版本)旨在简化编程语言,并去除图形功能,引入更加简洁和优雅的新特性。此外,预计Python3000将在2008年北京奥运会期间...

    Guido van Rossumpython

    Python是一种高级编程语言,由Guido van Rossum于199年开发并发布。作为一种开源的解释型语言,Python以其简洁、可读性强易学易用的特点,在软件开发、数据分析和科学计算等领域受到广泛应用。 Python的语法规则...

    guido:Guido 备份检查器

    Guido 是一个小型 Java 应用程序,它侦听给定的 TCP 端口,当有人连接时,不从套接字读取任何输入,如果给定的文件存在与否,则仅响应“真”或“假”。 要求 Guido 需要JDK 8才能运行,仅此而已。 它是为 Windows ...

    flores castro guido taller 2_fractal_

    标题 "flores castro guido taller 2_fractal_" 暗示了这是一个关于编程作业,特别是第四项任务,该任务可能与创建或分析分形有关。"Guido" 很可能指的是 Guido van Rossum,Python 编程语言的设计者,这可能意味着...

    Python基本语法元素

    Python是一种高级编程语言,由Guido van Rossum于1991年正式对外发布。它以其简洁、易读的语法而闻名,特别适合初学者学习。在Python中,"缩进"扮演着至关重要的角色,它不同于其他语言的花括号来定义代码块,而是...

    [Python入门指南].(Python.Tutorial).Guido.Van.Rossum.

    Python的程序教其他而言非常短,虽然在速度上比不上C和JAVA,但是在代码量上是后两者无法比较的,这是一本入门的书,有兴趣的可以看看

    examen- flores castro guido_Windows编程_源码

    标题“examen-flores-castro-guido_Windows编程_源码”暗示这是一个关于Windows编程的项目或测试,其中可能包含源代码文件。描述提到的是编程任务“deber de programación numer o6”,这可能是一个课程作业或者...

    Python简介(Guido van Rossum)An Introduction to Python (Guido van Rossum)

    Python是一种面向对象的编程语言,它因为易于学习而广受赞誉,同时具备强大的功能和清晰的语法。Python支持高级数据类型,具有动态类型系统和内置支持的异常处理机制,且拥有丰富的标准库和第三方模块,可用于多种...

    藏经阁-Bring your apps and games to life with Rive-Guido&Luigi.pdf

    《藏经阁-借助Rive将您的应用和游戏生动化》 在当今的数字时代,应用程序和游戏的设计与开发越来越注重用户...如果你有任何反馈或想要尝试Rive,可以联系Luigi Rosso或Guido Rosso,他们非常欢迎用户的建议和讨论。

    guido:适用于cmd amd react jquery sass把手开发体系结构的构建工具,内置静态资源(样式,图片)内联外链,自动化雪碧图,资源到base64,资源文件注入模板,dev服务器,自定义路由等构建,调试,打包部署功能,减少同体系开发环境的重复配置

    npm install guido --save-dev 特性 绝对 jsx转换 ES6至ES5 ESLint语法检查 公共代码抽离 CSS到CSS CSS模块 雪碧图合并,切割分组,retina 自动前缀 车把 资源文件dataurl 转换为webfont svg精灵 本地开发...

    [Python机器学习基础教程].[Andreas C. Müller&Sarah Guido]1

    Müller和Sarah Guido合著的一本入门级机器学习书籍,主要面向希望了解和使用Python进行机器学习的读者。书中详细介绍了机器学习的基础概念、常用算法、数据处理、模型评估和优化,以及在特定领域的应用,如文本...

    Bring your apps and games to life with Rive-Guido&Luigi.pdf

    随着软件世界逐渐进入动态、可视化领域,应用程序变得越来越具交互性和动画性。制作动画已成为一项重要的工作,需要设计师...双胞胎兄弟 Luigi 和 Guido 目睹了这一挑战,并启动了2Dimensions, 使动画制作简单又美好。

Global site tag (gtag.js) - Google Analytics