《文言陰符》,pip“文渊阁”这样的包管理工具,以及文言文编程的开源IDE。文言文编程语言已经如此成熟?机器之心曾介绍过CMU计算机专业大四学生黄凌东的文言文编程项目。由于完全用文言文编程,该项目引起了众多开发者的关注。有15KStar数量。大家都说Star量是推动项目更新的第一生产力。这不,三个月后,这个项目已经发展成为一门完整的“编程语言”了。它有文档、IDE、第三方库、官方教程、代码高亮解决方案等等,所以Python是文科生“玩”编程的首选语言。因为文言编程已经更新了很多,本文接下来主要介绍IDE、官方教程和第三方库,看看如何一步步升华到一门合格的编程语言。文言斋:在开源IDE出现之前,文言编程是没有IDE的。我们可以在线使用它们并编译它们。但是当时IDE还没有开源,它的高亮有点“魔性”。在输入和编辑过程中无法高亮显示,只能在编译后修改语句的颜色。而有些中文会被认为是关键字,不能直接使用,比如机器之心的“zhi”。下面是我们2019年年会的推文,当时用的是在线IDE。运行后会输出“今天没有文章,请阅读《机器之心Pro》”。当时线上的IDE好像不报错,编译错误只有一个响应“outputisempty”。现在,这个新的开源IDE已经在线高亮并返回编译错误。目前的IDE用起来还是比较舒服的。我们可以部署或者嵌入到其他地方,甚至可以直接通过API调用。每次调用时,只需在URL中传入标题、代码和其他各种默认配置即可。在线IDE地址:https://ide.wy-lang.org/下面是目前IDE的整体展示。其最左侧的导航栏主要分为三部分:用户代码脚本、示例脚本、第三方库列表。值得一提的是,相较于当时的十几部样书,如今正式的剧本已近50部,其中不乏“水墨画”的剧本。另外,IDE除了可以将文言代码编译成JS代码,还可以选择编译成Python或者Ruby代码。只是目前在线的IDE不支持以Python或Ruby语言为后台的文言代码的执行。整个IDE的主题、编译方式、显示方式都可以自由选择,可玩性已经很不错了。文言殷赋:官方教程是官方文言教程,势必需要懂文言才能看懂,否则就体现不出它的“优越性”。在之前的文言编程实例或讲解中,作者都??是用英文或实例来展示,描述语句比较通俗易懂。不过作为经典的官方教程,不写文言文太浪费了,于是就有了《文言陰符》,它的风格是这样的:文言文“形象地”描述了开发人员与编程语言之间的关系。文言加繁体字,真是天作之合。如果再加上一些口语化的文字,说不定我们又回到了原来的语文课。《文言陰符》一共十三个教程,从字面上看,你大概能明白这本书的主题。比如明义篇主要讲解什么是文言编程,变量篇主要介绍变量的概念和用法。总体而言,本书从基本的控制语法、数据结构、函数、第三方库等角度展示了文言编程的主要内容,进而增加了Error处理、图形、高级函数等高级内容。如果读者能看完这些官方教程,估计你的文言文水平已经超过了大部分人。这个教程真的很难,主要体现在文言文的基础上。相信很多读者都非常熟悉字典(Dict)这种数据类型,它以Key->Value的形式组织所有的数据。但在格物第十开篇,作者将字典的数据格式解释为格物。“事物”的每一个元素都有一个“名字”,或者说是一个Key,每个“名字”对应的属性值就是Value。上面类似于一本名为“白马”的字典的定义。字典中的Key是WhiteHorse的属性,对应一个属性值。老公“白马”的“名字”就是来电字典的“名字”对应的值。当然我们也可以从类和属性的角度来思考。“白马”是“物”的具体化。在实例化的过程中,我们需要给事物的各种属性赋值,实例化之后才能继续调用。教程还支持在线阅读,那种从右滑到左的,感觉有点过头了。这种教程似乎需要真正的文言文知识。文渊阁:连软件包?对于一种编程语言,第三方软件包的数量反映了社区的活跃度。想象一下,如果有NumPy或者PyTorch这样的软件包,那么说不定你可以用文言文写一个神经网络,如下图Lotayou写了一个文言文神经网络,完整代码可以在项目的Issue中找到。虽然文言编程目前没有第三方包“火炬心法”,但也阻挡不了众多DL炼金术士的热情。Lotayou写的《文言文神经网络》虽然无法编译,但是逻辑和语法非常完整。目前,第三方包管理器“文渊阁”包含以下扩展包:就像Pyhton有pip,js有npm一样,文言文也有包管理——文渊阁。虽然目前没有太多的第三方库,但是还是需要一个合理的包管理器,这样才是一个完整的编程语言。文渊阁可以直接通过npm安装。使用时,代码类似于pip或npm,只要有“wyg”、“i”(install)和包名(如“Ziyue”)即可。wygiziyuewygiZiyue以上两种都是可行的。运行后会把包下载到library/ziyue路径下。该库类似于js的node_modules。然后是导入包,和Python中的导入一样,文言编程的导入格式如下:《子越》这本书我尝到了。方悟出“子越”之意。子曰:“巧言美言,难得仁者!”。此外,您还可以发布自己的文言文编程语言包。通过这种开源模型,该语言看起来真的像是一门独立的编程语言。很难想象,两三个月后,这个项目发生了如此大的变化,变成了一个拥有15000个藏品的大项目。将文言文的传统文化与编程语言等当代工具相结合,或许是一个很好的尝试。
