註: 本文僅對個人嘗試作一小結, 專欄中其他作者的嘗試還望各自總結 對自研中文編程語言的嘗試也許始於 "2015年" 對CoffeeScript的部分關鍵詞漢化和 "Java實現的彙編語言編譯器" 的開發. "2017年10月那場請求C 提供漢化版的討論" 也給了更多的動力. 之後對 "開源非英文關 ...
註: 本文僅對個人嘗試作一小結, 專欄中其他作者的嘗試還望各自總結
對自研中文編程語言的嘗試也許始於2015年對CoffeeScript的部分關鍵詞漢化和Java實現的彙編語言編譯器的開發. 2017年10月那場請求C#提供漢化版的討論也給了更多的動力. 之後對開源非英文關鍵詞編程語言進行了一些調研, 尤其對日語編程語言"撫子"進行了較深入的學習:
期間認識到國人創造中文編程語言的優勢, 並整理了對中文語法的編程語言的質疑與回應. 之後的實驗編程語言以"圈"命名, 第一個嘗試是編程語言試驗之Antlr4+Java實現"圈2". 接下來是對中文編程語言之Z語言初嘗試: ZLOGO 4, 此文後的數十回合回覆應該是專欄建立之後第一次也是僅有的一次在專欄內進行的公開熱烈討論. 在此討論的激勵下, 進行了中英文代碼對比之ZLOGO 4 & LOGO, 並開始了基於JavaScript並可以線上運行的編程語言開發--"圈3", 它也是個人最接近實用的一個語言工具:
- 作為原型的編程語言試驗之Antlr4+JavaScript實現"圈4"
- JavaScript實現ZLOGO子集: 前進+轉向
- JavaScript實現ZLOGO子集: 單層迴圈功能
- JavaScript實現ZLOGO子集: 測試用例
- JavaScript實現ZLOGO: 用語法樹實現多層迴圈
- 相關的為新語言編寫Visual Studio Code語法高亮插件
雖然LOGO是個潛在的編程啟蒙工具, 但效果畢竟不如現今的Scratch等等開發環境. 結合之前對中文語法的編程語言和相應IDE功能特色的討論起草了通用型的中文編程語言探討之一: 高考, 併進行了一個更實用編程語言原型的嘗試--"圈5":
- Antlr4的分析錯誤處理
- Antlr4實現數學四則運算
- Antlr4添加中文變數賦求值,括弧,各種問題
- Antlr4: 修改語法規則更接近普通BNF格式
- Antlr4實現簡單語言之整數比較表達式
- Antlr4實現簡單語言之條件語句
也對其他的編程語言開發方法作了嘗試:
期間發現AppleScript類自然語言與非英語語法設計早有對日語語法的支持. 在2018年3月意識到了中文編程已經被大量用於日常生活, 也更傾向於基於實際用途開發特定領域的中文語法編程語言. 而在用途明晰之前(兩周前的初步嘗試將傳統學科的內容程式/數據化也許是個好方向, 希望能夠早日開始), 暫不進行更多這個方向的嘗試. 2018年4月之後回歸對中文命名的關註和相關實踐.