术语质量的重要性 [英] The Importance of Terminology's Quality

查看:111
本文介绍了术语质量的重要性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想介绍一下Stephen Wolfram关于Mathematica设计

过程的博客文章。特别是,他谈到了

命名功能的重要性。


a?¢一万小时的设计评论(2008年1月10日)作者Stephen

Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/


问题是合适的今天在这里,我们讨论了最近的一个封闭术语?b $ b术语,以及这些术语a ?? lisp 1 vs lisp2a ?? (多-

意思是空间vs单意义空间),一个??尾递归??,一个?? curryinga ??,

a ?? lambdaa ??,那个常年出现在这里和其他地方的电脑

语言论坛中的狂野误解和骚动。


Mathematica中的功能通常都是非常好的名字,相比之下

到大多数其他计算语言。特别是,作为斯蒂芬·沃尔夫勒姆(Stephen Wolfram)在上面的博客中所暗示的数据中的命名,可以通过捕获本质或数学来获得命名的视角。

b $ b本质,关键字的问题。 (相反,根据惯例命名它

,这通常来自历史事件)

当一个东西从其实际上的角度来看是有名的/>
a ?? mathematicallya ??是的,与历史发展相反,它避免了大量的潜在混淆。


让我举几个例子。

a?¢a?lambdaa ??,广泛用作函数式语言中的关键字,命名为

只是一个??功能??在Mathematica。 a ?? lambdaa ??在符号逻辑领域被称为

,是由于使用了希腊字母

lambda a ???? a ??通过偶然事件。这个词并没有传达它意味着什么。

虽然,名字一个??功能一个??,代表数学概念

a ?? functiona ??按原样。


a?¢模块,Block,在Mathematica中是在lisp'的各种a ?? let * a ??。

lisp'的关键词a ?? leta ??,是基于英文单词a ?? leta ??。这个词

是具有多种含义的英语单词之一。如果你在字典中查找它的定义,你会看到它意味着很多不同的东西。其中一个,就像在'let''s goa ??中一样,具有

a ?? permit的含义;引起allowa ??。从数学意义上讲,这个含义相当模糊。 Mathematica对Module,Block的选择基于

,它构建了一个独立的代码段。 (但是,

在这里选择Block作为关键词并不完美,因为单词

的含义就像一个阻碍; jama ??)


a?¢从列表中取出元素的功能名称为First,

Rest,Last,Extract,Part,Take,Select,Cases,DeleteCases ...作为

反对一个?? cara ??,一个?? cdra ??,一个?? filtera ??,一个?? filtera ??,一个?? popa ??,一个?? shifta ??,

a ?? unshifta ??,在lisps和perl以及其他langs中。


以上是一些例子。需要注意的是,Mathematica的

选择通常是这样的,即单词代表自己的含义

尽可能以某种逻辑和独立的方式,没有

依赖于特定的计算机科学领域的背景或

历史。确认这一点的一个简单方法是,使用一个关键字并询问一个广泛的受众,他们不会对这种语言有所了解,甚至不熟悉计算机编程的b $ b。猜猜它意味着什么。广泛的受众可以由数学家,科学家,工程师,程序员组成,b
非专业人士。这个普通观众,更有可能正确地猜出这些语言中的关键字是什么,而不是在其他计算机语言中使用的名称

命名选择符合惯例或

上下文。


(例如,Perl的命名很大程度上依赖于unix文化(grep,

pipe,hash ...),而功能性lang'的命名通常基于数学逻辑领域(例如lambda,currying,
$ b $) b关闭,monad,...)。Lisp'的缺点,汽车,cdr,都是基于电脑

硬件(这个特殊的命名,对lisp造成了重大损害

语言到今天)。(其他例子:pop,shift是基于

计算机科学术语的一个堆栈??。Grep来自Global Regular

表达式打印,而正则表达式来自理论上的自动机的计算机科学...名称正则表达式已经完成了主要的隐藏

对t的伤害他是计算行业,从某种意义上讲,如果它只是将它称为字母模式,那么很多解释,文献,

的混淆,本来就是避免。))


(注意:Mathematica中的关键字或函数不一定总是最好命名为
。也没有一个绝对的选择是最好的,因为

是许多其他的考虑因素,例如广泛存在的广泛使用的b $ b约定,使用函数的上下文,简洁,

英语语言的限制,不同的科学背景(例如数学,物理,工程学),甚至人类喜好。)


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


关于重要性的许多问题自从大约2000年以来我写过了关于

