程式設計 中文等寬 有效率的中文程式設計暢想

2021-10-12 04:37:38 字數 1907 閱讀 9065

不負責任地瞎聊內容,沒打算真去做這個專案,本來想寫到想法裡,不知不覺寫太多了,就發個文章吧。

看到很多人都做過的所謂漢語程式設計專案,還有之前那個文言文程式設計的網紅專案。實話說真想要實用化中文程式設計,研究一下如何在**環境裡易用的中文輸入法更有意義,反正現在程式語言都支援中文變數名,真正的阻礙其實是輸入法。而這部分輸入法的障礙其實不是字型檔詞庫,而是操作上與ide的耦合。

這不僅僅對於所謂中文程式設計大有裨益,大量需要中英文混排的**環境都會因此受益(例如資料庫語言,latex),各個中國輸入法公司應該重視這一點。反過來,做好這個可能會成為下乙個風靡的中文輸入法。

說幾個**環境下中文輸入法我覺得應該有的功能:

1. 中文輸入輸入聯想,不僅是輸入法輸入了乙個完整漢字之後才開始聯想,而是輸入例如拼音首字母,變數名首字的前幾個字等就能夠聯想出變數/方法名。

2. 不需要中英文切換。由於我們仍然需要使用英文關鍵字,以避免重新記憶關鍵字帶來的學習成本和相容其他庫的成本,我們的**會混雜著中英文,而頻繁切換輸入法會帶來效率上的大幅降低,所以最好能夠提供一種解決方案避免切換中英文。而事實上,英文裡出現拼音和五筆編碼的可能性是相當低的,利用這一點可能可以提供乙個解決方案。我有一些想法,但是覺得並不夠好,這一部分可以探索。

3. 字型。中英文混排的字型太難看了,而且中文在英文裡會顯得太大,尤其是中文不佔絕對多數時。更進一步,在普遍使用等寬字型的**環境下,出現中文之後的觀感就更差了,因為英文不等寬時,乙個單詞自己的字母相互交錯,有一種單獨字元元素的感覺,和漢字放一起要更舒服一些。這一點完全涉及了我只是的盲區,只能期待設計師們能有所建樹。我個人的經驗是,盡量加大中英文之間的間距,適當縮小中文字號。

4. 中英文變數名指代,為每個中文變數名指定英文對映,為英文變數名指定中文對映,並且二者皆可喚起聯想,也能夠一鍵替換,兼顧**可讀性,編寫效率以及相容性。我覺得這是可以第乙個做起來的工作,它甚至不用涉及輸入法,我們完全可以在設定好對映之後,用完全的英文程式設計來實現部分變數名中文顯示的效果,因為中文注釋往往並不夠,而英文變數名讀起來就是比中文慢,如果能夠實現,這會一反所謂中文程式設計沒效率的映像,讓中文程式設計成為提高效率的法寶,因為公認的,中文的閱讀速度更快,資訊密度大。當然這自然要解決上一條中英文混排難看的問題,否則難看還是會影響心情。

5. 部分關鍵字的中文/符號對映。這一點涉及一些我對英文程式設計的優勢的理解。英文本元量少,單個字元的資訊量小,但格式統一。而且由於計算機發展與英語高度耦合,所以英文可以深入底層,從彙編起就是英語,硬體領域皆是英語。而且更深入的,現代的標點體系和書寫習慣其實也是以西文為基礎的,這使得純文件非常適合作為英語的載體。但對於中文就不是這樣,在純文件領域基本中文水潑不進,命令列裡加點中文都不如純英文來的乾淨。但是在乙個領域,存在著中文的優勢,那就是閱讀。涉及大篇幅的閱讀時,中文在世界語言裡都是領先的。中文有助於把冗長的程式化為簡潔的內容,為此我們需要改造原有關鍵字體系,重構各種流程控制和變數引用的格式使得其能讓中文發揮優勢。

首先是中文變數名短,多行**可以濃縮為一行。其次是漢字多,我們設定可以把一些漢字,甚至造一些字專門用於關鍵字從而消除空格進一步縮短**。再次輸入法其實也是優勢,因為這實際是所輸入不為所見,這一點後面單獨說。最後中文不需要大括號或者強行縮排也可以很清晰,因為特定漢字如果再加上顏色的話,**的層次也會非常明顯。

6. 輸入法的優勢。輸入法其實是所輸入不是所見,輸入內容和展示內容之間隔了一層。如果我們可以在ide層面強化這一點,儘管會弱化底層的能力,但是在可讀性上會更進一步。我們既然都已經接受了指令碼語言,那麼讓**的顯示徹底拋棄掉文字有何不可呢?學術上我們青睞偽**,流程圖,何不讓**看起來就是流程圖?比如寫個if,看到的是框圖,寫個迴圈,看到的也是框圖,對於中文程式設計而言,如果把英文關鍵字融合到符號和框圖裡去了,對於可讀性是是質的飛躍。舉個例子,一長串的類名和方法點來點去,不少粗暴的中文程式設計實現就是把點留下,英文名換中文。為何不用諸如上標,變色,字框,底紋等途徑實現?

不少markdown編輯器做的其實和輸入法本質是一種東西,我覺得**也可以用上這個,從讓各種流程控制看起來更加直觀開始。

搞笑的中文 C 程式設計

define 趁還 while define 那個啥 int define 總的來說 main define 買 cin define 賣 cout define 進 define 出 define 拜拜了 return define 去掉 define 等於 define 屁 100e4 defi...

軟體程式設計含有中文的編碼問題

1 以utf 8格式開啟原始碼檔案,並將utf 8格式作為預設的編碼模式。情況一 原始檔的格式為utf 8 str 中文 codeblocks的開啟格式 儲存格式 解析格式 內碼編碼格式 與設定一致,解析輸出不能看到準確的漢子,這取決作業系統,因為國內windows作業系統cmd的輸出是gbk,所以...

免費的程式設計中文書籍索引

免費的程式設計中文書籍索引,歡迎投稿。貢獻者名單 graphs contributors 語言相關類 讀書筆記及其它 測試相關 智慧型系統git 簡易指南 猴子都能懂的git入門 git 參考手冊 pro git pro git 中文版 整理在gitbook上 git magic gotgithub...