乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      你以為文言編程只是鬧著玩?三個(gè)月后,人家IDE、教程、包管理器都有了

       看見就非常 2020-03-12
      機(jī)器之心報(bào)道

      參與:思、Jamin

      用文言文寫的官方編程教程《文言陰符》,類似 pip 那樣的包管理工具「文淵閣」,還有文言編程開源 IDE「文言齋」,文言編程語言已經(jīng)這么成熟了?


      機(jī)器之心曾介紹過 CMU 計(jì)算機(jī)專業(yè)大四學(xué)生 Lingdong Huang 的文言編程項(xiàng)目,因?yàn)橥耆捎梦难晕牡姆绞骄幊?,該?xiàng)目受到很多開發(fā)者的關(guān)注,在 GitHub 上開源 4 天就獲得兩千星,目前更是有 15K 的 Star 量。

      大家都說 Star 量是推動項(xiàng)目更新的第一生產(chǎn)力。這不,經(jīng)過三個(gè)月的時(shí)間,這個(gè)項(xiàng)目就已經(jīng)發(fā)展成了一門完整的「編程語言」。它有文檔、有 IDE、有第三方庫、有官方教程、有代碼高亮方案等等,所以還要啥 Python,文科生「玩轉(zhuǎn)」編程的首選語言就是它。


      因?yàn)槟壳拔难跃幊桃呀?jīng)有了挺多更新,本文后面主要介紹 IDE、官方教程和第三方庫,看它如何一步步升華到合格的編程語言。

      文言齋:開源 IDE 來了

      之前文言編程不是沒有 IDE,我們可以在線使用,并編譯。但當(dāng)時(shí) IDE 并沒有開源,它的高亮也有點(diǎn)「神奇」,在輸入與編輯過程中了并不能高亮,只有編譯后才能修改語句的顏色。而且有些中文會被認(rèn)為是關(guān)鍵詞,并不能直接使用,例如機(jī)器之心的「之」,如下是我們 2019 年年會的推文,它采用的就是當(dāng)時(shí)的在線 IDE。

      運(yùn)行后會輸出「今日無文,請閱「機(jī)器之心 Pro」」。

      當(dāng)時(shí)在線 IDE 似乎還不會報(bào)錯(cuò),編譯出錯(cuò)只有一個(gè)反應(yīng)「輸出為空」,而現(xiàn)在,這個(gè)新開源的 IDE,它已經(jīng)會在線高亮、返回編譯誤差了。


      現(xiàn)在的 IDE,用著已經(jīng)算比較舒服了,我們可以部署或嵌入到其它地方,甚至可以通過 API 直接調(diào)用。每次調(diào)用,在 URL 中傳入標(biāo)題、代碼以及其它各種缺省配置就行。

      在線 IDE 地址:https://ide./

      如下是當(dāng)前 IDE 整體展示,其最左邊導(dǎo)航欄主要分為用戶代碼腳本、示例腳本、第三方庫列表三部分。值得一提的是,相比當(dāng)時(shí)十來個(gè)示例腳本,現(xiàn)在的官方腳本已經(jīng)有近 50 個(gè),連「水墨畫」的腳本都有。


      此外,文言代碼除了編譯為 JS 代碼,IDE 上還可以選擇編譯為 Python 或 Ruby 代碼。只不過當(dāng)前的在線 IDE 并不支持以 Python 或 Ruby 語言作為后端執(zhí)行文言代碼。

      整個(gè) IDE 的主題、編譯方式、展現(xiàn)方式都能自由選擇,它的可玩性已經(jīng)非常不錯(cuò)了。


      文言陰符:官方教程

      作為官方的文言教程,勢必需要懂文言文才能看懂,不然就顯示不出它的「優(yōu)越性」。在之前的文言編程示例或解釋中,作者都是通過英文或?qū)嵗齺碚故荆枋稣Z句都比較通俗易懂。

      然而作為一本經(jīng)典的官方教程,不用文言文寫實(shí)在是太浪費(fèi)了,因此也就有了《文言陰符》,它的風(fēng)格是這樣的:


      上圖是《文言陰符》項(xiàng)目的開篇描述,它以文言文的方式「生動地」描述了開發(fā)者與編程語言之間的關(guān)系。文言文加上繁體字,果然是天生一對,如果再加上一些通假字,說不定我們就回到了曾經(jīng)的語文課堂。

      《文言陰符》共有十三篇教程,從字面上大概也能了解這本書的主題,例如明義篇主要闡述什么是文言編程,變數(shù)篇主要介紹變量這個(gè)概念與用法。


      總體來說,該書籍從基本控制語法、數(shù)據(jù)結(jié)構(gòu)、函數(shù)與第三方庫這幾個(gè)角度展示了文言編程的主要內(nèi)容,然后還要加上 Error 處理、制圖和高級函數(shù)等進(jìn)階內(nèi)容。如果讀者們能把這些官方教程看一遍,估計(jì)你的文言文水平已經(jīng)超越了大多數(shù)人。

      這個(gè)教程確實(shí)很難,主要體現(xiàn)在文言文功底。相信很多讀者對字典(Dict)這個(gè)數(shù)據(jù)類型十分了解了,它以 Key -> Value 的方式組織所有數(shù)據(jù)。然而在格物第十的開篇中,作者將字典這種數(shù)據(jù)格式解釋為格物,「物」的的每一個(gè)元素都有一個(gè)「名」,或者稱之為 Key,每一個(gè)「名」對應(yīng)的屬性值就是 Value。


      如上類似于定義了名為「白馬」的字典,字典里面的 Key 為白馬的屬性,它對應(yīng)有一個(gè)屬性值。夫「白馬」之「「名」」,即調(diào)用字典「名」對應(yīng)的值。

      當(dāng)然,我們也能從類與屬性的角度去思考,「白馬」是「物」的實(shí)例化,實(shí)例化的過程中需要為物的各種屬性賦值,并且可以在實(shí)例化后繼續(xù)調(diào)用它們。

      該教程還支持在線閱讀,從右向左滑動的那種,這感覺有點(diǎn)上頭。

      這種風(fēng)格的教程,儼然需要真材實(shí)料的文言知識。

      文淵閣:連軟件包都有?

      一個(gè)編程語言,第三方軟件包的數(shù)量就反映了社區(qū)的活躍度。想象一下,如果有 NumPy 或 PyTorch 這樣的軟件包,那么說不定就能用文言文寫一個(gè)神經(jīng)網(wǎng)絡(luò)出來,如下 Lotayou 就用文言文寫出了一個(gè)神經(jīng)網(wǎng)絡(luò),完整代碼可見項(xiàng)目的 Issue。


      雖然,文言編程目前并沒有「火炬心法」這個(gè)第三方包,但也不能阻止眾多 DL 煉丹師的激情,Lotayou 寫的「文言神經(jīng)網(wǎng)絡(luò)」盡管編譯不了,但邏輯和語法都非常完整。

      目前「文淵閣」這個(gè)第三方軟件包管理器一共包含以下擴(kuò)展包:


      正如 Pyhton 有 pip,js 有 npm,文言編程語言也有包管理——文淵閣。盡管目前第三方庫并不是太多,但一個(gè)合理的包管理器還是需要的,這樣才是一個(gè)完整的編程語言。

      文淵閣可以直接通過 NPM 安裝,使用的時(shí)候,代碼類似 pip 或 npm,只要帶有「wyg」、「i」(install)和包名(如「子曰」)即可。

      wyg i ziyue
      wyg i 子曰

      上面兩種都是可行的,運(yùn)行后包會被下載到藏書樓/子曰這一路徑下,藏書樓類似于 js 的 node_modules。

      然后就是導(dǎo)入包了,就像 Python 中的 import 一樣,文言編程的導(dǎo)入格式如下所示:

      吾嘗觀「「子曰」」之書。方悟「子曰」之義。

      子曰「「巧言令色,鮮矣仁!」」。

      此外,你還可以發(fā)布自己的文言編程語言包,有了這種開源模式,這門語言就真正像是獨(dú)立的編程語言了。

      很難想象,經(jīng)過兩三個(gè)月后該項(xiàng)目就有了這么大的變化,也成為了一萬五收藏量的大項(xiàng)目。將文言文這種傳統(tǒng)文化,與編程語言這樣的當(dāng)代工具相結(jié)合,也許是非常不錯(cuò)的嘗試。

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多