术语质量的影响。以下是

相关论文:


a?¢信息技术行业的jargons
http:// xahlee.org/UnixResource_dir/writ/jargons.html


a?¢行话a ?? Lisp1a ?? vs a ?? Lisp2a ??
http://xahlee.org/emacs /lisp1_vs_lisp2.html


a?¢计算机科学的期限
http://xahlee.org/UnixResource_dir/writ/currying.html


a?¢什么是关闭用编程语言
http://xahlee.org/UnixResource_dir/ writ / closure.html


a?¢什么是OOP的Jargons和复杂性
http://xahlee.org/Periodic_dosage_dir/t2/oop.html


a? ¢Sun Microsystem滥用术语a ?? APIa ??和一个界面??
http:// xahlee .org / java-a-day / interface.html


a?数学术语和事物的命名
http://xahlee.org/cmaci/notation/math_namings.html


Xah
xa*@xahlee.org

a ?? http://xahlee.org/

a? ?

I''d like to introduce a blog post by Stephen Wolfram, on the design
process of Mathematica. In particular, he touches on the importance of
naming of functions.

a?¢ Ten Thousand Hours of Design Reviews (2008 Jan 10) by Stephen
Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/

The issue is fitting here today, in our discussion of a??closurea??
terminology recently, as well the jargons a??lisp 1 vs lisp2a?? (multi-
meaning space vs single-meaning space), a??tail recursiona??, a??curryinga??,
a??lambdaa??, that perennially crop up here and elsewhere in computer
language forums in wild misunderstanding and brouhaha.

The functions in Mathematica, are usually very well-name, in contrast
to most other computing languages. In particular, the naming in
Mathematica, as Stephen Wolfram implied in his blog above, takes the
perspective of naming by capturing the essense, or mathematical
essence, of the keyword in question. (as opposed to, naming it
according to convention, which often came from historical happenings)
When a thing is well-named from the perspective of what it actually
a??mathematicallya?? is, as opposed to historical developments, it avoids
vast amount of potential confusion.

Let me give a few example.

a?¢ a??lambdaa??, widely used as a keyword in functional languages, is named
just a??Functiona?? in Mathematica. The a??lambdaa??happend to be called so
in the field of symbolic logic, is due to use of the greek letter
lambda a????a?? by happenstance. The word does not convey what it means.
While, the name a??Functiona??, stands for the mathematical concept of
a??functiona?? as is.

a?¢ Module, Block, in Mathematica is in lisp''s various a??let*a??. The
lisp''s keywords a??leta??, is based on the English word a??leta??. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you''ll see that it means many
disparate things. One of them, as in a??let''s goa??, has the meaning of
a??permit; to cause to; allowa??. This meaning is rather vague from a
mathematical sense. Mathematica''s choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn''t perfect, since the word also
has meanings like a??obstruct; jama??)

a?¢ Functions that takes elements out of list are variously named First,
Rest, Last, Extract, Part, Take, Select, Cases, DeleteCases... as
opposed to a??cara??, a??cdra??, a??filtera??, a??filtera??, a??popa??, a??shifta??,
a??unshifta??, in lisps and perl and other langs.

The above are some examples. The thing to note is that, Mathematica''s
choices are often such that the word stands for the meaning themselves
in some logical and independent way as much as possible, without
having dependent on a particular computer science field''s context or
history. One easy way to confirm this, is taking a keyword and ask a
wide audience, who doesn''t know about the language or even unfamiliar
of computer programing, to guess what it means. The wide audience can
be made up of mathematicians, scientists, engineers, programers,
laymen. This general audience, are more likely to guess correctly what
Mathematica''s keyword is meant in the language, than the the name used
in other computer languages who''s naming choices goes by convention or
context.

(for example, Perl''s naming heavily relies on unix culture (grep,
pipe, hash...), while functional lang''s namings are typically heavily
based on the field of mathematical logic (e.g. lambda, currying,
closure, monad, ...). Lisp''s cons, car, cdr, are based on computer
hardware (this particular naming, caused a major damage to the lisp
language to this day). (Other examples: pop, shift are based on
computer science jargon of a??stacka??. Grep is from Global Regular
Expression Print, while Regular Expression is from theoretical
computer science of Automata... The name regex has done major hidden
damage to the computing industry, in the sense that if it have just
called it a??string patternsa??, then a lot explanations, literatures,
confusions, would have been avoided.))

