谁能给我说道说道这些"术语"区别?

2020-05-22 17:51:55 +08:00
 dioxide

目前想到的几组:

  1. copy 、clone 、duplicate
  2. call 、invoke 、apply
  3. iteratee 、iterator
  4. buffer 、cache

从英语惯用法、在程序设计中的本质概念两个角度来看,它们的区别是?

4276 次点击
所在节点    程序员
28 条回复
dier
2020-05-22 17:55:15 +08:00
说个我理解的 buffer 和 cache
Chowe
2020-05-22 17:57:38 +08:00
safety & security
dier
2020-05-22 17:58:48 +08:00
呃,还没说完就发出去了;
buffer 在计算机中常用于数据从内存到硬盘的缓冲,防止硬盘写不过来;因为内存读写比硬盘快太多
cache 是用来提交内存到 CPU 交换效率的缓存;因为 CPU 计算比内存读写更快
这是我的一些理解
jimmy2010
2020-05-22 18:01:29 +08:00
我也有一个:
arm64 和 aarch64 ?
dioxide
2020-05-22 18:09:22 +08:00
@dier, 这样看来,buffer 似乎常用在在快慢设备 /模块中,做数据的批量同步, 最终表现为时间换空间的特性; 而 cache 最终似乎都表现为空间换时间的特性.
chendy
2020-05-22 18:11:04 +08:00
dioxide
2020-05-22 18:11:59 +08:00
@Chowe, 这个我理解: 前者是广义宽泛的安全,后者则通常侧重值机密性方面的安全
no1xsyzy
2020-05-22 18:27:51 +08:00
copy 是指数据的副本,clone 是指功能上一致的副本(底层可以任意打乱)也允许一定程度的改变,而 duplicate 含义比较多,考虑在比较词义,就采用近义的那个使动用法,强调了数据同时存在的副本,和其中一者的非必要性(值得注意的是 redundancy,表示同时存在的副本具有必要性)。除了 duplicate 强调同时存在外 copy 和 clone 没有本质区别,实际上混用影响不大。
invoke 是请求,可以拒绝,call 强调子程,apply 强调函数。
iteratee 是被迭代的数据,iterator 是迭代器,迭代器包含被迭代的数据或者能够构造对被迭代数据的引用。
buffer 是时间上的移动平均或者逆移动平均; cache 是空间上的捷径。
no1xsyzy
2020-05-22 18:29:22 +08:00
@Chowe #2 safety 是一时的状态,security 是持久的维护。
dioxide
2020-05-22 18:33:21 +08:00
@no1xsyzy, 3q, 这么一说,理解更丰富了. 这不但要英语学的好,语文还得过关啊
newtype0092
2020-05-22 18:38:42 +08:00
很多这种东西都是碰巧来的吧。
大部分编程大牛都不是语言学家,有时候就是顺手选个又短又好记还带点关系的词。
很多关键词在不同编程语言里含义都不是完全相同,用英语用法去分析在程序中的概念感觉就像用中文给英语单词注音的助记法一样:surly(暴躁的)-> 失礼 这种感觉。。。
murmur
2020-05-22 18:40:58 +08:00
call 和 apply,这不就 js 的两种调用方法么,只不过参数不同
dioxide
2020-05-22 18:43:01 +08:00
@newtype0092, 所以才从英语惯用法、在程序设计中的本质概念两个角度来区分理解啊. 至于不同语言的语义不同,那只能说尽量求同存异的理解了.
WeKeey
2020-05-22 19:05:32 +08:00
string
Android2MCU
2020-05-22 19:50:44 +08:00
为什么不是 git copy
shyangs
2020-05-22 20:01:20 +08:00
信息和消息
有什麼區別
dioxide
2020-05-22 20:02:20 +08:00
@Android2MCU, 这种可能仅仅因为作者就是选了这个词. 另外,我总体上感觉,clone 通常比 copy 的动作要大. 底层做到工作要多
dioxide
2020-05-22 20:04:27 +08:00
@shyangs, 呃, 这得看语境了, 在程序设计中,前者当然比后者更宽泛.
Jony4Fun
2020-05-22 20:06:07 +08:00
感觉英文还是要放在具体的语境 Context 中才能用中文来解释。
个人认为 copy 和 clone 就是浅拷贝和深拷贝
buffer 一般指内存中的一段空间,用来进行数据读写的,比如 read(fd, buffer), write(fd, buffer);而 cache 主要是将部分常用的数据放在一个比原介质更快的介质中,达到加速查询的目的。
shyangs
2020-05-22 20:12:02 +08:00
首选项
的『首』什麼意思, 首選項和選項有什麼區別.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/674469

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX