作者dzwei (Args&&... args)
看板WomenTalk
標題Re: [閒聊] 唸理工科的男生是不是都有點跩跩的
時間Wed Sep 2 00:09:40 2020
<以下稍長的廢文 慎入>
通常電機資工修某些程式/作業系統的課程
可能會遇到
* Stack
* Heap
這兩個名詞
Stack:
"程式執行前"即能"確定"我要用的程式記憶體大小
而配置的記憶體空間
稱為Stack
舉例來說
C語言的內建Array就是把資料放在這裡
Heap:
與Stack相反
要到"執行時期"才能知道我要用的程式記憶體大小
舉例來說
C語言中stdlib的malloc所產生的"動態陣列"
即是配置到此空間
稱為Heap
以上可能不需要電資的人
只要稍微摸過C語言的人
都能知道Stack和Heap的差異
沒學過的人可以這樣理解
Stack: 高鐵的指定席
Heap: 高鐵的自由座
問題來了
Stack/Heap要如何翻成中文?
給你參考對岸的翻譯
Stack: 棧/堆疊
Heap: 堆/堆積
聽完有沒有黑人問號??
我們看看劍橋辭典英文的解釋
Stack:
a pile of things arranged one on top of another
Heap:
an untidy pile or mass of things
有沒有恍然大悟
Stack和Heap的發明人(英語詞發明)為啥用這兩詞
Stack和Heap都有"堆"的意思
Stack比較整齊,而Heap比較亂
Stack因為可以事先安排記憶體空間
所以能比較整齊
Heap要執行時期才能安排記憶體空間
想當然程式千行萬行執行下來
整個是亂亂的(延伸閱讀: Linklist)
而中文的"堆"一詞沒能說明
是整齊的堆 還是髒亂的堆
這也是語言的奧妙
也是翻譯的藝術(難度)所在
可能沒有高手弄出比較好的翻譯
所以大家直接用Stack/Heap講到今天
理工科裡面
有很跩又很強的人
也有很謙虛又很強的人
然後我是因為火侯還不夠而不敢這麼跩QQ
以上
工科先生 撰
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.232.136 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/WomenTalk/M.1598976583.A.721.html
※ 編輯: dzwei (114.24.232.136 臺灣), 09/02/2020 00:21:52
推 marsonele: 其實就是專有名詞一般人沒聽過罷了 也不用扯理工男 像 09/02 02:17
→ marsonele: 是會計科目 「透過其他綜合損益按公允價值衡量之金融 09/02 02:17
→ marsonele: 資產未實現評價損益」 念完這一串也不知道是啥 09/02 02:17
我這篇要表達的是為啥大家都喜歡直接說
英文專有名詞的原因@@
然後
本文例子Stack/Heap
就是一個中文暫時沒人找到很好的翻譯
而英文本身的意義很符合的例子
以及
硬要翻成中文很多時候更會令人誤解
※ 編輯: dzwei (114.24.232.136 臺灣), 09/02/2020 02:27:28
→ cat0429: 我都學過,但當初大學只用原文書,所以中文我也不知道是 09/02 08:20
→ cat0429: 什麼。會計項目,你要用英文,我才會知道是啥。 09/02 08:20
推 Zionward: 本來就是講原文比較好,不用大腦還要另管一套用語 09/02 09:09
→ Zionward: 不過原原po只是在亂抬槓而已,真的強的RD態度常常很謙卑 09/02 09:10
推 winniekuma: 厲害的人會舉例讓對方了解 而不是兩手一攤直接用原文 09/02 15:17