(Note: Keywords or functions in Mathematica are not necessarily always
best named. Nor are there always one absolute choice as best, as there
are many other considerations, such as the force of wide existing
convention, the context where the function are used, brevity,
limitations of English language, different scientific context (e.g.
math, physics, engineering), or even human preferences.)

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

Many of the issues regarding the importance and effects of
terminology''s quality, i''ve wrote about since about 2000. Here are the
relevant essays:

a?¢ Jargons of Info Tech Industry
http://xahlee.org/UnixResource_dir/writ/jargons.html

a?¢ The Jargon a??Lisp1a?? vs a??Lisp2a??
http://xahlee.org/emacs/lisp1_vs_lisp2.html

a?¢ The Term Curring In Computer Science
http://xahlee.org/UnixResource_dir/writ/currying.html

a?¢ What Is Closure In A Programing Language
http://xahlee.org/UnixResource_dir/writ/closure.html

a?¢ What are OOP''s Jargons and Complexities
http://xahlee.org/Periodic_dosage_dir/t2/oop.html

a?¢ Sun Microsystem''s abuse of term a??APIa?? and a??Interfacea??
http://xahlee.org/java-a-day/interface.html

a?¢ Math Terminology and Naming of Things
http://xahlee.org/cmaci/notation/math_namings.html

Xah
xa*@xahlee.org
a?? http://xahlee.org/

a??

推荐答案



< xa **** @ gmail.comwrote in message

新闻:f4 ********************************** @ u12g2000 prd.googlegroups.com ...


[...]


(例如,Perl的命名很大程度上依赖于unix文化(grep,
$ b) $ b pipe,hash ...),...


" hash" +" pipe" ;? Ahhhhh,/难怪/ Perl是语法混杂! br />
;-)


<xa****@gmail.comwrote in message
news:f4**********************************@u12g2000 prd.googlegroups.com...

[...]

(for example, Perl''s naming heavily relies on unix culture (grep,
pipe, hash...), ...

"hash" + "pipe"? Ahhhhh, /no wonder/ Perl is the syntactic mishmash it is!
;-)


? Mathematica中的Module,Block是lisp'的各种?let * ?.
? Module, Block, in Mathematica is in lisp''s various ?let*?. The

lisp'的关键字?let ?,基于英文单词?let?。这个词

是具有多种含义的英语单词之一。如果你在字典中查找它的定义,你会看到它意味着很多不同的东西。其中一个,如让我们去?,含义为

?permit;引起允许?。从数学意义上讲,这个含义相当模糊。 Mathematica对Module,Block的选择基于

,它构建了一个独立的代码段。 (但是,

在这里选择Block作为关键词并不完美,因为单词

的意思是?obstruct; jam?)
lisp''s keywords ?let?, is based on the English word ?let?. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you''ll see that it means many
disparate things. One of them, as in ?let''s go?, has the meaning of
?permit; to cause to; allow?. This meaning is rather vague from a
mathematical sense. Mathematica''s choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn''t perfect, since the word also
has meanings like ?obstruct; jam?)



如果let的目的是引入一个或多个变量绑定,那么我不知道改变块或模块会如何改进

什么的。我总是觉得解析它是非常直观的(让((x

5))...)让x为5。另外,用你提供的

同义词替换let将大约产生允许x为5或允许x为5。在我看来你已经构建了一个争论

赞成放在这里(显然它比阻止更好,因为

没有人会出现并成为关于是否让他们感到困惑

阻碍或堵塞他们:)


在CL规范中有很多简单的目标可供选择。让我们不是一个


If the purpose of let is to introduce one or more variable bindings,
then I don''t see how changing to block or module would improve
anything. I''ve always found it fairly intuitive to parse (let ((x
5)) ...) to "let x be five". Additionally, replacing let with the
synonyms you provided would approximately yield "permit x to be five"
or "allow x to be five". In my mind you have constructed an argument
in favor of let here (obviously it''s better than block, because
nobody''s going to come along and be confused about whether let will
"obstruct" or "jam" them :)

There are many easy targets to poke at in the CL spec. let isn''t one
of those.


2008年5月7日星期三16:13:36 -0700(PDT), ; xa **** @ gmail.com"

< xa **** @ gmail.comwrote:
On Wed, 7 May 2008 16:13:36 -0700 (PDT), "xa****@gmail.com"
<xa****@gmail.comwrote:

> I 我想介绍一下Stephen Wolfram关于Mathematica设计过程的博客文章。特别是,他谈到了命名功能的重要性。

?一万个小时的设计评论(2008年1月10日)作者:Stephen
Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/
<这个问题今天在这里适合我们讨论的?闭包?
最近的术语,还有jargons?lisp 1 vs lisp2? (多个意思是空间与单一意义的空间),尾递归,cur cur,
?lambda,常常在这里和其他地方出现在计算机上的语言论坛误解和骚扰。

Mathematica中的功能通常是非常好的名称,与大多数其他计算语言形成鲜明对比。特别是,Mathematica中的命名,正如Stephen Wolfram在上面的博客中所暗示的那样,通过捕获所讨论的关键词的本质或数学本质来获取命名的视角。 (相反,根据惯例命名它,这通常来自历史事件)
当一个东西从它的实际角度来看是否有名称?数学?与历史发展相反,它避免了大量潜在的混淆。

让我举几个例子。

? ?lambda?,广泛用作函数式语言中的关键字,仅仅命名为
?功能?在Mathematica。 ?lambda?发生在符号逻辑领域被称为
,是由于使用了希腊字母
lambda ???通过偶然事件。这个词并没有表达它意味着什么。
虽然,名称?功能?,代表
?功能的数学概念?原样。
>I''d like to introduce a blog post by Stephen Wolfram, on the design
process of Mathematica. In particular, he touches on the importance of
naming of functions.

? Ten Thousand Hours of Design Reviews (2008 Jan 10) by Stephen
Wolfram
http://blog.wolfram.com/2008/01/10/t...esign-reviews/

The issue is fitting here today, in our discussion of ?closure?
terminology recently, as well the jargons ?lisp 1 vs lisp2? (multi-
meaning space vs single-meaning space), ?tail recursion?, ?currying?,
?lambda?, that perennially crop up here and elsewhere in computer
language forums in wild misunderstanding and brouhaha.

The functions in Mathematica, are usually very well-name, in contrast
to most other computing languages. In particular, the naming in
Mathematica, as Stephen Wolfram implied in his blog above, takes the
perspective of naming by capturing the essense, or mathematical
essence, of the keyword in question. (as opposed to, naming it
according to convention, which often came from historical happenings)
When a thing is well-named from the perspective of what it actually
?mathematically? is, as opposed to historical developments, it avoids
vast amount of potential confusion.

Let me give a few example.

? ?lambda?, widely used as a keyword in functional languages, is named
just ?Function? in Mathematica. The ?lambda? happend to be called so
in the field of symbolic logic, is due to use of the greek letter
lambda ??? by happenstance. The word does not convey what it means.
While, the name ?Function?, stands for the mathematical concept of
?function? as is.



Lambda不是函数 - 它是一个函数构造函数。一个更好的

名称可能是MAKE-FUNCTION。


我(可能还有其他你可能会问过的)会同意这个术语

" lambda"并不表示它的含义,但它的含义并非

与function同义。正如你所建议的那样。


我怀疑Mathematica只遵循历史惯例本身。

Mathematica使用不恰当的术语就像在(br)中使用的那样/>
Pascal(大约1970年)。我不知道早期(ab)用途但是

可能是一些。

Lambda is not a function - it is a function constructor. A better
name for it might be MAKE-FUNCTION.

I (and probably anyone else you might ask) will agree that the term
"lambda" is not indicative of it''s meaning, but it''s meaning is not
synonymous with "function" as you suggest.

I suspect Mathematica of just following historical convention itself.
Mathematica uses the term inappropriately just as it was (ab)used in
Pascal (circa 1970). I''m not aware of earlier (ab)uses but there
probably were some.


>? Mathematica中的Module,Block是lisp'的各种?let * ?.
lisp'的关键词?let ?,基于英文单词?let?。这个词
是具有多种含义的英语单词之一。如果你在字典中查找它的定义,你会发现它意味着许多不同的东西。其中一个,如让我们走了?,具有
?permit的含义;引起允许?。从数学意义上讲,这个含义相当含糊。 Mathematica对Module,Block的选择是基于它构建一个独立的代码段的想法。 (但是,在这里选择Block作为关键词并不完美,因为这个词还有
含义如?obstruct; jam?)
>? Module, Block, in Mathematica is in lisp''s various ?let*?. The
lisp''s keywords ?let?, is based on the English word ?let?. That word
is one of the English word with multitudes of meanings. If you look up
its definition in a dictionary, you''ll see that it means many
disparate things. One of them, as in ?let''s go?, has the meaning of
?permit; to cause to; allow?. This meaning is rather vague from a
mathematical sense. Mathematica''s choice of Module, Block, is based on
the idea that it builds a self-contained segment of code. (however,
the choice of Block as keyword here isn''t perfect, since the word also
has meanings like ?obstruct; jam?)



