1. 程式人生 > >最近一波對中文程式設計(包括中文命名)的攻勢

最近一波對中文程式設計(包括中文命名)的攻勢

相信很多人看到了這篇文章: 如果我們的程式設計替換成中文會變成怎樣?-聚能聊-雲棲社群-阿里雲

由於帶著太明顯的水文氣息, 不禁花點功夫進行探究. 下面是之前的發現(原帖在專用帖: 對中文程式設計的質疑, 困惑, 批評, 吐槽請到此處 · Issue #44 · program-in-chinese/overview)

剛找到了第一張圖的出處, 居然還是知乎貼: 四年前的田雅夫:如果計算機是由中國人發明的,那麼程式設計時寫程式碼會是全中文嗎?相信原作者的玩笑成分為多.

還找到了這篇文章的前一版本: 如果程式設計替換成中文就會怎樣? 程式設計師看了表示頭疼

發現前後兩個版本的一些區別, 推敲了一下. 前文的VB例子明顯不如中文程式碼來的一目瞭然. 因此後文強行改為了Java程式碼(也不顧易語言和VB的事實關係了), 靠著編輯器的高亮功能勉強得出英文程式碼更清晰的結論.

而前文中的第一個易飛揚程式碼(“易語言.飛揚”(EF)整合開發環境 EFIDE 0.2.2 下載地址), 明顯有較強的可讀性, 以至於都不敢拿同樣功能的英文程式碼進行比較. 因此後文直接刪除了, 以更復雜也更難以一目瞭然的易語言程式代替. 加了一句"在以前初中,老師在上完課後教了我們有趣的易語言中文程式設計,那時候感覺很有趣", 以示自己有易語言使用經驗.

全文的中心似乎是"中文並不適合現有的程式設計方式", 後面的"未來的發展可能超出你的想象"也是畫餅而已. 最大的意外是, 後面竟然提到現代的語言比如Java,都支援Unicode,也就是說可以用中文甚至世界其他語言做變數名和函式名. 本以為如果是全部否定中文程式設計的文章, 似乎應該回避這個很多初學者都不知道的點. 不過文中的調子還是中文命名不如英文命名, 看來是黑的更高階了一點.

後文的問題又提到:

2.在目前的c++、java等程式語言有使用過中文作為變數名嗎?

再看看下面的多數熱評對中文命名還是基本反面態度, 說的基本是漢字輸入慢, 會有莫名問題, 沒規範等等老生常談.

在騰訊看到另一篇轉載, 評論區看到熟人哈, 也看到其他不少對中文程式設計支援的聲音, 不過沒什麼對中文命名的探討.

另外, 更早的一個版本"假如程式設計交換成中文就會更簡單嗎?程式設計師看了表示頭疼"(連結已失效)中, 用的是"言語", 還有一些錯別字. 在後續版本里都修正了, 也是頗為用心了.

前文中有的部分:

2018-07-17_深究_basic

後文中被改成了Java, 和更復雜的易語言程式碼:

2018-07-17_深究_java

前文中有的程式碼示例, 後文中被刪去了:

2018-07-17_深究_易語言
這麼看來, 它不僅是黑中文程式語言. 蠻意外的是中文命名被提到檯面上了, 而之前看到的絕大多數關於中文程式設計的網文都只關注易語言為主的中文程式語言. 無論這一波討論的推手動機如何, 至少中文命名已經成為了中文程式設計中不得不提的一個方面吧.

---------------------- 2018.7.20 更新 -----------------

發現疑似主要內容的出處(2017/11): 國內碼農為什麼那麼討厭中文程式設計?-中文程式設計,碼農,討厭,為什麼. 也許是被推手(很可能是這個問題的發起者)發現, 無意中為後續加工提供了素材. 很高興看到有不少其他回答中表示了對中文命名的支援, 以及親身實踐.

總結一下推手的套路:

  1. 首先, 試探性地發起一個爭議性題目, 拉高贊一個最合意的答案, 並將其收入素材之中
  2. 蒐集對題目本身的質疑, 比如一個回覆中指出, “上來就是國內碼農討厭中文”, 在後續加工中進行改進, 以減輕對發起者動機的質疑. 可以看到後面的一篇題目就改成了"如果程式設計替換成中文就會怎樣? 程式設計師看了表示頭疼"
  3. 過一段時間後, 將素材再加工, 潤色, 包括加上天書般的中文示例程式碼, 加入自己的"易語言學習經驗"等等, 再在更多平臺上傳播.

這樣的水文相信會越來越多, 大家擦亮眼吧.