zoukankan      html  css  js  c++  java
  • Stack为什么翻译成栈?- 根据字形来辨别容易混淆的堆和栈

    Heap: an untidy collection of objects placed haphazardly on top of each other. 原意是懒散无序地垒在一块,翻译成“堆”是十分合理的。

    但是Stack明明有叠、摞luò、垛地意思,表示LIFO的秩序,TW翻译成堆叠就很容易理解,不容易和堆弄混淆,简体为何翻译成"堆栈|栈"呢?

    虽然我个人觉得这个翻译十分不负责任,明明中文中有很好的替代字可以规避歧义,但无奈已经成为行业约定俗成的东西,正如很多数学名词也是因为翻译复杂化、歧义化。

    那么只有去强行理解栈这个字了,如果想当然地理解为“客栈”、“栈道”,就会陷入无法区分堆、栈和Heap、Stack的对应关系。

    我因此困扰过很多次,直到偶然看到说文解字中关于栈的解释。

    首先,栈的繁体是棧, 左侧的木只是表示材料性质,而右侧则是表意的戔,这里可以看见上下层叠的结构(当然戋中间平行的两横也可以看做上下层叠结构,甚至两横一撇完全可以看作上下结构)。

    其次,根据《说文解字》,栈棚互训,也就是两个字相通。又有

    栈,棚也。——《说文》。按,栅者,竖编之,棚者,横编之。

     ”

    根据字形和说文的按,可以知道栅栏是竖着的条子,就像现在的栅栏,是竖条横排。

    而棚(即栈)对应的则是横条竖排,这就像一叠木头从下往上排列,也就和Stack的意思对应起来了。

     
     
    宛如智障,暗藏锋芒
  • 相关阅读:
    重构该何时登场
    重构
    中国剩余定理
    连分数的应用
    连分数的性质
    有限连分数与欧几里德除法的联系
    连分数
    费马大定理
    P4178 Tree 点分治
    LOJ 6029. 「雅礼集训 2017 Day1」市场
  • 原文地址:https://www.cnblogs.com/zienzir/p/15221607.html
Copyright © 2011-2022 走看看