中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

我心目中理想的編程語言

2018-07-20    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  一個(gè)好的編程語言應(yīng)該讓你馳騁在自己的腦海中,自由飛翔,而不是設(shè)置重重障礙拖累你。除了這個(gè)籠統(tǒng)的說法之外,我自己有一套語言評分標(biāo)準(zhǔn),我理想中的語言必須符合這篇文章所描述的各點(diǎn)(依重要次序排列)。你也可以拿這些條件來檢視目前你正在使用的語言(例如 Java、C#、Ruby),看看你 的語言表現(xiàn)如何。

  【支持 Unicode】 

  所有不支持 Unicode 的語言,都應(yīng)該被埋在上個(gè)世紀(jì)的歷史灰燼中。雖然 Unicode 早就已經(jīng)是主流,但是還有一些語言不支持 Unicode,這是致命的缺點(diǎn)。即使號稱支持 Unicode,也有程度的差異,例如有的語言對 Unicode 的支持是后來添加的,有點(diǎn)格格不入,且有些語言對 Unicode 的支持相當(dāng)有限。

  【寫一次,到處都可執(zhí)行】

  最好支持 Windows、MacOS、Linux、BSD 等主流 OS,甚至 iOS、Android 等手機(jī) OS。

  【支持各種軟件開發(fā)】

  我希望能用一個(gè)語言做系統(tǒng)開發(fā)、驅(qū)動(dòng)開發(fā)、DLL 開發(fā)、應(yīng)用開發(fā)、服務(wù)器開發(fā)、腳本開發(fā)。

  【超小的執(zhí)行環(huán)境】

  現(xiàn)在的軟件都大得可怕。幾乎所有現(xiàn)代的語言,都需要 10MB 以上的執(zhí)行環(huán)境,而 50MB 以上的也不少見。執(zhí)行環(huán)境太大有什么不好: (1) 下載、安裝時(shí)耗費(fèi)時(shí)間與資源; (2) 執(zhí)行時(shí)速度「可能」會(huì)比較差;(3) 潛藏其中的 bug「可能」比較多。因此,我極度抗拒癡肥的語言與框架。

  【包含 GUI】

  大多數(shù) Open Source 的語言,都不包含 GUI,而是使用外部的 Tk、wxWidget 等庫,這些外部庫往往:(1) 相當(dāng)龐大;(2) 效率「可能」不是很好; (3) 不見得和語言本身的范式(paradigm)吻合,使用起來可能會(huì)導(dǎo)致精神錯(cuò)亂。除了 GUI 庫,我也希望具有比較好的 2D / 3D 繪圖引擎。

  【用更少,做更多】

  程序?qū)懙迷介L,不代表越有價(jià)值。能夠用精簡的代碼,做出許多重要的事,才是我們追求的目標(biāo)。寫出來的代碼短,會(huì)比較好維護(hù)。

  【支持 Meta-Programming】

  我希望能夠不需要再通過 ANTLR 等工具,而是可以直接用語言本身,輕易地寫程序處理另一種(我自己發(fā)明的)小語言,并讓兩種語言之間可以 互相融合,達(dá)到最佳的 DSL(Domain Specific Language)境界。如此一來,開發(fā)的效率會(huì)相當(dāng)高,且需要的代碼會(huì)相當(dāng)少。

  我希望重要的 DSL 都已經(jīng)有人先建立好了,我可以直接采用,特別是 Web、數(shù)據(jù)庫、GUI 這些部分。

  【好用的剖析器】

  現(xiàn)在程序需要剖析文字檔的機(jī)會(huì)很高,我不喜歡 Regular Expression,也不想用外部的 ANTLR,我希望能有更方便使用的剖析器,讓我可以利用 BNF(Backus- Naur Form)的寫法。

  【能夠調(diào)用 C 的庫】

  許多時(shí)候,光靠語言本身還是做不到的事,必須呼叫 OS 或其他廠商的 C 程序庫。如果語言和 C 之間能有良好的調(diào)用規(guī)范,那么調(diào)用外部程序庫就會(huì)很容易。我希望不只能調(diào)用 C,也可以做成 call-back 函數(shù),讓 C 回調(diào)。

  【具有良好的 Web 與數(shù)據(jù)庫方案】

  現(xiàn)在做軟件開發(fā),十之八九都是 Web 加上數(shù)據(jù)庫。如果該語言可以輕易地做出這樣的方案,會(huì)相當(dāng)具有吸引力。

  【能嵌入?yún)R編語言】

  寫 C 程式時(shí),我們可以嵌入 x86 匯編語言,以提升速度。我希望現(xiàn)在一般的語言也能夠有類似的作法,讓我可以嵌入比較低階的語言,舍棄一些檢查(例如型態(tài)檢查,數(shù)組邊界檢查),換取速度的提升。

  【豐富的數(shù)據(jù)類型 Literal】

  我希望語言能有豐富的數(shù)據(jù)類型,且能夠用 literial 的方式寫出這些類型的值,如此一來,寫起來非常簡短方便,表達(dá)力更好,并可能有其他的好處(例如讓 DSL 的設(shè)計(jì)更容易)。

  可惜目前主流的語言,Literial 的寫法都只有不到 10 種,不外乎是整數(shù)、小數(shù)、字符串、數(shù)組,距離我所謂的「豐富」,還有好幾倍的差距。

  【輕量級的 RPC / SOA】

  我希望語言能支持 RPC / SOA,且使用輕量級的方式,不要搞得像 IBM 的 SOA 那么復(fù)雜。復(fù)雜的東西又貴又難上手,失敗告終的機(jī)會(huì)很高。

  【有交互操作模式】

  對于初學(xué)者來說,交互模式是相當(dāng)好的學(xué)習(xí)方式,而且也可以當(dāng)作 Shell,進(jìn)行日常一些基本的操作(例如文件系統(tǒng)管理)。

  【免費(fèi)與開放源碼】

  軟件開發(fā)的錢很難賺,能省則省。另外,開放源碼的語言比較有保障,比較不會(huì)因?yàn)閺S商關(guān)門而使得該語言產(chǎn)品的用戶變成孤兒。

  【有很強(qiáng)的社群】

  社群可以幫我們解決技術(shù)問題,告訴我們到哪里取用資源。社群的存在,可以幫助語言健康地發(fā)展。

  【支持瀏覽器】

  代碼可以編譯成 JavaScript/HTML5,讓程序可在瀏覽器內(nèi)執(zhí)行。

  我到現(xiàn)在還沒有找到完全符合這些條件的語言。或者,你已經(jīng)發(fā)現(xiàn)了這樣的語言?

標(biāo)簽: linux 代碼 服務(wù)器 腳本 數(shù)據(jù)庫

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:圖文大話編程語言史

下一篇:什么是最好的編程語言?(怎樣才能愛上編程呢?)