Hi all,
前阵子在忙其他事,把Etoys翻译的事又拖着了,现在有些空余时间,接着来做这事。
现在在翻译的时候碰到一些名词不好翻,发上来大家讨论讨论,把这些特殊的名词确定下来,形成一个标准,这样界面看起来统一一点。
object
这个在3.8里是翻译成“物体”,4.1里大部分是“对象”,也有一些翻译成“物品”。也可以按照台湾对OOP的翻译,这它翻成“物件”。我个人还是有点倾向于“物件”这个翻译的,不知各位有什么建议?
2011/4/18 Xinyu LIU <liuxi...@gmail.com>:
--
Tinyfool的Blog http://tiny4.org/blog/
Tiny4Cocoa http://tiny4.org/cocoa/
myTwitter: http://twitter.com/tinyfool
2011/4/18 Xinyu LIU <liuxi...@gmail.com>:
--
Milo Yip
Twitter @miloyip
http://www.cnblogs.com/miloyip/
http://miloyip.seezone.net/
有两大类对OO的实现:
第一大类是最常见的,诸如C++, Java等等的。由于比较常见,故不多说了;
第二大类是ErLang, Smalltalk等(Objective-C也算)。后者是基于消息传递的。
记得若干月前,《程序员》杂事登载过一则对于Joe Armstrong和Ralph Johnson的interview。
Joe比较的...嗯,算是由于他认为ErLang是他的baby吧,他认为消息传递才是唯一正确的方式。
这个我不置可否,Alan Kay发明Smalltalk时,的确是基于消息传递的。深入一点说,消息传递
会和类型系统发生冲突,比如多态时:
o toString如果o不接受toString这个message,那么在Smalltalk中,o会反应
doesNotUnderstand;
但是在强类型系统中,o.toString();会直接在编译时报错说,找不到定义。
当然,也存在其他对OO的实现。不再赘述。
--
LIU
On Apr 18, 11:09 am, qiaojie <qiao...@gmail.com> wrote:
> 对象的含义要比物体宽泛,对象在中文里的含义包含了事和物。Object不仅可以指代物理实体,也可以是某些事情,比如把Event说成是物体就不妥了。
>
> 2011/4/18 Xinyu LIU <liuxiny...@gmail.com>
>
> > 转个post,OT下。
>
> > Hi,
>
> > I prefer to translate `Object' to '物体',
>
> > 原因如下:
> > 我们今天所知道的英文"Object",国内翻译为"对象",英文词典上给出的第一个解释是"物体"。
> > 并且如果我们考虑Squeak是针对8-11岁的儿童的,那么"物体"更为自然。
>
> > 如果大家回忆初中物理,就会想起类似话:
> > -物体在没有外力作用下,做匀速直线运动;
> > -物体的相互作用力
> > -物体的质量是5kg
> > -物体的速度
>
> > 这样,如果儿童先接触初等物理,再接触squeak,他会觉得这样的概念非常自然亲切,在做开汽车的squeak
> > project时,他发觉所有的概念都和物理match, 物体的速率是5,物体的角速率是10,汽车是物体...
>
> > 反之,如果儿童先接触squeak,那么当他以后再接触初等物理时,他也觉得以前squeak帮助了他理解了客观世界的物理规律。
>
> > 下面链接:
>
> >http://sites.google.com/site/liuxinyu95/squeak.dev.chinese.books.guzd...
> > 是我若干年前用"物体"翻译的一篇文章,读起来也觉得可以接受。
>
> > 2011/4/17 Xin Wang <dram.w...@gmail.com>
2011/4/18 lin wang <wlunl...@gmail.com>:
再highlight一下:Squeak是面向8~11岁的儿童的,我们认为儿童在玩(而不是学习的过程中)比较难接受"对象"这个术语,而更容易理
解"物体"这个翻译。
关于抽象意境,这个问题在Squeak中不是问题,请参考这个链接:
http://squeakland.jp/school/drive_a_car/html/Drivecar12.html
在这个例子中,如果我们把Object翻译成"对象"给孩子,那么感觉太折磨孩子,而不尽人情了。
这个例子中的翻译应该是:
汽车是物体,汽车有速度,汽车有角速度,我们开汽车玩。
不同的汽车可以有不同的速度和角速度。
物体有颜色,我们把汽车这个物体的颜色设为红色。。。
推而广之,如果我们不折磨孩子,我们为什么要折磨作为程序员?只是由于要背负历史包袱么?
On Apr 18, 1:17 pm, lin wang <wlunlimi...@gmail.com> wrote:
> 这是何苦呢?这种翻译本来就是以约定俗成为准,Object翻译为"对象"在大陆这边已经是一个本专业的习惯了,如果要改,请问,是否考虑过成本?有时间折腾这种问题,为何不多关心关心C++本身的发展呢?翻译本身就没有绝对的准确,只要能把英文要表达的主要意思传递给中文读者,让他们能很清晰地明白就行了。更何况,要学习一个编程语言的概念,最简单的就是去用它写代码,想靠折腾翻译来让读覩从字面完全理解,根本就是个吃力不讨好的事。翻译的任务是让目标读者能尽可能少成本地明白,而不是为了所谓的准确先搞出一堆特定词把读者绕晕。
>
> 要不我们就此来 对比一下 "物件 、"物件导向"、"物体" 和
> "对象"几个中文,我想,是个程序员都会有明确的倾向。不管英文原意如何,至少"物件"这个中文词在大陆是生僻的,"物件导向"就更不用说了,这是应该叫短语了,"物件"本身已经够生僻的了,再来个导向,读者显然更不知所云了,真要用,显然必须还要先来给读者再解释一下中文里的"物件"和"物件导向"是个神马意思。"物体",中文母语中都会把它跟"实体"大致等同起来,重点在"物",具象表述。这显然跟Object想要表达的抽象意境相去太远。
> 实在要用,请自动生成一个术语对比表,让机器自动根据不同的市场和读者群了事。
>
> 以上,有感而发,期盼各位老大多花点时间给群里的XDJM介绍些实在的东东,少浪费自已的生命。
>
> 2011/4/18 Milo Yip <milo...@gmail.com>
>
> > 支持物件導向
>
> > 2011/4/18 Xinyu LIU <liuxiny...@gmail.com>:
> > > 转个post,OT下。
>
> > > Hi,
>
> > > I prefer to translate `Object' to '物体',
>
> > > 原因如下:
> > > 我们今天所知道的英文"Object",国内翻译为"对象",英文词典上给出的第一个解释是"物体"。
> > > 并且如果我们考虑Squeak是针对8-11岁的儿童的,那么"物体"更为自然。
>
> > > 如果大家回忆初中物理,就会想起类似话:
> > > -物体在没有外力作用下,做匀速直线运动;
> > > -物体的相互作用力
> > > -物体的质量是5kg
> > > -物体的速度
>
> > > 这样,如果儿童先接触初等物理,再接触squeak,他会觉得这样的概念非常自然亲切,在做开汽车的squeak
> > > project时,他发觉所有的概念都和物理match, 物体的速率是5,物体的角速率是10,汽车是物体...
>
> > > 反之,如果儿童先接触squeak,那么当他以后再接触初等物理时,他也觉得以前squeak帮助了他理解了客观世界的物理规律。
>
> > > 下面链接:
>
> >http://sites.google.com/site/liuxinyu95/squeak.dev.chinese.books.guzd...
> > > 是我若干年前用"物体"翻译的一篇文章,读起来也觉得可以接受。
>
> > > 2011/4/17 Xin Wang <dram.w...@gmail.com>
这个没问题。
> 推而广之,如果我们不折磨孩子,我们为什么要折磨作为程序员?只是由于要背负历史包袱么?
问题在于,你说"物件导向"时,你就是在折磨我的耳朵。语言就是约定俗成的。如果一个程序员把Object说成"物件",他难道就不需要了解有人说"对象"是同一个意思吗?所以把Object翻译成"物件"是增加了麻烦,而不是减少了麻烦。多一个翻译,多一个麻烦。大家统一点好不好。
>
> On Apr 18, 1:17 pm, lin wang <wlunlimi...@gmail.com> wrote:
>> 这是何苦呢?这种翻译本来就是以约定俗成为准,Object翻译为"对象"在大陆这边已经是一个本专业的习惯了,如果要改,请问,是否考虑过成本?有时间折腾这种问题,为何不多关心关心C++本身的发展呢?翻译本身就没有绝对的准确,只要能把英文要表达的主要意思传递给中文读者,让他们能很清晰地明白就行了。更何况,要学习一个编程语言的概念,最简单的就是去用它写代码,想靠折腾翻译来让读覩从字面完全理解,根本就是个吃力不讨好的事。翻译的任务是让目标读者能尽可能少成本地明白,而不是为了所谓的准确先搞出一堆特定词把读者绕晕。
>>
>> 要不我们就此来 对比一下 "物件 、"物件导向"、"物体" 和
>> "对象"几个中文,我想,是个程序员都会有明确的倾向。不管英文原意如何,至少"物件"这个中文词在大陆是生僻的,"物件导向"就更不用说了,这是应该叫短语了,"物件"本身已经够生僻的了,再来个导向,读者显然更不知所云了,真要用,显然必须还要先来给读者再解释一下中文里的"物件"和"物件导向"是个神马意思。"物体",中文母语中都会把它跟"实体"大致等同起来,重点在"物",具象表述。这显然跟Object想要表达的抽象意境相去太远。
>> 实在要用,请自动生成一个术语对比表,让机器自动根据不同的市场和读者群了事。
>>
>> 以上,有感而发,期盼各位老大多花点时间给群里的XDJM介绍些实在的东东,少浪费自已的生命。
--
Wu Yongwei
URL: http://wyw.dcweb.cn/
"對象"應該是哲學上object的譯法(sense 7),此時object亦可譯作"客體"、"客觀"。
維基解譯: "客體指可感知或可想像到的任何事物,既包括客觀存在並可觀察到的事物(如樹木、房屋,抽象的如物價、自由),也包括想像的事物(如神話人物)。"
若使用哲學詞彙翻譯object,似乎用"客體"更適合,因為較少歧義。
我覺得,日常中文用語中的"對象"並非哲學上的意思,更常見的用法是指目標人物,例如戀愛對象、調查對象。因此詞頻並不能當作準則,反而更高的詞頻會表示容易歧義。
而該詞典中object的第一個sense是"物體"、"實物"。有趣的是,第一個例句 There were various objects
on the table. 桌上有各色各樣"物件"。
在英語中,我覺得一般使用object-oriented這組詞語的人,也不會以哲學方式理解object,而是一般上理解object的意思,就是thing,如:
http://dictionary.cambridge.org/dictionary/british/object_1
object
noun ( THING ) /ˈɒb.dʒɪkt//ˈɑːb-/
Definition
[C] a thing that you can see or touch but that is not usually a living
animal, plant or person
a solid/material/physical object
a collection of precious objects
Look, there's a strange object in the sky!
在英語中,也可說 material object / abstract object去區分物理上和抽象上之事物。
2011/4/18 lin wang <wlunl...@gmail.com>:
--
2011/4/18 张国锋 <allni...@gmail.com>:
> 这个东西单纯在计算机领域讨论是没什么太大意思的。很多术语其实都是从哲学里引用来的,尤其是语言学。比如类型系统其实是从类型论发展来的;更不用说自动机理论和语言学的关系了。能满足以上要求的翻译者国内似乎还没听说过,而且即使在哲学领域的翻译也很成问题,他们自己都摸不准。
>
> 比如reflection,国内很多书翻译成"反射",这个简直风马牛不相及;北大裘宗燕翻译为"自省",这个明显好多了。哲学则一般翻译成"沉思","反思",比如:
>
> 思考和不断地沉思(thought and trains of reflections)
> 反思的处理(the operation of reflection)
> 笛卡尔的沉思,作为哲学反思的典范(Descartes' Meditations as the prototype of philosophical
> reflection.)
--
儿童长大了一定学些programming?学习programming一定学OO?学OO一定学C++,而不是OO的其他实现(请注意我前面关于继续
消息传递的OO实现的comments)?
可以确定的是,儿童长大了,在我们义务教育的体制下,一定会学习初等物理,一定会接触牛顿定律和经典力学。
此时Drive a Car这样的游戏能帮助儿童学习物理这样的自然科学和数学。而英语为母语的儿童在阅读Drive a Car时能很好的理解。
我们希望这样的好东西也能惠及仅懂中文的儿童。
Squeak的目的是帮助儿童学习自然科学和数学,而不是OOP。
我贴一下我5年前翻译的Drive a Car:
来自:https://sites.google.com/site/liuxinyu95/
squeakland.school.drive_a_car
今天回头看起来,我甚至想把project翻译成"作品",而不是"项目"。这也是因为我现在有了孩子,感触不同了吧。
"开汽车"
为小朋友们设计的第一个Squeak电子玩具(Etoy)。
孩子们如何设计,建造自己的汽车,如何让它转弯,如何驾驶?
这是一个很受欢迎的Squeak电子玩具项目,适合9,10和11岁的儿童。在这个项目中,孩子们将尝试设计一辆汽车,并且学习如何驾驶它。他们将使用
计算机提供的一切来制作他们想象的汽车,并可以和别的小朋友一起玩。接下来他们还可以让车乖乖地听话,按照他们的指令行驶,并且赛车,并学习如何制作有
趣的动画。
这个项目向他们介绍许多电子玩具的素材和工具(这也是向成年人解释Squeak的良好方式)
Squeak电子玩具桌面留出了最大面积的空白,以便让孩子们在上面创作和游戏。桌面上有一些折叠卡片书签,里面提供了各种工具、建议、帮助,还有一些
指向教师的链接。导航书签可以用来寻找、保存项目,并且提供访问"画笔"等工具的方法。
画笔工具
这个项目包括8部分
o 画一辆车
o 制作一个简单的脚本
o 用这个脚本开车
o 画一个方向盘,并且把他安到车上
o 找到如何更好的控制车的建议
o 画出车子的行驶轨迹,并且给车子做一个传感器
o 加入更多的脚本,在不画形式轨迹的时候发出声音
o 通过驾驶员考试
画一辆车
孩子们一开始要考虑,他们的汽车是什么样子的,然后在屏幕上把它画出来(对于这个年龄的孩子来说,这是一个不错的作品了)
画好后,要点一下画笔工具上的"保持(Keep)"按钮
如果把鼠标指针停在车子上面一会,就会出现一圈有用的"把手"
孩子们的画是一个图形对象,可以被缩放(使用黄颜色的把手)、旋转(使用蓝色的把手)和刷新(使用灰色把手)。
然后,孩子们使用潜蓝色的把手,"打开"车子看它的各种属性。
对于这个年龄段的孩子们来说,这些文字形式的属性比起能够直接操作的汽车图形要枯燥一些。
这个"蒙台梭利(Maria, 1870-1952意大利女医师及教育家)游戏"将利用"手-眼"舞台,潜移默化地让孩子们体会到符号的魔力。
但是符号可以让车子听话!例如,孩子们可以发现有一个属性,名叫"方向(heading)",如果点击上三角让这个数字变大,车子就会相应地旋转。
同样,如果用蓝色的把手让车子转动的话,"方向"属性的数值也会变化。
画出来的车子有一个方向,同时也有一个属性名叫"方向",他们是同一事物的两个不同的表达。车子的图片和车子的观察器实际上是"汽车"这同一概念的两个
不同表现。可以鼓励孩子们给这辆汽车起一个名字,例如"红色的车"来让他们更加清楚"同一事物的不同表达"这一观念。
有些属性,实际上表达了一些行为。例如有一个行为名叫:"前进:",如果点击这个行为前面的"感叹号",这个行为就会被触发执行,红色的汽车就会根
据"前进"指定的数字,向前运动一段距离。
还有一个行为名叫"转弯:"。触发它就可以让汽车按照指定的角度转弯。
制作一个简单的脚本
可以把行为拽出来,并且放到桌面上。这样就把它们变成了一个脚本。现在我们试试把"前进:"和"转弯:"这两个行为的小方块拽出来。
脚本上有一个钟表的图案,点击它就可以上脚本一直运行下去。
如果让车子不断前进5,并且不断转弯5,车子就会划圈运动。
为了搞清楚汽车究竟怎么运动,可以让车子一边走一边把轨迹画出来。车子的观察器中有一个"笔"的分类。
把"落笔"这个属性设置成"是"(true)。
可以看到,汽车实际上画出了一个漂亮的圆。
用这个脚本开车
如果试着把脚本中的数字改变一下,不论改变一个或者两个都改变,会发现车子虽然让然划圈,但是圆的大小不一样了。
很明显,这些十岁左右的孩子们会发现一个有趣的现象:前进一点,然后转弯好像就能画出圆形。成年人也许还记得一些复杂的公式,如x2 + y2 =
r2,并且会奇怪为什么这里会这样简单。因为从一只蚂蚁的角度看来,当它沿着圆的边沿前进时,一段圆只不过是一段曲率恒定的轨迹。它要做的只不过是不断
前进,不断转动同样的角度来走出一段漂亮的圆。
这种看待几何的方法被称为:"向量微分几何",它是自然科学中一种主要的数学方法。科学家们使用它,因为这种方法比目前12年级(相当于我们的高中)数
学课上讲授的普通方法更简单也更强大。(这句看来矛盾而又讽刺的话很值得深思)
但是孩子们决不仅仅满足于画圆,他们还希望能够继续,能够驾驶他们的汽车。
这是非常重要的一点:"寓教于乐"。我们这些成年人要承担起这样的工作:让孩子们在玩的过程中发出更多的"啊哈"的声音,而不是破坏他们的兴致。游戏进
行到现在,我们并不是在教他们某种数学,而是教他们如何成为真正的数学家。孩子们必须要和"数学"一起玩。
首先,孩子们发现,他们可以通过改变"转弯:"后面的数字控制他们的汽车方向。
这个数字越大,转弯越厉害。如果是0,汽车就直线前进。如果是个正数,汽车就向右转弯,负数则向左转。但是这样太不过瘾了,因为真正的汽车是由一个方向
盘控制的。
画出一个方向盘,并且把它安到车上
孩子们画出一个方向盘
这实际上和汽车是同样的物体,但是外表看起来大相径庭。孩子们把它命名为"方向盘",并且想起它也有一个"方向(heading)"属性。他们试着转动
方向盘,发现方向盘"方向"属性的数字会变大,变小,变成负数等等。
然后孩子们被告知,他们同样可以把"方向盘的'方向'"及其数字也拿出来,并且放到"转弯:"后面的数字上。一下子方向盘就可以控制汽车了!
这一刻会发自肺腑的闪现这样的念头:名字代表了数字!这是一个教10来岁孩子们变量这个概念的非常棒的方法。变量这个概念许多成年人甚至还搞不清楚。但
是孩子们却可以这样非常轻松并且印象深刻地理解它。大部分孩子们可以通过简单地探索这个例子而学会它。
但是车子有些难控制,因为方向盘传给车子的数字太大了,所以车子太过灵敏。孩子们会问如何能够做得更好。如果在课堂上,这是一个非常好的向他们讲授知识
的好机会。但是如果当时孩子们是在家里自己玩或者他们的老师也不是很确定究竟需要哪种数学知识的情况下,该怎么办呢?
找出如何更好的控制车的建议
孩子们可以使用互联网,并且Squeak系统的一部分是一个注册系统,已经完成了项目的孩子们可以被登记为"指导者"和同伴。同伴由一个牌子代表,上面
有名字和照片。
现在假设我们的一个名叫贝丝的孩子,在"朋友文件夹"里找到了一个住在日本京都名叫"Yasie"的小朋友,她在以前完成过这个项目。
她的牌子周围发光表示她目前在线,所以贝丝通过点击聊天按钮开始和她联系。
聊天工具支持文字和语音。这两个孩子于是通过聊天互相熟悉认识,之后贝丝向她的新伙伴询问如何能让她的车开起来更容易。Yasie说:"让我看看你的屏
幕",贝丝就按下桌面下方的"共享"按钮。
现在Yasie就有了一个显示贝丝情况的窗口,她可以通过这个窗口帮助贝丝。
光标上会显示她们的画像和名字。Yasie告诉贝丝,她可以通过点击绿色的三角形按钮,对方向盘转动的数字做一些算术运算。
点击后弹出了一个例子表达式。点击"+"号可以显示其他可用的运算
Yasie解释说,可以在这里使用除法("/"),你可以试着用3来除方向盘转动的数字。
于是调整除号"/"后面的数字变成3。
现在贝丝重新使用她的方向盘,并且发现车子真的变得很容易开了。
10岁以来,她第一次知道了除法的好处!
大多数孩子们觉得乘法和除法对他们的生活无关紧要。他们用不着乘除法去分割巧克力豆或比萨饼。乘法和除法可以用来缩放事物,但是孩子们几乎没有什么可以
用来缩放的东西。现在他们却体会到了。数学和他们的游戏有了直接的关系。
现在,贝丝拥有了一辆很棒的汽车了,她和Yasie决定一起玩赛车游戏。于是Yasie把她自己的汽车和方向盘放到共享世界中。
这个动作立刻被传送并反映到贝丝的桌面上。
Yasie 让她的共享窗口变成全屏幕显示,这样她的屏幕上就显示和贝丝屏幕上同样的内容。
现在她们两个开始进行你追我赶的赛车游戏,并且乐在其中。
还有更棒的主意,瞧瞧如何把汽车变成宇宙飞船?
30 年前,这不过还是一个梦想:孩子们将来有一天会拥有自己的个人笔记本"Dynabooks",他们可以用它来学习自然科学和数学。经过了很多年的
努力、实践、检验,这个梦想在今天终于变成了现实。在过去的几年中,数百名孩子们像贝丝和Yasie一样,利用这个动态的个人媒体计算机系统,建立了他
们自己的 "运动的艺术数学"。
我们刚刚完成了为大多数的孩子们准备的第一个完整的项目。对于孩子们来说,这个项目的结果是一个由很多好玩的玩具组成的一个更好玩的玩具。对于那些拥有
数学思维和理性头脑人来说,他们会看到孩子们正在用它来深入地学习变量、过程和微分模型。
--
LIU Xinyu
On Apr 18, 10:51 pm, lin wang <wlunlimi...@gmail.com> wrote:
> 不管面向什么人群,年纪如何,都要考虑沟通成本。"对象"这个词本身是非常常用的词,表达很清晰,虽然从儿童的角度看,"物体"这个概念似乎更直观,但它从一开始,就会产生误导,不容易形成OOP的思维。因为,OOP的本质特点之一,是抽象。更不要说,两种不同语言的沟通了,比如,与C++的沟通。试问,如果此时让他们接受了Object为"物体",那么当这些孩子大些了,要进入C++的天空时,Object又如何?再纠正吗?
> 另外,从实际上说,对8至11岁的儿童而言,"对象"跟"物体"两种概念的理解难易程度其实并不是数量级的差别,甚至可以说,没有什么差别。因为两者在大陆的日常生活中都是常用词。目前也没有研究表明这两个词的出现和使用频度有什么数量级的差别(据我所知没有这方面的数据,不知群里其它XD们有没有,请指正)。所以,为了这么一个甚至都不能确定的微乎其微的儿童接受度,就生生硬翻的作法,俺个人并不看好,属于人为制造障碍。
> 这个链接很好,正是它更能说明,使用"对象"比如"物体"更贴切。呵呵
>
> 2011/4/18 Yongwei Wu <wuyong...@gmail.com>
>
> > 2011/4/18 Larry, LIU Xinyu <liuxiny...@gmail.com>: