從「同朕check下」談中文科技詞彙
2019-03-03
本站文章以中文寫作,本來為方便香港讀者,在芸芸的英文文章之中,有一個另類選擇。出乎意料之外,我們近日發現多了不少台灣讀者閱讀本站文章,細想一下,大概是因為 筆者寫文好用中文科技詞𢑥,如型別推論(Type Inference)、機器學習(Machine Learning)、超文本傳輸協定(HTTP)等,台灣的軟件工程師搜尋相關的詞語,自然容易找尋到本站。然而,中文的科技詞𢑥,對不少香港軟件工程師而言,其實並不常用,那是甚麼驅使筆者會堅持使用這些中文科技詞𢑥呢?是愛?還是責任呢?
現況
首先由歷史背景開始談起,香港作為曾經英國一百五十年的殖民地,英文一直處於官方語言的地位,在學校英文是必然主科,由幼稚園就開始就需要學習英文,因此港人習慣了言談間中英夾雜, 所謂「同朕check下」,正是無綫電視藝員陳豪飾演崇禎皇帝時,衝口而出一句「同朕check下」,以正統書面語而言,即是「幫朕檢查一下」。崇禎皇帝口出英語,眾多的電視台工作人員,竟無人發覺,可見港人中英夾雜,早已是生活的一部份。
日常生活對話尚且有大量中英夾雜,一直由美國推動的資訊科技一行,就更是中英夾雜的重災區,香港的軟件工程師,對專有名詞如React
、JavaScript
等當然照讀不誤,但其實連日常對話也是以英文取代科技詞𢑥的。以下一段對話,在香港是再正常不過:「你呢個class個field個modifier唔啱,應該要用keyword public出面先至access得到,你好少寫OO既code?」對照書面語,就是「你這個類別的屬性修飾符不對,應該要用關鍵字public,在類別以外才能存取啊,你很少寫物件導向的代碼嗎?」,後者雖然全是中文,但我相信大部份香港軟件工程師都覺得很難理解。
很奇怪嗎?絕大多數香港人的母語是粵語,卻必須借用英語的科技詞語,才能精準表達,這正是整件事吊詭之處。語言是思維的載體,不同語言間的翻譯,其實很難百分百準確。舉一簡單例子,
筆者在大學學習OO Design(也就是物件導向設計)時是以英文學習,所有講義、課堂上語言皆以英文為準,筆者學到class
的概念,其實並不理解class
作為「類別」的意思,最多聯想到學校中「班別」的意思,直到筆者看到原來class
的中文譯名是「類別」,才恍然大悟:「對啊,Ferrari
是Car
的subclass
,就是因為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
就是界面
,就是在寫程式時將定義屬性及方法的關鍵字,但對英語使用者,界面還可以解兩種物質中間表面,還有用在溝通的學問之上。
那何解還要再用中文呢?
言歸正傳,既然大多數香港軟件工程師已習慣用英文科技詞語理解,何解筆者還在用香港很少用的中文科技詞語呢? 當然有其原因所在。
中文科技文章不多
首先當然是因為中文科技文章的數量,比起英文科技文章非常缺少,這當然是因為資訊科技首先在美國快速發展,很多行業的先驅者皆是來自美國,加之英文為世界語言,連程式語言也只用英文,令致現今的科技世界,英文有壓倒性的優勢。為何中文科技文章這樣缺少呢?這是一個雞先還是蛋先(Chicken and Egg problem)
的問題:
- 缺少中文科技文章
- 一整代母語為中文的軟件工程師皆是閱讀英文文檔及文章去學習科技
- 專業的軟件工程師習慣了使用英文理解科技
- 缺乏使用機會,中文缺乏適當的詞彙去表達最新的技術
- 要全篇用中文表達對科技的看法很困難
- 缺少中文科技文章
可見由1至6,基本上缺少中文科技文章,就是由於很少軟件工程師開始時是閱讀中文去學習科技,令很少軟件工程師有興趣以中文寫作,因為一到了科技用語,還是得轉回英文,看起來很不痛快。 當然類似問題在其他語言一樣會出現,即使作為世界第三語言的西班牙文,也只有很少很少的科技文章及文檔。可是作為世界最多母語使用者的中文,應該可以做得更好吧?
幫助普羅大眾理解科技
英文作為國際語言,大部份人不論年齡學歷,或多或少都能理解簡單英文對答及英文句子。可是能夠理解簡單英文,跟能夠在Medium
上閱讀英文科技文章,乃是雲泥之別。不能閱讀英文,意味著不能夠理解英文文檔及文章。而絕大多數的科技文檔更是只有英文,不少以簡單著稱的系列例如Explain like i am five(當我像五歲一樣解釋)也是只有英文,所以只有五歲又能夠說英文的小童能夠理解。英文不好的話,廿五歲也理解不了。因此,對普羅大眾來講,科技本身是一面難攀爬的高牆,英文是前面另一面高牆,令有意學習的人更感氣餒。
可能你會想:「英文是世界語言,英文不好,當然學不了科技,應該要先學好英文然後再學科技啊!」其實這個想法只是基於現況的假設:如果我說「英文是世界語言,英文不好,當然學不了數學,應該要先學好英文然後再學數學啊!」這樣的說法就有明顯的錯謬。英文不好,學不了科技,正正是因為缺少學習科技的中文文章、教材、影片,當有許多中文內容學習科技,學習自然順理成章。不能夠因為現況如此,就以為情況必然如此。
中英對照助理解更深
就如上面所講,普羅大眾因為中文,能夠幫助理解科技概念及技術。那原本就能夠閱讀英文文章的高學歷人群呢?中文科技文章之出現,由於有機會可以中英對照,反而有助更深的理解。
上面的class
、interface
為一例,Compile
是編譯,就是將程式語言「翻譯」為機器碼;Artificial Neural Network
就是人工神經網絡,中文的名字很準確,就是模仿人類大腦的神經網絡,不過由人工所造;Blockchain
就是區塊鏈,就是一條由多塊區塊(Block)組成的鏈(chain);當然也有不少令人費解的例子,例如Convolutional Neural Network
是卷積神經網絡,卷積這個字由於源於數學,所以難以理解亦在所難免。
另一個好處,就是因為英文有時有簡稱及歧義,上面提過的Convolutional Neural Network
簡稱為CNN
,而中文可以作為補足,釐清簡稱的意思。好像現今軟件開發的CI/CD
就是
持續整合/持續部署
,整合與部署是地道中文,也準確的表達了原本英語的意思。Table
、Row
、Column
在Excel
中常常出現,對應的中文是表
、列
、欄
。也是非常準確表達了其中的意思。
香港的政府資訊科技總監辦公室(OGCIO)有一張科技詞語的中英對照表,也相當有參考價值。
總結
古人有言:「文以載道」。筆者寫文章除了為了讓讀者理解一些科技知識,也希望藉此推動使用中文科技詞彙,大家下次要寫科技用語,不妨細想一下是否有相應的中文詞彙,可能會有意外收獲呢。
Comments
Read More
馮紐曼
2018-12-28
今日是12月28日,115年前的今日,一位對現今電腦有深遠影響的天才出世了。他一生對數學、電腦科學、物理學貢獻良多,被譽為電腦科學其 中一位奠基人,與廣為人所知的艾倫‧圖靈齊名,他就是約翰‧ 馮紐曼(John von Neumann)。
寫Blog與寫Code
2019-01-07
在外國,程式設計師在課餘時間寫Blog是很平常的一回事,大家在找尋技術問題的解決方法時,除了全知的Stack Overflow之外, 很多時候閱讀的就是一些其他高手所撰寫的技術文章,博客平台如Medium等也應運而生。相較之下,香港甚少有聽聞程式設計師有寫博客的習慣,大概是由於 工作繁忙,抽身不暇。筆者此前也只是曾經在一些Facebook專頁寫過一些技術文,現在才算上是恆常出文。短短數月中,已感受到為何外國程式設計師如此樂 此不疲,即使要抽出私人時間,也會寫Blog出文。
Qubit能吃嗎?
2019-01-15
這幾天,各大科技網站都在報道IBM展示了世界上第一部商用的量子電腦, 不少科技網站也將量子計算形容為最期待的未來科技。那到底量子計算是何方神聖?為何令大家都引頸以待呢? 要理解量子計算的基本原理,最佳方法,就是由傳統的位元(bit)談起。
如何對治思維籠統
2019-01-23
以下情況相信大家似曾相識: > A公司希望完成一個專案,將專案外判給一間軟件開發公司B開發,專案開始後,總發覺B公司不太理解要求,製成品也與要求相去甚遠,與B公司的 > 程式設計師多次開會亦結果不彰,最終專案「爛尾」收場,A公司不得已又將專案再外判給C公司,同一問題似乎又再上演... 探究原因,何解此類問題經常出現?原因往往在於A公司的相關負責人本身沒有編程背景,因此給出的要求相當籠統,B公 司的程式設計師亦不理解A公司期望,因此導致專案最終失敗。 讀到這裏,大家可能會嚷道:「A公司的負責人當然沒有編程背景啦,不然A公司自己做就好了」其實問題重點不在於A公司本身是否有編程的專才,而在於產品 負責人(Product Owner)與程式設計師溝通良好與否,即使A公司本身有編程Team,如果溝通不良,專案失敗是不會改變的。要討論溝通良好與否,先 要理解平常人的思維方式,與程式設計師的思維方式,往往差別甚大。
Web Technology為何征服世界?
2019-02-05
2007年,蘋果宣佈發佈第一代iPhone,標誌智能電話時代的開始;一年之後Android亦宣告面世,從此時起,智能電話的發展迅速,Mobile App成為軟件的代 名詞,筆者初初成為軟件工程師時,總有朋友詢問我是否正在開發Mobile App,縱使筆者的專業一直都是網頁及後端開發之上。而其時亦有不少預測,預測[網站將會被Mobile App完全取代](https://searchenginewatch.com/sew/opinion/2414336/the-final-hurdle-is-cleared-apps-will-replace-websites)。網站所用的HTML、CSS、JS等,亦將成為歷史,送入博物館之內。
HTTP:互聯網的共同語言
2019-02-25
互聯網的共同**人類**語言是甚麼呢?答案是英文,根據[維基百科](https://en.wikipedia.org/wiki/Languages_used_on_the_Internet),世界上有五成四的網站都是以英文寫成,另外的四成六則以其他世界各地的語言寫成,所以說互聯網上的用家(即是各位)主要使用英文溝通也不為過。可是大家細想一下,互聯網上的電腦,又是怎樣互相溝通的呢?當你鍵入 `https://www.google.com`,為何遠在千里之外的Google伺服器,能夠與你桌上的手提電腦裏的Google Chrome溝通呢?這一切,要由互聯網誕生之初講起。