后半個(gè)問題,對(duì)于絕大多數(shù)網(wǎng)絡(luò)用戶來說,現(xiàn)在國(guó)內(nèi)的網(wǎng)絡(luò)環(huán)境已幾乎是全中文的,比如各大網(wǎng)站的界面和內(nèi)容等等。它并不直接依賴中文編程語言。下面主要關(guān)注前半個(gè)問題。 中文語法的編程語言和配套開發(fā)環(huán)境早就有,也有了相當(dāng)大的用戶群,但商業(yè)項(xiàng)目中尚未成氣候。主要原因是編程語言工具本身的定位和商業(yè)運(yùn)營(yíng)策略。十幾年前剛推出時(shí)推廣的速度之快,可以看出國(guó)內(nèi)對(duì)中文編程語言的巨大需求。而隨著全社會(huì)越來越認(rèn)識(shí)到計(jì)算機(jī)編程與各行業(yè)轉(zhuǎn)型的精密關(guān)系,編程越來越成為一種基本技藝。在這個(gè)背景下,中文編程語言與開發(fā)環(huán)境的推廣和商業(yè)化迎來了最佳發(fā)展機(jī)遇。 在技術(shù)上,現(xiàn)在開發(fā)一套中文編程語言和開發(fā)環(huán)境的代價(jià)比起十幾年前要低一些,因?yàn)檫@么多年的開源編譯器項(xiàng)目發(fā)展,有更多的框架、工具、資料可以利用。 比如,有現(xiàn)成的教程可以幾乎從零開始開發(fā)一個(gè)簡(jiǎn)單的通用腳本語言 而借助語言生成工具如 xtext,更可以在十幾分鐘內(nèi)實(shí)現(xiàn)基于Java的一個(gè)領(lǐng)域?qū)S谜Z言(DSL) 也可以借助 Antlr 等代碼分析器生成工具,簡(jiǎn)化開發(fā),較簡(jiǎn)便地實(shí)現(xiàn)下面這樣的類LOGO語言 另一種方式是修改現(xiàn)有英文編程語言的編譯器或交互控制臺(tái),實(shí)現(xiàn)漢化關(guān)鍵字和/或接口,甚至反饋信息。 下面是漢化了TypeScript的入門代碼: 漢化了Python控制臺(tái)的反饋錯(cuò)誤信息: 一套中文的標(biāo)準(zhǔn)庫(kù)和接口以及對(duì)應(yīng)文檔的開發(fā)和維護(hù)仍需要相當(dāng)工作量,也很考驗(yàn)開發(fā)者的實(shí)踐經(jīng)驗(yàn)。即使是像上面對(duì)英文編程語言進(jìn)行漢化,也需術(shù)語一致恰當(dāng)。 除了中文編程語言本身的功能能夠滿足基本開發(fā)需要之外,一個(gè)適合中文代碼輸入和支持提示、補(bǔ)全、幫助的開發(fā)環(huán)境是決定這個(gè)語言能多容易被開發(fā)者接受的重要因素。 早在十幾年前的中文編程開發(fā)環(huán)境就已經(jīng)實(shí)現(xiàn)了中文輸入法和自動(dòng)補(bǔ)全的集成。在自動(dòng)補(bǔ)全成為開發(fā)環(huán)境標(biāo)配的今天,這個(gè)功能更是必需。而更進(jìn)一步的智能提示,還依賴中文自然語言處理技術(shù)和代碼分析技術(shù)。從這個(gè)角度說,中文編程語言和開發(fā)環(huán)境的探索和推廣更是迫在眉睫,因?yàn)樗妥匀徽Z言處理技術(shù)可以相輔相成,加速發(fā)展。 如果目標(biāo)是商業(yè)大規(guī)模應(yīng)用,編程語言項(xiàng)目如果開源,可以得到更大程度的信任,以及更多用戶和合作開發(fā)者。 由于中文編程語言項(xiàng)目的特殊性,它還有一個(gè)優(yōu)勢(shì),那就是從項(xiàng)目之初就可以使用中文命名標(biāo)識(shí)符。對(duì)于母語命名對(duì)代碼可讀性的好處,之前的文章已經(jīng)有了不少闡述,這里不贅述。它的特殊性就是,中文編程語言的用戶必然會(huì)中文,同樣會(huì)參與到語言工具本身開發(fā)中的合作者也都會(huì)中文,因此中文命名標(biāo)識(shí)符沒有非技術(shù)原因的障礙。 上面的腳本語言實(shí)現(xiàn)就在Java中使用了中文命名: 上面的LOGO語言實(shí)現(xiàn)是在JavaScript中用了中文命名 用中文命名標(biāo)識(shí)符,不僅可以減少項(xiàng)目開發(fā)和維護(hù)成本,也可以一致編譯器方面的中文術(shù)語,從而避免國(guó)內(nèi)編譯器開發(fā)者交流技術(shù)時(shí)大量夾雜英文術(shù)語的現(xiàn)狀。 中文編程源遠(yuǎn)流長(zhǎng),現(xiàn)在就是最好的機(jī)遇。看到了很多個(gè)人和公司在進(jìn)行中文編程語言和IDE的嘗試和探索,相信在三年(現(xiàn)在是2019年)甚至更短的時(shí)間內(nèi),就可以看到更大的突破。 更多中文命名和編程語言技術(shù),請(qǐng)關(guān)注本號(hào)“用中文編程”! |
|