為何國內開源項目難以持久?這個重要原因從無人提及_風聞
吴烜-2020-08-17 14:48
先做個小實驗:寫一段 50 字左右的中文隨筆,再用英文寫一遍同樣的內容。這是我剛寫的:
首先,你先看了哪段?
這就是第一個大問題:第二語言寫就的內容,不如母語寫的看着吸引人。説什麼自然語言和代碼完全不搭噶的,請自己去了解“代碼可讀性”。換言之,寫出的英文代碼往往更沒有擁有感。國外有個很常見的説法:“take ownership of your code”。寫出的代碼感覺是“你自己的”,才有更多的動力去維護去改進。如果看到英文就沒有讀的慾望,還怎麼持久?
二,第二語言不如母語寫的方便。個人在國外也有段時間了,工作生活英文交流即使不算流利,至少過關。寫上面英文版本的仍然不比寫中文的省勁。這還是先寫了中文版的情況下,不需構思內容只要翻譯即可。再看看用詞用語和表達,更不如中文的靈動。
為什麼上面兩點對開源項目影響尤其大?很簡單:因為開源項目不賺錢(相對閉源項目而言)。這決定了開源項目需要創作者的更大激情和內驅力才能維繫。最大的動力是什麼?也許是某個理想,但更原始的動力,是樂趣。
從小到大,只有一件事做起來有趣味,才會有內驅力。用母語讀寫,用語更靈活自由,更體現個性。比比小學畢業寫的中文作文,和大多數高中生寫的英文豆腐乾,高下立判。能夠充分的表達自己的意圖和情緒,是寫作的最大目標,也是最能給作者帶來快樂的。那麼,為什麼寫代碼要逼着自己用第二語言呢?
第一,仍有很多開發者還不知道絕大多數常用編程語言早已支持中文命名標識符這一事實。
第二,也許更重要的,是認為,只要是開源項目就“必須”在代碼中用“國際語言”——英文。
這,太,扯。
把代碼放到 GitHub 上,就是為全人類作貢獻了??理想很豐滿,現實呢?在 Rust 語言支持非ASCII碼標識符的討論中,來自 Mozilla 的 Manishearth就指出:
早已有大量庫除了命名之外的所有文檔都用非英文編寫,比如騰訊的 wepy,他就不會用。用了中文命名之後,也不會更糟。如果一個庫流行到有英文文檔的程度,很可能那時也會用英文命名了。至於如果庫用了不認識的語言,那就——不用。
這還是大廠的兩萬✨開源項目。沒有完備的英文文檔,國外開發者用都不會用(或者説都不屑於瞭解項目內容,因為發言者是 Rust 開發組的,感覺不會閒的寫個小程序玩吧),更不用説看你的代碼了。
更不用説九成九的開源項目都屬於自娛自樂,自始至終都不會有第二個人蔘與。逼着自己寫爛英文命名噁心自己是什麼趣味?
想學習英文當然是好,只有寫代碼自己練習一條路嗎??跑去路上給外國遊客當志願者啥的,不比宅家裏用誰都看不到的“英文”代碼忽悠自己來的效果好一萬倍??
用最近很火的在 Python 中使用中文命名的萬星項目鎮樓:
一言蔽之:因地制宜,不搞一刀切。