注: 本文僅對個人親自參與的嘗試作一小結, 專欄中其他作者的嘗試還望各自總結. 文中所有例子都盡量使用了中文命名
一些對中文命名的早期實踐:
- 2015年對JDK中介面的中文化嘗試
- 2016年的Spring Boot 1.3.3演示嘗試了前后端中文命名
- 2017年開始Java實作的匯編語言編譯器
- 將之前的插件專案中的代碼中文化: 火狐插件實作瀏覽歷史按主題顯示(樹)
在2017年發現多數流行編程語言已經支持Unicode/中文命名, 并開始小結中文命名的風格和特點. 2017年7月撰寫了中文代碼示例教程之Java編程一天入門, 體驗了選取例程題材的趣味與難度. 同月也在Maven Central發布中文API的Java庫(后話, 在一年后喜獲V2EX的用戶反饋"第一次見以漢字命名的 Java 類"). 8月嘗試對現有圖形庫p5js的介面進行中文化, 是在JDK介面中文化之后, 從通用庫轉向專用庫的一步. 必須提到的是, 在2017年初發現13年前就有同仁提出中文命名的可讀性優勢與IDE支持問題, 而在半年后成立的"中文編程"GitHub討論組中, 有幸碰到通過IDE插件實作拼音輸入法和自動補全功能集成的同好.
在"中文編程"知乎專欄于2017年11月9月開通之前, 對現有框架的入門教程的示例代碼嘗試中文化, 并與VueJS開發組進行了中文命名相關問題的交流:
- 中文代碼示例之Vuejs入門教程(一)
- 中文代碼示例之Angular入門教程嘗試
- 中文代碼示例之Vuejs入門教程(一)問題后續
專欄開通之際撰寫的對在代碼中使用中文命名的質疑與回應是對之前看到的各種反對聲音的總結, 至今尚未看到有力的反證, 并且在一路上的探索中發現了越來越多的佐證, 比如11月末發現的Python3選擇支持非ASCII碼識別符號的緣由.
專欄開通的初期, 進行了一系列的相關思考, 對今后的實踐方向有不小影響:
- 中文命名實踐的阻力和應對
- 中文編程興起的必然性
- 中文編程興起的可能途徑
對在線編程對中文命名的支持初步調研:
- 在LeetCode中的解答中使用中文命名
- 向LeetCode報告編譯資訊中Unicode顯示問題
- 在線編程網站對中文代碼的支持
之后重心轉向自研編程語言, 也進行了一些相關專案的中文命名嘗試:
- 撰寫Visual Studio Code插件初嘗試
- 中文代碼示例之5分鐘入門TypeScript, 此文與GitHub討論組內成員對TypeScript進行中文化有關, 半年后有了5分鐘入門CTS-嘗鮮中文版TypeScript
- FriceEngine試用與API中文化也是與組內成員專案的交流嘗試
- 手機編程環境初嘗試-用AIDE開發Android應用也與組內成員有關
- 淺嘗The Little Prover一書, 重逢Chez Scheme
- 編程貓IDE體驗:對Scratch的改進對少兒編程進行了初步了解
- 嘗試了一些短示例演示中文命名, 如中文代碼示例之冒泡演算法, 后感, 中文代碼示例[譯]Scala中創建隱式函式, 并在專案/教程中使用母語命名的"問題"中進行了一些反思.
在2個月后的2018年4月, 開始對Python官方入門檔案的示例代碼進行中文命名:
- 搭建Python官方檔案翻譯環境-漢化示例代碼
- 中文代碼示例視頻演示Python入門教程第三章 簡介Python
- 中文代碼示例視頻演示Python入門教程第四章 控制流
- 中文代碼示例視頻演示Python入門第五章 資料結構
原本是打算至少完成入門部分, 但程序中逐漸發現原教程示例的局限性, 如代碼考古-Python3官方教程字典例程, 認為花精力在自己撰寫教程上也許更值得. 就有了"西游記"主題Python入門示例嘗試-資料結構 5.1-5.1.2. 也嘗試對國人原創教程中的示例進行中文化: 解謎計算機科學第一章示例漢化嘗試
接下來是一段比較嘈雜的時期, 為Chrome和火狐瀏覽器撰寫擴展應該是為在插件中實作計算/編程工具做的技術復習. 此時發現了一系列針對中文編程/命名的軟文:
- 最近一波對中文編程(包括中文命名)的攻勢
- 萬馬齊喑究可哀-中文編程的又一波"討論"
- 后來的又見套路:如果計算機是用中文編程,你能成為計算機編程專家嗎?.
不禁針對性地寫了在代碼中進行中文命名(類/變數/方法等)的優勢. 至此, 深切感覺到進一步積極推廣中文命名的必要性.
繼續進行一些以中文命名作示例的小教程的撰寫:
- 對DLL庫中的介面進行中文命名
- 中文代碼示例之Python-如何遍歷字典
- 在Office的VBA代碼里中文命名
- 中文代碼示例之Spring Boot 2.0.3問好
- Head First OO分析設計一書略讀與例子中文化
至此, GitHub討論組已創建一年, 深感核心專案的必要性. 下面圍繞編程術語命名進行了一些技術摸索:
- 中文代碼之Spring Boot實作簡單REST服務
- 中文代碼之Spring Boot添加基本日志
- 中文代碼之Spring Boot集成H2記憶體資料庫
- 中文代碼之Spring Boot對H2資料庫簡單查詢
- 使用JDT核心庫決議JDK原始碼后初步分析API命名
8月末, 源于組內討論, 開始了批量代碼漢化工具的嘗試, 并開發了必需的英漢詞典相關工具, 從瀏覽器插件, 在線服務原型, 到今天的vscode插件:
- 瀏覽器插件實作GitHub代碼翻譯原型演示
- Java實作英漢詞典API初版發布在Maven
- 調研: 使用現有在線翻譯服務進行代碼翻譯的體驗
- 代碼翻譯嘗試-使用Roaster決議和生成Java原始碼
- Java原始碼英翻中庫以及服務原型
- Java原始碼英翻中網頁演示
- Java原始碼英翻中進展-內測上線
- 在瀏覽器插件中讀取JSON資源檔案
- 瀏覽器插件-離線英漢詞典
- Chrome插件實作GitHub代碼翻譯v0.0.3
- Chrome插件實作GitHub代碼離線翻譯v0.0.4
- 瀏覽器插件-離線英漢詞典 0.0.7
- 在線代碼離線翻譯Chrome插件"一馬"v0.0.8
- 在線代碼離線翻譯Chrome插件"一馬"v0.0.14
- Visual Studio Code插件-英漢詞典初版發布
- VS Code英漢詞典插件v0.0.4-駝峰下劃線命名
主要出于此專案對中文命名的推廣意義, 打算將這個系列作為個人在代碼中進行中文命名實踐的短期目標
8月之后在V2EX上交流甚多, 也催生了用Python3+tkinter開發簡單圖形界面程式這樣的合作專案, 很希望看到類似專案的開展.
另有一個中期的目標來自于首次發現在例程中使用日語命名的編程書籍, 之后做了日語命名的調研:
它山之石-日本推廣編程中使用日語命名的淵源. 發現將編程與傳統學科結合的現實緊迫性, 并初步嘗試將傳統學科的內容程式/資料化. 這不僅與中文命名緊密相關, 也是潛在的中文語法編程語言的土壤(見前文末段). 個人非常期待.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/215407.html
標籤:其他
上一篇:HO引擎近況20201114
