從「同朕check下」談中文科技詞彙

 Gordon Lau 劉偉中

Gordon Lau 劉偉中

2019-03-03

本站文章以中文寫作,本來為方便香港讀者,在芸芸的英文文章之中,有一個另類選擇。出乎意料之外,我們近日發現多了不少台灣讀者閱讀本站文章,細想一下,大概是因為 筆者寫文好用中文科技詞𢑥,如型別推論(Type Inference)、機器學習(Machine Learning)、超文本傳輸協定(HTTP)等,台灣的軟件工程師搜尋相關的詞語,自然容易找尋到本站。然而,中文的科技詞𢑥,對不少香港軟件工程師而言,其實並不常用,那是甚麼驅使筆者會堅持使用這些中文科技詞𢑥呢?是愛?還是責任呢?

現況

首先由歷史背景開始談起,香港作為曾經英國一百五十年的殖民地,英文一直處於官方語言的地位,在學校英文是必然主科,由幼稚園就開始就需要學習英文,因此港人習慣了言談間中英夾雜, 所謂「同朕check下」,正是無綫電視藝員陳豪飾演崇禎皇帝時,衝口而出一句「同朕check下」,以正統書面語而言,即是「幫朕檢查一下」。崇禎皇帝口出英語,眾多的電視台工作人員,竟無人發覺,可見港人中英夾雜,早已是生活的一部份。

check-for-me.png

Source

日常生活對話尚且有大量中英夾雜,一直由美國推動的資訊科技一行,就更是中英夾雜的重災區,香港的軟件工程師,對專有名詞如ReactJavaScript等當然照讀不誤,但其實連日常對話也是以英文取代科技詞𢑥的。以下一段對話,在香港是再正常不過:「你呢個class個field個modifier唔啱,應該要用keyword public出面先至access得到,你好少寫OO既code?」對照書面語,就是「你這個類別的屬性修飾符不對,應該要用關鍵字public,在類別以外才能存取啊,你很少寫物件導向的代碼嗎?」,後者雖然全是中文,但我相信大部份香港軟件工程師都覺得很難理解。

很奇怪嗎?絕大多數香港人的母語是粵語,卻必須借用英語的科技詞語,才能精準表達,這正是整件事吊詭之處。語言是思維的載體,不同語言間的翻譯,其實很難百分百準確。舉一簡單例子, 筆者在大學學習OO Design(也就是物件導向設計)時是以英文學習,所有講義、課堂上語言皆以英文為準,筆者學到class的概念,其實並不理解class作為「類別」的意思,最多聯想到學校中「班別」的意思,直到筆者看到原來class的中文譯名是「類別」,才恍然大悟:「對啊,FerrariCarsubclass,就是因為Ferrari是車的一種。」即使筆者不明白class作為類別的意思,還是完全能夠理解class當中的意涵,正因由於學習時已直接使用英文科技詞語,香港的軟件工程師表達時就會出現中英夾雜的狀況。

class Car{

    constructor(private engine:Engine,private tyre:Tyre){
        
    }

    // implementation of Car here
}

class Ferrari extends Car{
    // Implementation of Ferrari here
}

有趣的是,像筆者一般,不完全理解英文科技詞語本來意思的工程師(例如reducer到底本意何解?),其實也不少,有時還有意想不到的好處。筆者早初以為以英語為母語的外國人,因語言優勢,會較容易理解科技詞語的背後意思,事實上是他們往往會有較多意思上的聯想,反而理解上有困難。例如於我們而言,interface就是界面,就是在寫程式時將定義屬性及方法的關鍵字,但對英語使用者,界面還可以解兩種物質中間表面,還有用在溝通的學問之上

interface.png

那何解還要再用中文呢?

言歸正傳,既然大多數香港軟件工程師已習慣用英文科技詞語理解,何解筆者還在用香港很少用的中文科技詞語呢? 當然有其原因所在。

中文科技文章不多