让我们是引入变量的首选数学术语。

Lisp在该含义中使用它。一句话是什么意思或不是英语

与其在另一种语言中的使用并不特别相关。

是两种人类语言的许多实例,使用相同的

单词,含义非常不同。为什么计算机语言应该免费?

"Let" is the preferred mathematical term for introducing a variable.
Lisp uses it in that meaning. What a word means or doesn''t in English
is not particularly relevant to its use in another language. There
are many instances of two human languages using identical looking
words with very different meanings. Why should computer languages be
immune?


>?将元素排除在列表之外的函数被命名为First,
Rest,Last,Extract,Part,Take,Select,Cases,DeleteCases ......作为
反对?car?,?cdr?,?过滤器?,?过滤器?,?pop ?,?shift ?,
?unshift ?,在lisps和perl以及其他langs中。
>? Functions that takes elements out of list are variously named First,
Rest, Last, Extract, Part, Take, Select, Cases, DeleteCases... as
opposed to ?car?, ?cdr?, ?filter?, ?filter?, ?pop?, ?shift?,
?unshift?, in lisps and perl and other langs.



Lisp有第一个和休息 - 这只是汽车的同义词。和

" cdr"。较老的程序员通常更喜欢汽车和cdr的历史原因,但很少有人反对使用first和rest,除了

语义原因--Lisp没有列表数据类型,列表是从原始对数据类型构造的
聚合。对可以是用于构建树木以及列表和休息的对象。没有什么意义

树。当与列表一起使用时,首先和休息是有意义的术语

并且没有人会反对它们。


除此之外,你可以轻松地创建汽车和cdr的同义词(以及几乎任何其他Lisp函数的
)读者没有比使用C宏更多的代码负担。你可以打电话给他们首先和

休息,或第一和第二,或左右,或红色和黑色

或者其他任何对你的数据有意义的东西。


从其他语言进入Lisp的人经常抱怨他们必须学习的宏语

一种新的语言 ;每次他们阅读一个

计划。但实际上,所有语言都是如此 - 读者

总是要学习用户定义的函数以及它们的使用方式

来理解代码。从这个意义上说,Lisp与其他任何语言都没有区别。


Common Lisp没有过滤。即便如此,关于调用函数extract的

的优点。或选择与过滤器相比,我认为这只是一个熟悉的问题。术语过滤器是指过滤器。传达

a比其他人更通用的想法,并且可以通过参数化,

执行任一功能。

Lisp has "first" and "rest" - which are just synonyms for "car" and
"cdr". Older programmers typically prefer car and cdr for historical
reasons, but few object to the use of first and rest except for
semantic reasons - Lisp does not have a list data type, lists are
aggregates constructed from a primitive pair data type. Pairs can be
used to construct trees as well as lists and "rest" has little meaning
for a tree. When used with lists, first and rest are meaningful terms
and no one will object to them.

Besides which, you easily create synonyms for car and cdr (and
virtually any other Lisp function) with no more burden on the reader
of your code than using a C macro. You can call them "first and
rest", or "first and second", or "left and right", or "red and black"
or whatever else makes sense for your data.

People coming to Lisp from other languages often complain of macros
that they have to learn "a new language" every time they read a
program. But in fact, the same is true in all languages - the reader
always has to learn the user-defined functions and how they are used
to make sense of the code. In that sense Lisp is no different from
any other language.

Common Lisp doesn''t have "filter". Even so, with respect to the
merits of calling a function "extract" or "select" versus "filter", I
think that''s just a matter of familiarity. The term "filter" conveys
a more general idea than the others and can, by parameterization,
perform either function.


>以上是一些例子。值得注意的是,Mathematica的选择往往是这样的,即单词本身就是以某种逻辑和独立的方式代表意义,而不依赖于特定的计算机科学领域的背景或历史。确认这一点的一个简单方法是,使用关键字并询问广大的受众,他们不会对语言或甚至不熟悉的计算机编程知道,猜测它意味着什么。广泛的受众可以由数学家,科学家,工程师,程序员,外行人组成。这个普通观众更有可能正确地猜测出Mathematica的关键词在语言中是什么意思,而不是在其他计算机语言中使用的名称
按照惯例命名选择或<上下文。

(例如,Perl的命名很大程度上依赖于unix文化(grep,
pipe,hash ...),而功能性lang'的命名是通常是基于数学逻辑领域(例如lambda,currying,
closure,monad,......).Lisp'的缺点,汽车,cdr,都是基于计算机
硬件(这个特定的命名,对今天的lisp
语言造成了重大损害)。(其他例子:pop,shift基于计算机科学行话?堆栈?。Grep来自Global Regular
表达式打印,而正则表达式来自Automata的理论计算机科学......名词正则表达式对计算行业造成了重大隐患,因为它只是<叫它吗?字符串帕特燕鸥?,然后很多解释,文学,混淆,本来可以避免。))

(注意:Mathematica中的关键词或功能不一定总是最好的命名。也没有最好的绝对选择,因为还有许多其他的考虑因素,例如广泛存在的惯例的力量,使用函数的环境,简洁性,
限制英语,不同的科学语境(例如数学,物理,工程),甚至是人类的喜好。)

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

关于
术语质量的重要性和影响的许多问题,自2000年以来我写过。这里是
相关论文:

?信息技术产业的Jargons
http://xahlee.org/UnixResource_dir /writ/jargons.html

?术语?Lisp1? vs?Lisp2?
http://xahlee.org/emacs/lisp1_vs_lisp2。 HTML

?计算机科学学期限
http://xahlee.org/ UnixResource_dir / writ / currying.html

?什么是编程语言关闭
http://xahlee.org /UnixResource_dir/writ/closure.html

?什么是OOP的Jargons和复杂性
http:// xahlee .org / Periodic_dosage_dir / t2 / oop.html

? Sun Microsystem滥用术语?API?和?界面?
http://xahlee.org/ java-a-day / interface.html

?数学术语和事物命名
http://xahlee.org/ cmaci / notation / math_namings.html


Xah
xa*@xahlee.org
http://xahlee.org/


>The above are some examples. The thing to note is that, Mathematica''s
choices are often such that the word stands for the meaning themselves
in some logical and independent way as much as possible, without
having dependent on a particular computer science field''s context or
history. One easy way to confirm this, is taking a keyword and ask a
wide audience, who doesn''t know about the language or even unfamiliar
of computer programing, to guess what it means. The wide audience can
be made up of mathematicians, scientists, engineers, programers,
laymen. This general audience, are more likely to guess correctly what
Mathematica''s keyword is meant in the language, than the the name used
in other computer languages who''s naming choices goes by convention or
context.

(for example, Perl''s naming heavily relies on unix culture (grep,
pipe, hash...), while functional lang''s namings are typically heavily
based on the field of mathematical logic (e.g. lambda, currying,
closure, monad, ...). Lisp''s cons, car, cdr, are based on computer
hardware (this particular naming, caused a major damage to the lisp
language to this day). (Other examples: pop, shift are based on
computer science jargon of ?stack?. Grep is from Global Regular
Expression Print, while Regular Expression is from theoretical
computer science of Automata... The name regex has done major hidden
damage to the computing industry, in the sense that if it have just
called it ?string patterns?, then a lot explanations, literatures,
confusions, would have been avoided.))

(Note: Keywords or functions in Mathematica are not necessarily always
best named. Nor are there always one absolute choice as best, as there
are many other considerations, such as the force of wide existing
convention, the context where the function are used, brevity,
limitations of English language, different scientific context (e.g.
math, physics, engineering), or even human preferences.)

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

Many of the issues regarding the importance and effects of
terminology''s quality, i''ve wrote about since about 2000. Here are the
relevant essays:

? Jargons of Info Tech Industry
http://xahlee.org/UnixResource_dir/writ/jargons.html

? The Jargon ?Lisp1? vs ?Lisp2?
http://xahlee.org/emacs/lisp1_vs_lisp2.html

? The Term Curring In Computer Science
http://xahlee.org/UnixResource_dir/writ/currying.html

? What Is Closure In A Programing Language
http://xahlee.org/UnixResource_dir/writ/closure.html

? What are OOP''s Jargons and Complexities
http://xahlee.org/Periodic_dosage_dir/t2/oop.html

? Sun Microsystem''s abuse of term ?API? and ?Interface?
http://xahlee.org/java-a-day/interface.html

? Math Terminology and Naming of Things
http://xahlee.org/cmaci/notation/math_namings.html

Xah
xa*@xahlee.org
? http://xahlee.org/

?



George

-

用于电子邮件回复删除" /"来自地址

George
--
for email reply remove "/" from address


这篇关于术语质量的重要性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