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

我心目中理想的編程語(yǔ)言

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

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

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

  【支持 Unicode】 

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

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

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

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

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

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

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

  【包含 GUI】

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

  【用更少,做更多】

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

  【支持 Meta-Programming】

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

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

  【好用的剖析器】

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

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

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

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

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

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

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

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

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

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

  【輕量級(jí)的 RPC / SOA】

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

  【有交互操作模式】

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

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

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

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

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

  【支持瀏覽器】

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

  我到現(xiàn)在還沒(méi)有找到完全符合這些條件的語(yǔ)言;蛘撸阋呀(jīng)發(fā)現(xiàn)了這樣的語(yǔ)言?

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

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

上一篇:圖文大話(huà)編程語(yǔ)言史

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