V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aiqier
V2EX  ›  程序员

为什么老一辈程序员喜欢说“堆栈”,不是应该堆是堆,栈是栈么?

  •  
  •   aiqier · 2018-11-30 18:45:58 +08:00 · 4186 次点击
    这是一个创建于 1944 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是因为当时的教材翻译的有问题,还是因为内存分段,有一个段叫“堆栈段”,一直不理解原因,而且他们一般说的堆栈,就是栈。

    15 条回复    2018-12-01 17:12:14 +08:00
    enenaaa
        1
    enenaaa  
       2018-11-30 18:48:04 +08:00
    当年书上都这么写的, 习惯了。
    ljpCN
        2
    ljpCN  
       2018-11-30 18:48:12 +08:00
    因为内存分段吧,堆栈是在一起的,只不过各自在两端增长而已。
    lastpass
        3
    lastpass  
       2018-11-30 18:50:10 +08:00 via Android
    因为之前堆栈都是指向同一个内存区域啊。只不过,你在这头,我在那头。
    dobelee
        4
    dobelee  
       2018-11-30 19:04:25 +08:00 via Android   ❤️ 1
    中国、中国北京、北京,的区别。明显后面两个指的是同一个东西。
    1a0ma0
        5
    1a0ma0  
       2018-11-30 19:09:38 +08:00 via iPhone
    堆栈 stack,堆 heap。
    ClutchBear
        6
    ClutchBear  
       2018-11-30 19:16:17 +08:00
    java 编程思想这本书就是说的堆栈,
    我搞了好久才明白是栈, 而不是堆加栈
    dacapoday
        7
    dacapoday  
       2018-11-30 19:20:42 +08:00
    笼统的说,尤其当时 c 的内存布局,“堆” 和 “栈” 是在一起的(同一个地址段)。只不过一个在高位往低位增长,另一个反之。
    huaouo
        8
    huaouo  
       2018-11-30 19:23:15 +08:00 via Android
    😶不是堆栈简称栈么
    anonymous256
        9
    anonymous256  
       2018-11-30 19:25:09 +08:00 via Android
    翻译导致的问题,简单的解决办法,只说 stack 和 heap,就清舒服了
    tomoya92
        10
    tomoya92  
       2018-11-30 19:27:02 +08:00 via iPhone
    老一辈人。。。
    standin000
        11
    standin000  
       2018-11-30 19:29:04 +08:00
    习惯堆栈指栈,堆大家关注得少
    wanderpoet
        12
    wanderpoet  
       2018-11-30 19:29:25 +08:00 via iPhone
    技术的东西还是看英文吧
    dacapoday
        13
    dacapoday  
       2018-11-30 19:29:44 +08:00
    之前有人提过国内 术语 翻译的问题: https://www.v2ex.com/t/510210#reply40
    还有人为翻译成“堆栈”叫好来着。
    402124773
        14
    402124773  
       2018-12-01 12:29:30 +08:00
    学 c 的好像都是这么说的,不知道怎么就成了老一辈了
    marcong95
        15
    marcong95  
       2018-12-01 17:12:14 +08:00
    wikipedia 里面搜栈也是会重定向到堆栈的。而且我好像印象中没有遇到看见过“堆栈”一齐指 stack and heap 的这种用法?

    所以只是一个翻译问题?

    stack = 堆栈、栈、堆叠( tw )
    heap = 堆、堆积( tw )

    其实是没有重合部分的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5510 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:00 · PVG 17:00 · LAX 02:00 · JFK 05:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.