This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#1 2012-03-20 03:54:58

zhq49
New Scratcher
Registered: 2011-03-30
Posts: 4

关注byob 3.1

这段时间关注了一下BYOB 3.1,发现这是一个非常棒的编程平台,在Scratch 1.4中无法实现的许多事情,BYOB 3.1中都得到了非常好的解决,而且用一个非常棒的方式实现了OOP(面向对象编程)。现在我正在试图翻译BYOB 3.1的编程指南手册,想与大家共同讨论BYOB 3.1中一些专业词汇的翻译问题。
BYOB 3.1最重要的一个特征:Everything First-Class
这个特征就如果Java中大名鼎鼎的Everything is Object (一切都是对象) 一样

现在的问题是:First-Class 以及 First Class Data 应该如何翻译?

我现在基于自己对这个编程平台的初步认识,给出的翻译是:

First-Class 元类型

First Class Data 元数据

Everything First-Class 一切都是元数据

Offline

 

#2 2012-03-20 04:30:06

zhq49
New Scratcher
Registered: 2011-03-30
Posts: 4

Re: 关注byob 3.1

有关 First Class Data 定义的翻译:

以下是在编程指南中的定义,说得比较简略:

A data type is “first class” in a programming language if data of that type can be
●  the value of a variable
●  an input to a procedure
●  the value returned by a procedure
●  a member of a data aggregate
●  anonymous (not named)

下面的这段更详细一些,摘自http://wiki.scratch.mit.edu/wiki/Build_Your_Own_Blocks_(Scratch_Modification)#First_Class_Data

The phrase "first class data" was coined by computer scientist Christopher Strachey, who argued in the 1960s that any data type that exists in a language at all should be first class. This means that data of that type
●  can be the value of a variable.
●  can be an input to a procedure (Scratch: block).
●  can be reported by a procedure.
●  can be a member of an aggregate (Scratch: list).
●  can exist without having a name.

我给出如下译文:

    “元数据”这个名词,由计算机科学家克里斯托弗·斯雷奇在1960年代的提出,他认为计算机编程语言中的任何数据都应该具有“元类型”数据的特征。
    在程序中,如果某种类型的数据有如下特征,可以称之为“元类型”

    ●  这种类型的数据可以保存到变量中
    ●  这种类型的数据可以作为过程的输入参数 [在Scratch中“procedure 过程”就是一个command模块(译为“命令模块”)]
    ●  这种类型的数据可以作为函数过程的返回数据 [在Scratch中“function procedure 函数过程”是一个reporter模块,是有求解计算功能的模块,调用reporter将可以得到一个返回数据,reporter可直译为“报告模块”或译为“函数模块”]
    ●  这种类型的数据可以作为某个数据结构中的成员数据 [在Scratch中唯一的数据结构就是 list 链表,链表是一种构造能力极强的工具,结合“元类型”的实现,可以创建出几乎所有传统的数据结构]
    ●  这种类型的数据是可以独立存在的,不需要依赖于赋予给它的名称,而是可以直接使用

       事实上,当BYOB 3.1将“procedure 过程”也实现为元数据,仍至于“一切都是元类型”之后,BYOB就自然而然地成为了OOP语言(面向对象编程语言)

Offline

 

#3 2012-03-25 00:48:44

zhq49
New Scratcher
Registered: 2011-03-30
Posts: 4

Re: 关注byob 3.1

查阅了许多相关的英文资料,最终确知 First Class 应该理解为形容词 “优等的” 或 “优质的” ,First Class Data 即为 “优质数据” 或 “优等数据” ,意思是:这种数据的编程可操作性非常好,这一点从 First Class 的说明上可以看到。补充说明:在 First Class 的特性中还有一点: can be constructed at run-time ,即“这种数据可以在程序运行时动态构建”。
相应的,有些编程语言中的某些对象虽然不完全符合 First Class 的特性规定,但能够符合大多数规定条款,有时候也称这样的对象是 Second-Class 的,也就 “次等” 或 “次优的”。例如,C 和 C++ 语言中的Function就是Second-Class 的,因为C中的Function只能静态定义,不能动态构建。但除了这一点之外,C语言中的Function符合剩余的全部特性规定,所以仍然是一种非常好的一类数据,即 Second-Class 次优的数据。

如上所述,将 First Class 翻译为“元类型” , 将 First Class Data 翻译为 “元数据” 是错误的!  First Class 中的 Class 在语意上与 OOP 中的 “Class 对象的类” 并没有关联。

Offline

 

#4 2012-03-25 15:27:16

soniku3
Scratcher
Registered: 2011-12-08
Posts: 1000+

Re: 关注byob 3.1

我不是中国人,但我检查这只是...


internet's all about cats today.

Offline

 

#5 2012-03-30 18:56:49

jimmyscratchlab
Scratcher
Registered: 2010-07-15
Posts: 45

Re: 关注byob 3.1

First Class 或可翻譯為 頭等 特級 甲等


zhq49 wrote:

查阅了许多相关的英文资料,最终确知 First Class 应该理解为形容词 “优等的” 或 “优质的” ,First Class Data 即为 “优质数据” 或 “优等数据” ,意思是:这种数据的编程可操作性非常好,这一点从 First Class 的说明上可以看到。补充说明:在 First Class 的特性中还有一点: can be constructed at run-time ,即“这种数据可以在程序运行时动态构建”。
相应的,有些编程语言中的某些对象虽然不完全符合 First Class 的特性规定,但能够符合大多数规定条款,有时候也称这样的对象是 Second-Class 的,也就 “次等” 或 “次优的”。例如,C 和 C++ 语言中的Function就是Second-Class 的,因为C中的Function只能静态定义,不能动态构建。但除了这一点之外,C语言中的Function符合剩余的全部特性规定,所以仍然是一种非常好的一类数据,即 Second-Class 次优的数据。

如上所述,将 First Class 翻译为“元类型” , 将 First Class Data 翻译为 “元数据” 是错误的!  First Class 中的 Class 在语意上与 OOP 中的 “Class 对象的类” 并没有关联。

Offline

 

#6 2012-03-30 23:07:14

a1130
Scratcher
Registered: 2009-08-27
Posts: 500+

Offline

 

#7 2012-04-07 12:10:37

soniku3
Scratcher
Registered: 2011-12-08
Posts: 1000+

Re: 关注byob 3.1

我已经使用byob Mod,我真的很喜欢它!


internet's all about cats today.

Offline

 

#8 2012-04-08 13:47:11

vicred
New Scratcher
Registered: 2012-04-08
Posts: 2

Re: 关注byob 3.1

byob是scratch的一个分支吗?楼主有博客之类的吗?希望关注一下

Offline

 

#9 2012-05-14 09:41:44

wanggc
New Scratcher
Registered: 2012-05-14
Posts: 5

Re: 关注byob 3.1

能够提供关于byob 3.1
的一些网站吗。上百度搜了一下,没有查到。

Offline

 

Board footer