Program 程式, Code 程式碼, Codebase 程式基底, Source Code 源始碼/源碼(原始碼), Object Code 目的碼
今天來探討一下與中文「程式」一詞,相關的資訊領域英文詞翻譯。 程式 首先,我們先來瞭解一下,什麼是「程式」啊? 打開教育部國語詞典,會看到下列介紹: 訂立一定的準式以為法則。 《管子・明法》:「法者,天下之程式也。」近似詞:法式 格式。 如:「公文程式」。 引導電腦依特定方式運作並產生結果的一組指令。 程式一詞,最早的概念是指法則規範,一套明確的規則系統,給天下人作規範之用。起先中文的「程式」一詞,代表的是英文的 Code。 後來電腦時代開始,所謂 Program 、 Code 都是一套寫下的來的規則系統,給機器作執行之用。 Program, Code Program 一詞偏向有目的導向情境,即為了完成某項作業內容,而設計出來的機器執行規則,隱含目的性質。 Code 一詞偏向物件指稱情境,即專指寫下來的那一套機器執行規則內容,隱含本源性質。 當時的譯者,將 Program 譯為程式,Code 譯為程式碼,透過這個「碼」的詞眼,來強調出給機器(如編譯器、直譯器等)讀的代碼規則內容。 而這裡的代碼,指的是各程式語言(無論高階、低階)所約定使用的指代用詞符碼,像是 if、else、AND、XOR 等等這些「碼」。 Codebase 最近在協助 Standard for Public Code 作翻譯校對時,看到 Codebase 一詞,以及該專案《詞彙表》中的解釋,讓我在想怎麼稱呼它才合適?是程式碼基底嗎?程式基底呢?或是代碼庫? Codebase 的解釋翻譯成中文後是這樣子的: 任何獨立分離的統合包,內含執行部分政策或軟體所需的程式(包含源碼與政策)、測試與文件等的整套內容。 舉例而言,這個具體形式可以是文件,或是版本控制的儲存庫。 喔喔喔!所以 Codebase 指的是那一整套讓「程式」可以執行運作的「底下的內容」(含源碼和其他一切東西),可以放在文件或儲存庫裡。 所以很明顯的,這裡的 Code 指涉程式的本源性質,而 Base 是基底,那麼 Codebase 就是「程式基底」了,和什麼庫無關。值得留意的是,雖然這裡的 Code 描述了程式的本源性質,但不能完全對應為程式「碼」,因為它也同時包含源碼 以外 的物件。 也有人將 Codebase 直譯為「源碼庫」的,以源碼二字指出程式的本源概念,雖不那麼適切,但還可以理解與接受。 Sour