轉 什么是“原語”


http://blog.chengyichao.info/2011/03/14/primitive/

什么是“原語”

第一次看到“原語”這種提法還是在學習操作系統的時候,而且要么不碰到,一碰就是一雙,“PV操作”這對原語就是我最先接觸到的操作系統原語。當年 Alan Turing 在定義圖靈機六個基本操作的時候也用了 primitive 這個詞。當時覺得“原語”這個詞很陌生,於是上網查了一下,大部分的解釋都包含了“原子操作”的概念,事實上知道原語英文(primitives)的朋友應該知道它和“atomic”並沒有多大關聯,這說明“原語”和“原子”都姓“原”僅僅是一個巧合,盡管所有的“原語”看上去都是原子操作,但是它的定義絕對不僅限於此。

后來我在一個外國的論壇上找到了答案,具體的說法我已經忘了,簡單地講就是“石頭、剪刀、布”這三樣東西,除了“石頭”是原語,而“剪刀”和“布頭”不算,為什么呢?因為剪刀和布頭都是人工合成的,而石頭是渾然天成的。因此“原語”這個單詞的定義還是要從它的英文原詞 primitive 出發,也就是“原始”的意思。

我們知道物質的最小組成單位絕非原子,比原子小的是質子,比質子小的還有誇克。那么為什么我們看到一把剪刀以后很容易想到它的各個組成部分(比如鋒利的部分用鐵制成,而握的地方用塑料),而看到一塊石頭以后,腦子里還是只有一塊石頭,而不是各種礦物質的名稱呢?原因是在人類形成最早語言的過程中還不知道什么是礦物質,眾所周知人類的視力其實是很差的,只能看到光譜上面很小的一段可見光,也不能像顯微鏡一樣看見的東西,直到道爾頓發現原子,人類科學才算走上了正軌。

計算機是一門人造科學,因此真正意義上的“原語”是不存在的。操作系統層面上的“原語”(比如 write 之類的系統調用)對程序員來講的確是不可分割的最小單位,但是這寫系統調用本身還是用好幾句匯編語句組成的(對於 Linux 來說是 C 語言)。可能有人要說到了機器代碼這一級就不能再分了,但事實上一條機器指令也是由好幾個組合邏輯信號構成的。同樣的道理,控制信號也不過是無數電子在器件內部漂移的結果。

因此定義“原語”的前提是觀察者所處的位置。一旦規定了觀察者的位置和觀察的角度,比如就在操作系統的這層上,read,wirte,wait這些個系統調用自然就是最“原始”的詞匯,這也是為什么“原語”會在操作系統中頻繁出現的緣故。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM