在程式裡 Asynchronous, Synchronous, Synchronize - 非同步、同步,的中文翻譯之謎
2021-04-15 Edited
這是一篇從字意出發,讓你徹底搞懂這些詞為啥這樣翻譯的文章。
前言
首先,以下一張經典的前端程式執行任務時序圖,相信大家都不陌生。類似的圖,常被用來解釋 Asynchronous(非同步通訊), Synchronous(同步通訊) 兩者模式不同之處。
這張圖機制上是解釋得很清楚了,但因為中文版翻譯問題常常還是會弄混。
某些人理解了倆模式的不同之處,但在是啥中文名詞對應啥模式時,還是常常搞混。(例如我)
最後只能死記硬背。
Synchronize(同步)
在解釋 Asynchronous(非同步通訊), Synchronous(同步通訊) 這兩個專有名詞前,先來講一下日常生活會用到的 Synchronize(同步) 這個動詞。
在英文中,一般生活對話(非專業對話)中還蠻常用的,例如:
How do I sync my iPhone photos to my computer?
這句話翻譯是:
如何將我 iPhone 上的照片,同步到我的電腦上?
其中 sync
是 Synchronize 的縮寫同義字。在這被翻譯成了同步
。
而中文的這個同步,指的是同步狀態
、把狀態同步化
。意即:
我如何能讓我電腦能跟我蘋果手機一樣有那些照片,兩者間是資料同步(同樣步伐、一致)的狀態?
好,了解中文意思了,再來確定一下英文解釋。
Google 一下 Synchronize 的英文解釋,你會查到
to cause something to happen in a planned way at exact times.
再把 Synchronize 字根拆解一下
- syn~: 共同
- ~chron~: 時間
- ~ize: 使...化成...
使兩者,同時間化?有點抽象不能理解...
此時要借助神之字典 Urban Dictionary
。
此字典乃網友自行解釋,通常在正規字典裡很難理解的,到這邊看看網友寫的,會比較容易搞懂。
在上面查了 sync,排名第一的解釋是這樣:
to be in a same state of mind or thinking.
好,這邊總算寫出了 sync 這字,有使...成為同一個狀態
的含義。
覺得還是不夠清楚,那再借助 wiki(網友編的百科)看看
資料同步
,英文即 data sync,在 google 輸入 data sync wiki
,查詢到 Wiki: Data synchronization
Data synchronization is the process of establishing consistency among data from a source to a target data storage and vice versa and the continuous harmonization of the data over time.
簡單解釋就是在說
資料同步就是同一時間下,保持兩邊資料是一致的
這下終於理解了...
Asynchronous(非同步通訊), Synchronous(同步通訊)
這倆,在一般對話中就難看到了。
在程式裡,
- Asynchronous
- Synchronous
此兩者指的是通訊專業的
- Asynchronous Communication(非同步通訊)
- Synchronous Communication(同步通訊、就是 real-time communication 即時通訊)
兩機制。這倆講的是,多人通訊時的通訊模式。
專有名詞嘛,用全名時,其實不容易搞混。
但是中文翻譯常常是簡化他,只說同步 / 非同步
,問題就出在這。
正常一般人中文聊天使用同步
這二字,
可能是在表示
在這同一時間,我們都做,一起做
(我們同步進行),是說做事開始時間一致,當下大家同一時間開始進行,你不等我我也不等你。(但這是非同步通訊
的實現)
也有可能是指
我們狀態一致
(我們資訊是同步的),是講資料狀態一致。
中文同步,指的是一致
。
而英文的 Synchronous,則是在重點強調 ... at the same time
,同時
。
也就是說,專有名詞同步通訊
的同步,是有著特殊意義的詞。
而日常生活同步
的同步,則要看是否被當成同步通訊的簡寫,否則容易跟慣用意思搞混。
舉個例來說:
老闆:接下來我們
同步
進行吧!
這意思是我們同時間開始做,但各做各的(非同步通訊
)。
接下來再回到這張圖
在程式裡 Synchronous 指的是執行指令發出後,同時間內會等著此指令執行完畢,結果返回。
而 Asynchronous 則是在說交給某程式去執行,但沒要等結果回傳。
這篇解釋得很清楚:https://docs.plm.automation.siemens.com/content/pl4x/18.1/T4EA/en_US/Teamcenter_Gateway-Technical_Connectivity_Guide/synchronous_vs_asynchronous.html
待續...