首先當然是因為中文科技文章的數量,比起英文科技文章非常缺少,這當然是因為資訊科技首先在美國快速發展,很多行業的先驅者皆是來自美國,加之英文為世界語言,連程式語言也只用英文,令致現今的科技世界,英文有壓倒性的優勢。為何中文科技文章這樣缺少呢?這是一個雞先還是蛋先(Chicken and Egg problem)的問題:

chicken-egg.jpg

Source

  1. 缺少中文科技文章
  2. 一整代母語為中文的軟件工程師皆是閱讀英文文檔及文章去學習科技
  3. 專業的軟件工程師習慣了使用英文理解科技
  4. 缺乏使用機會,中文缺乏適當的詞彙去表達最新的技術
  5. 要全篇用中文表達對科技的看法很困難
  6. 缺少中文科技文章

可見由1至6,基本上缺少中文科技文章,就是由於很少軟件工程師開始時是閱讀中文去學習科技,令很少軟件工程師有興趣以中文寫作,因為一到了科技用語,還是得轉回英文,看起來很不痛快。 當然類似問題在其他語言一樣會出現,即使作為世界第三語言的西班牙文,也只有很少很少的科技文章及文檔。可是作為世界最多母語使用者的中文,應該可以做得更好吧?

幫助普羅大眾理解科技

英文作為國際語言,大部份人不論年齡學歷,或多或少都能理解簡單英文對答及英文句子。可是能夠理解簡單英文,跟能夠在Medium上閱讀英文科技文章,乃是雲泥之別。不能閱讀英文,意味著不能夠理解英文文檔及文章。而絕大多數的科技文檔更是只有英文,不少以簡單著稱的系列例如Explain like i am five(當我像五歲一樣解釋)也是只有英文,所以只有五歲又能夠說英文的小童能夠理解。英文不好的話,廿五歲也理解不了。因此,對普羅大眾來講,科技本身是一面難攀爬的高牆,英文是前面另一面高牆,令有意學習的人更感氣餒。

可能你會想:「英文是世界語言,英文不好,當然學不了科技,應該要先學好英文然後再學科技啊!」其實這個想法只是基於現況的假設:如果我說「英文是世界語言,英文不好,當然學不了數學,應該要先學好英文然後再學數學啊!」這樣的說法就有明顯的錯謬。英文不好,學不了科技,正正是因為缺少學習科技的中文文章、教材、影片,當有許多中文內容學習科技,學習自然順理成章。不能夠因為現況如此,就以為情況必然如此

中英對照助理解更深

就如上面所講,普羅大眾因為中文,能夠幫助理解科技概念及技術。那原本就能夠閱讀英文文章的高學歷人群呢?中文科技文章之出現,由於有機會可以中英對照,反而有助更深的理解。 上面的classinterface為一例,Compile是編譯,就是將程式語言「翻譯」為機器碼;Artificial Neural Network就是人工神經網絡,中文的名字很準確,就是模仿人類大腦的神經網絡,不過由人工所造;Blockchain就是區塊鏈,就是一條由多塊區塊(Block)組成的鏈(chain);當然也有不少令人費解的例子,例如Convolutional Neural Network是卷積神經網絡,卷積這個字由於源於數學,所以難以理解亦在所難免。

另一個好處,就是因為英文有時有簡稱及歧義,上面提過的Convolutional Neural Network簡稱為CNN,而中文可以作為補足,釐清簡稱的意思。好像現今軟件開發的CI/CD就是 持續整合/持續部署,整合與部署是地道中文,也準確的表達了原本英語的意思。TableRowColumnExcel中常常出現,對應的中文是。也是非常準確表達了其中的意思。

香港的政府資訊科技總監辦公室(OGCIO)有一張科技詞語的中英對照表,也相當有參考價值。

glossory.png

總結

古人有言:「文以載道」。筆者寫文章除了為了讓讀者理解一些科技知識,也希望藉此推動使用中文科技詞彙,大家下次要寫科技用語,不妨細想一下是否有相應的中文詞彙,可能會有意外收獲呢。

留言

延伸閱讀

HTTP:互聯網的共同語言

Web Technology為何征服世界?

如何對治思維籠統

Qubit能吃嗎?

寫Blog與寫Code

馮紐曼