[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了( 二 )


《文言陰符》共有十三篇教程 , 从字面上大概也能了解这本书的主题 , 例如明义篇主要阐述什么是文言编程 , 变数篇主要介绍变量这个概念与用法 。
[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
本文插图
总体来说 , 该书籍从基本控制语法、数据结构、函数与第三方库这几个角度展示了文言编程的主要内容 , 然后还要加上 Error 处理、制图和高级函数等进阶内容 。 如果读者们能把这些官方教程看一遍 , 估计你的文言文水平已经超越了大多数人 。
这个教程确实很难 , 主要体现在文言文功底 。 相信很多读者对字典(Dict)这个数据类型十分了解了 , 它以 Key -> Value 的方式组织所有数据 。 然而在格物第十的开篇中 , 作者将字典这种数据格式解释为格物 , 「物」的的每一个元素都有一个「名」 , 或者称之为 Key , 每一个「名」对应的属性值就是 Value 。
[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
本文插图
如上类似于定义了名为「白马」的字典 , 字典里面的 Key 为白马的属性 , 它对应有一个属性值 。 夫「白馬」之「「名」」 , 即调用字典「名」对应的值 。
当然 , 我们也能从类与属性的角度去思考 , 「白马」是「物」的实例化 , 实例化的过程中需要为物的各种属性赋值 , 并且可以在实例化后继续调用它们 。
[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
本文插图
该教程还支持在线阅读 , 从右向左滑动的那种 , 这感觉有点上头 。
这种风格的教程 , 俨然需要真材实料的文言知识 。
文淵閣:连软件包都有?
一个编程语言 , 第三方软件包的数量就反映了社区的活跃度 。 想象一下 , 如果有 NumPy 或 PyTorch 这样的软件包 , 那么说不定就能用文言文写一个神经网络出来 , 如下 Lotayou 就用文言文写出了一个神经网络 , 完整代码可见项目的 Issue 。
[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
本文插图
虽然 , 文言编程目前并没有「火炬心法」这个第三方包 , 但也不能阻止众多 DL 炼丹师的激情 , Lotayou 写的「文言神经网络」尽管编译不了 , 但逻辑和语法都非常完整 。
目前「文渊阁」这个第三方软件包管理器一共包含以下扩展包:
[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了
本文插图
【[机器之心]你以为文言编程只是闹着玩?三个月后,人家IDE、教程、包管理器都有了】
正如 Pyhton 有 pip , js 有 npm , 文言编程语言也有包管理——文渊阁 。 尽管目前第三方库并不是太多 , 但一个合理的包管理器还是需要的 , 这样才是一个完整的编程语言 。
文渊阁可以直接通过 NPM 安装 , 使用的时候 , 代码类似 pip 或 npm , 只要带有「wyg」、「i」(install)和包名(如「子曰」)即可 。
上面两种都是可行的 , 运行后包会被下载到藏書樓/子曰这一路径下 , 藏書樓类似于 js 的 node_modules 。
然后就是导入包了 , 就像 Python 中的 import 一样 , 文言编程的导入格式如下所示:
此外 , 你还可以发布自己的文言编程语言包 , 有了这种开源模式 , 这门语言就真正像是独立的编程语言了 。
很难想象 , 经过两三个月后该项目就有了这么大的变化 , 也成为了一万五收藏量的大项目 。 将文言文这种传统文化 , 与编程语言这样的当代工具相结合 , 也许是非常不错的尝试 。
首期「AI 开发者成长计划」由机器之心联合微众银行开设《联邦学习 FATE 入门与应用实战》公开课 , 并特邀合作伙伴 VMware 带来为期 4 周共 6 期课程 , 设置主题讲解、项目实操、在线答疑等环节 , 帮助 AI 开发者从零入门联邦学习 。 公开课第二课将于 3 月 12 日开讲 , 欢迎大家报名参与 。