Zn - 面向业务的编程语言 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
demohn2016
V2EX    分享发现

Zn - 面向业务的编程语言

  •  
  •   demohn2016 2020-09-20 21:13:24 +08:00 5641 次点击
    这是一个创建于 1846 天前的主题,其中的信息可能已经有所发展或是发生改变。

    GitHub 传送门:reg0007/Zn

    写在前面

    去年入职了一家新公司,负责的是一个行业的具体业务。入职没多久便遇到了命名问题:很多业务相关的名词都是用中文表述的,翻译成对应的英文相当困难。好不容易各种翻箱倒柜找到了对应的翻译命名,结果 review 同事的代码时直接晕倒:同一个中文名词在不同人手里有着 3 种完全不同的名字!

    自此之后我便思考:业务代码说到底就是 CRUD,又不需要开源给老外看,为何不直接用中文命名呢?而目前大部分编程语言(如 Go, Python, JS 等)都是基于英文设计,直接使用中文命名必然会导致频繁地切换输入法,最终写出来的代码也不够协调;所以最后决定自己设计一门纯粹面向业务的编程语言吧!于是我就花了大约一年的时间去开发Zn

    目前 Zn 的基本语法已经实现(见后面的图),但是距离一门真正可用的语言还有一段距离,所以目测会有些 bug,还请多多详解。

    简介

    Zn 是一门 面向业务 的编程语言。

    所谓「面向业务」,即是为用户开发业务代码时提供便利,使得用户能够快速根据真实需求投射出简洁、稳定、可维护的代码。Zn 在设计之初即强调「以人为本」,希望程序能够适应真实世界的需求而不是让开发者去适应代码逻辑。

    为此,Zn 拥有以下独特的特性:

    • 采用 中文关键词及标点符号。这样再也不用为「用英文命名变量」之事发愁了。

    • 默认使用 高精度小数 作为数值并参与运算,杜绝因浮点数计算所带来的计算误差。

      这一点对开发金融应用尤为关键。显然,诸如 0.1 + 0.2 = 0.30000000000000004 这样的结果在金融应用中是无法忍受的。

    • 贴近汉语本身语法,阅读代码可以像阅读文章一样自然。

    • 关键词之间不必用空格分隔。

    Zn 语言采用 Go 开发。之所以选用它是因为它在开发效率以及运行效率间取得了平衡,而且里面内置的函数库也帮助省去了很多开发上的障碍(比如 高精度运算使用 math/big 库,里面直接使用 Go 自己的 GC 等);之后将 Zn 内嵌到已有的 Go 项目里也会变得十分简单。

    详细见 GitHub

    代码预览

    鸡兔同笼

    求解鸡兔同笼问题

    流程控制 流程控制代码:循环、遍历、如果

    方法调用

    调用方法

    面向对象的使用

    定义一个类,并调用其方法

    59 条回复    2020-09-22 11:42:48 +08:00
    6IbA2bj5ip3tK49j
        1
    6IbA2bj5ip3tK49j  
       2020-09-20 21:20:17 +08:00   11
    给你介绍 @xuanwu
    你们俩可以好好交流下。
    cmdOptionKana
        2
    cmdOptionKana  
       2020-09-20 21:55:13 +08:00
    蛮好的,但,凡是中文编程都会遇到一个尴尬的处境:已经学会编程的人(程序员)没必要学,也不乐意学中文编程。而且,其中不少人怀有复杂的(由懂编程、懂英语等多种因素揉合而成的)优越感,他们会嘲讽中文编程。

    因此建议向还未学会编程的人群推广,两个方向,一是作为入门的踏脚石,入门后改学主流编程语言;一是作为某个小领域的专用语言。
    Cu635
        3
    Cu635  
       2020-09-20 22:00:42 +08:00
    这个和锌有啥关系?
    love
        4
    love  
       2020-09-20 23:06:56 +08:00
    喜欢看这类一本正经地搞笑
    话说之前也有一个文言文版的,记不清叫啥了
    JmmBite
        5
    JmmBite  
       2020-09-20 23:15:40 +08:00
    有甲骨文版的吗
    79bxh9b
        6
    79bxh9b  
       2020-09-20 23:32:21 +08:00
    nguoidiqua
        7
    nguoidiqua  
       2020-09-21 00:41:12 +08:00   3
    每当提到中文编程,总会有人说什么适合教别人入门,我想了下,大概类似拿九章算术教别人数学入门,拿切韵教别人汉语入门一样。

    中国使用汉字数字几千年,现在没看到谁提汉字数字比阿拉伯数字容易入门。中国使用切韵学汉字发音几千年,现在没看到谁说切韵比用外国拉丁字母编成的汉语拼音更容易入门。

    更没听说谁指责使用阿拉伯数字和汉语拼音的人怀有复杂的优越感、嘲讽汉字数字和切韵。实际上从来没有人嘲笑中文编程,用中文编程或者用中文编程语言都不会有人嘲笑,谁没有民族好胜心呢。

    但要是天天高举着“中文编程优越性”的旗帜,实际上自己没用中文编程写几个程序,也没教出几个学生,只是反复到处空谈“优势”,那不被嘲笑是不可能的,大家嘲笑的不是中文编程,大家嘲笑的是“空谈”。

    如果自己扎扎实实去用,最后写出更好的程序,或者效率更高,或者成本更低,教出更多、更好水平的学生,没有人会嘲笑,大家只会佩服,到时候什么都不用说,大家自然会群起效仿。
    lostberryzz
        8
    lostberryzz  
       2020-09-21 00:56:18 +08:00
    英语比中文简单很多...
    lamany
        9
    lamany  
       2020-09-21 01:00:51 +08:00   2
    我现在面对的业务也是上百个变量,每个变量翻译起来都很麻烦。
    所以就直接的在 Python 里使用中文变量名了,数据库也是用中文字段:)
    pabupa
        10
    pabupa  
       2020-09-21 01:07:31 +08:00
    @Cu635 zh-cn ===> zn
    catror
        11
    catror  
       2020-09-21 01:31:30 +08:00 via Android
    编程语言只是一个符号系统,用英文来定义符号(关键字),明显比中文要简单明了。你想象一下写数学公式解数学题什么的全部用中文,就会明白这个道理。
    nguoidiqua
        12
    nguoidiqua  
       2020-09-21 01:36:11 +08:00
    我一向的观点就是适合用什么的适合用什么,我们拿工具是为了做事的,不是来搞工具民族主义的。

    就好像你吃饭的时候不会想番茄、番薯(红薯)、番椒(海椒、辣椒)、茄子、番石榴、番木瓜、洋葱、洋姜、洋芋(土豆)、胡瓜、胡桃、胡豆、胡椒、胡葱、胡蒜、芥兰、紫甘蓝、西葫芦、西兰花、胡萝卜、菠菜、黄瓜、莴笋、生菜、香菜、南瓜、四季豆这些是外来的,要吃本地原产食物。

    以编程为例,关键字用 if else 之类,和非要写 若 或者 如果 假如 ruo huo 有蛮大区别吗?简单了吗?一定要中文才行吗?

    像变量名、函数名、类名之类,如果不考虑国际化,有些用汉字或者拼音确实更方便,这个候当然要用汉字或者拼音,但是像 i j x y z id by to set get run 也要中文化吗?更方便吗?

    不见得。当然,想要纯粹中文化的心情是可以理解的,但强说纯中文更有优势就有点扯了。
    chinvo
        13
    chinvo  
       2020-09-21 01:37:06 +08:00   2
    业务逻辑需要的不是中文编程, 而是 BDD
    yuzo555
        14
    yuzo555  
       2020-09-21 01:50:46 +08:00
    你这个方向有前景,但是重点应该是自然语言处理,而不是生硬地要求用户用你给出的关键词写八股文。
    GG668v26Fd55CP5W
        15
    GG668v26Fd55CP5W  
       2020-09-21 03:54:05 +08:00 via iPhone
    这跟业务关系好像没多大啊?…
    xuanwu
        16
    xuanwu  
       2020-09-21 04:35:37 +08:00
    @xgfan 多谢,可惜好像 v2 不会提醒被别人 @ ?

    to 楼主:建议先从自己开始在项目内特别业务相关的部分用中文命名( go 也支持吧),关于切换中英问题,用输入法选项“中文下使用英文标点”、再用“中文代码快速补全”vsc 插件或者 JB 系列类似插件 ChinesePinyin-CodeCompletionHelper 可以部分解决。

    个人建议:既然 zn 还未达到实用程度,先在项目里用起中文命名来得到点立竿见影效果为好。毕竟读代码时间远超过写的,算下来还是很值得。

    关于 zn,可否发介绍文章到知乎?希望可以收入中文编程专栏。最近也有其他一些中文编程工具出现,不妨一同交流一下。
    number
        17
    number  
       2020-09-21 07:30:16 +08:00 via Android
    如果能完成自举就更棒了
    ClarkAbe
        18
    ClarkAbe  
       2020-09-21 07:56:51 +08:00 via iPhone   1
    这代码看着好累,可读性极差
    demohn2016
        19
    demohn2016  
    OP
       2020-09-21 08:03:47 +08:00 via iPhone
    @yuzo555 其实编程语言从某种意义上讲就是八股文:通过约定某种特定的语法让计算机完成特定的事情。自然语言由于其多义性天然就和编程语言所需要的高效性相矛盾。
    cmdOptionKana
        20
    cmdOptionKana  
       2020-09-21 08:07:25 +08:00   6
    @nguoidiqua 楼主已经把语言做出来了(虽然只是起步阶段),花了很多时间精力,你说楼主是空谈?

    你的最后一段话 “最后写出更好的程序,或者效率更高,或者成本更低,教出更多、更好水平的学生,没有人会嘲笑,大家只会佩服,到时候什么都不用说,大家自然会群起效仿”

    意思是:等你成功了,大家就会支持你。现在大家嘲笑你,不是嘲笑别的,只是嘲笑你没有成功。

    就这,还好意思说 “实际上从来没有人嘲笑中文编程” ?

    已经有国人开了个好头,你不参与进去就算了,还说人家是空谈。说人家是空谈就算了,还说现在说你空谈是鞭策你等你成功了我就加入你。就这,好意思说 “有民族好胜心”?

    另外你说人家天天高举着中文编程优越性的旗帜,就更搞笑了,楼主很明显只是用中文辅助业务,起一个 “有点帮助” 的作用,没有“高举着中文编程优越性的旗帜”。在你楼上的评论也没有人把中文编程说得有多好多好,更没有人说民族好胜心。
    Rxianbei
        21
    Rxianbei  
       2020-09-21 08:38:47 +08:00 via Android
    @cmdOptionKana 是的,我觉得楼主这样的精神特别值得学习,不空谈概念,不反智反常识。就是默默的去做这件事。并且已经有了一个超过 demo 水平的产物。
    另外强调,中文只是语言的载体。zn 业务的基础和亮点是面向业务的语言,而非中文。
    missdeer
        22
    missdeer  
       2020-09-21 08:45:49 +08:00
    真心觉得这个有点 6
    victor
        23
    victor  
       2020-09-21 08:56:51 +08:00
    @ClarkAbe 因为没有空格做视觉上的分割,所以我们看着很累,可读性差。
    CrazyMoon
        24
    CrazyMoon  
       2020-09-21 09:16:19 +08:00   2
    @cmdOptionKana 这些天天嘲笑中文编程的人,所竖起的靶子其实正是他们自己。就因为行业传统上使用英文编程,所以“祖宗之法不可废”,怎么能用其它语言写程序呢。而把自说自话地中文看成“民族主义”的做法,恰又证明了他们自己内心深深的西方中心观,凡是有一点违逆了西方中心的举动,哪怕只是为了服务现实业务,也都是“可悲的民族主义”。。
    demohn2016
        25
    demohn2016  
    OP
       2020-09-21 09:19:24 +08:00 via iPhone
    @victor 空格可以自己加的,这里演示表明不用空格也能正常工作
    948936595
        26
    948936595  
       2020-09-21 09:23:14 +08:00
    中文编程好,只要好用,我肯定用,我又不想专业编程,有各种哇
    948936595
        27
    948936595  
       2020-09-21 09:24:32 +08:00
    学起来简单,使用方便,作为业务后盾
    wy7305e
        28
    wy7305e  
       2020-09-21 09:26:20 +08:00 via Android
    下一步是摆脱阿拉伯数字
    robinchina
        29
    robinchina  
       2020-09-21 09:34:38 +08:00
    有点文言文的感觉,如果能按现在的语法,只是对应单词换中文,可能会好读一点
    demohn2016
        30
    demohn2016  
    OP
       2020-09-21 09:48:13 +08:00 via iPhone   1
    @wy7305e 没计划,也没必要
    yy77
        31
    yy77  
       2020-09-21 10:03:20 +08:00
    其实保留字和语法可以留着英语,只要变量能够开放使用中文(主流语言应该都支持 utf8 了),那就是很大的进步了。其他变化就有点鸡肋了。
    比如直接使用“鸡总脚数”,可读性应该好过“Sum_Of_Legs_Chicken”,尤其是大家的英语水平参差不齐的情况下。
    如楼主所述,如果有约定的中文名,比如“年度集团销售总额”之类的,直接用就行。
    wysnylc
        32
    wysnylc  
       2020-09-21 10:05:32 +08:00
    中文关键字和中文命名是两码事,前者代表中文化编程后者现在的任何支持 utf-8 以上的都支持
    xz410236056
        33
    xz410236056  
       2020-09-21 10:13:33 +08:00
    @cmdOptionKana 计算机语言本质是符号语言,就现在那批语言,从变量到方法都可以搞成中文,但是有意义吗,除了打字的时候多打几个按键。搞语言不搞解释器这不耍流氓吗。
    “Zn 语言采用 Go 开发。”看到这就没兴趣了
    tuchg
        34
    tuchg  
       2020-09-21 10:25:08 +08:00 via Android
    其他不说,这种语法结构挺舒服的(ps:把现代汉语关键字换文言可能更合适,可以更简洁可能更舒服,也能减少费力的输入),楼主最初的出发点其实开发一个插件就可以解决
    Chingim
        35
    Chingim  
       2020-09-21 10:26:08 +08:00
    Wenyan:

    吾有一。曰三。名之曰「甲」。
    是「甲」遍。
    吾有一言。曰「「天地好在。」」。之。
    云云。
    Equivalent Javascript:

    var n = 3;
    for (var i = 0; i < n; i++) {
    console.log("天地好在。");
    }
    Output:

    天地好在。
    天地好在。
    天地好在。





    https://github.com/wenyan-lang/wenyan
    35aZ4P8mT576683q
        36
    35aZ4P8mT576683q  
       2020-09-21 10:28:42 +08:00 via Android
    @Chingim Python 可以更简单,用 range 2 行就完了
    nguoidiqua
        37
    nguoidiqua  
       2020-09-21 10:37:45 +08:00
    @cmdOptionKana

    我没有说楼主空谈。

    我是说你和那个 xuanwu 空谈,整天空谈“更适合国人”,“更容易入门”。那么请问用中文编程效率提高了吗?有对比数据吗?教别人更容易入门吗?有对照试验吗?写出什么好程序了吗?有案例吗?不拿事实说话,整天网上论优势,有意义吗?

    大家嘲笑的是这种空谈行为本身,和成功不成功毫无关系,请不要曲解别人的意思。如果扎扎实实去实践,用实践说话,不管成功还是失败,都是令人敬佩的。
    lucybenz
        38
    lucybenz  
       2020-09-21 10:46:50 +08:00
    个人觉得楼主的需求解决方案应该是:变量名使用 [ 前缀 + unicode 编码] 来规范一致性,然后通过 IDE 插件实现开发过程中的变量 中文预览 或 中文注释
    nguoidiqua
        39
    nguoidiqua  
       2020-09-21 10:48:41 +08:00   1
    @CrazyMoon

    扪心自问,搞中文编程真的和民族主义没关系吗?

    别自欺欺人好吗?我十多年前也搞过易语言,我那时候年轻,我就是很民族主义,我现在也还很民族主义,我坦坦荡荡承认我就是出于民族自尊心去搞的,我不遮遮掩掩说什么有优势,我就是愤青。

    但我就算很民族主义,我也是实事求是的民族主义,我不会因为我希望中文编程发扬光大就自欺欺人的谈优势,就自欺欺人的掩盖自己出于民族主义搞中文编程的事实,就自欺欺人的去指责别人“嘲笑中文”“迂腐守旧”“西方中心观”。

    我很民族主义,我特别支持中文编程,但我非常讨厌自欺欺人不敢坦诚自己心态的那些民族主义分子。

    我很支持中文编程,但我非常讨厌盲目谈“优势”的人,因为太虚伪了。
    l00t
        40
    l00t  
       2020-09-21 11:05:57 +08:00
    “默认使用 高精度小数 作为数值并参与运算,杜绝因浮点数计算所带来的计算误差。"



    你的高精度小数是什么东西?定点数?

    其实浮点数这点误差没什么关系……单精度的话倒是可能确实不够用。双精度基本上够用了。
    nguoidiqua
        41
    nguoidiqua  
       2020-09-21 11:09:56 +08:00
    那个 xuanwu,我印象中,大概五六年前就在知乎看到过了,当时他就大谈优势了,我当时也问了他上面几个问题,到现在也没看他给出答案。

    这么多年过去,他总是用一个台湾人拿 Python 混合中文命名写的几个小脚本举例,而且这都不是他自己写的。

    喜欢一个东西,不管有没有优势有没有特别好处,不管出于什么心态,都可以去搞,这是个人自由。但你既然要宣扬什么优势,难道别人不能提出反对看法了?一旦别人提出反对看法,一个“西方中心”的帽子就盖上去了,这行么?
    demohn2016
        42
    demohn2016  
    OP
       2020-09-21 11:11:55 +08:00
    @l00t 是的,没有使用浮点数。
    类似于 Python 的 decimal 库 https://docs.python.org/3.8/library/decimal.html
    demohn2016
        43
    demohn2016  
    OP
       2020-09-21 11:13:47 +08:00
    @l00t 只要有浮点数就会有误差,这里主要考虑到在金融领域计算金额时要求准确。
    cmdOptionKana
        44
    cmdOptionKana  
       2020-09-21 11:16:01 +08:00
    @nguoidiqua

    我是空谈,但我空谈的内容主要不是批评、批判别人,而是轻度鼓励一下别人。

    你的空谈程度和我是一样的,但你空谈的内容主要是批评、批判别人。

    其实论坛发言,空谈很正常,我从未开贴鼓吹中文编程,只是在有人作出这方面的努力时说几句鼓励的话而已。你我都在论坛划水,如果你评判楼主,还算切题,如果你忽然对围观群众说 “你怎么在划水”,这…… 我看来至少是跑题了。
    tuchg
        45
    tuchg  
       2020-09-21 11:17:36 +08:00 via Android
    @Chingim 这个出发点就不是实用,没楼主这套实用
    l00t
        46
    l00t  
       2020-09-21 11:18:40 +08:00
    @demohn2016 #43 不要求的…… 保留到指定小数点位就行了。准确是不可能准确的。误差不仅来自浮点数,也来自数字本身。随便乘个利率什么的,都会出现一大串小数,这时候都得取整到指定小数点位。浮点数也只需要保证指定小数点位的准确就可以了。
    jedihy
        47
    jedihy  
       2020-09-21 11:18:55 +08:00 via iPhone
    比英语门槛还高
    nguoidiqua
        48
    nguoidiqua  
       2020-09-21 11:20:16 +08:00
    实际上真正去实践,很容易发现一个情况:

    中文少的时候,中文变量名、函数名很醒目,相当于点睛效果,确实很方便。但是随着中文比例加高,分辨就越来越难了。

    所以实践下来,汉字、拼音、英文结合起来用才是最合适的,实际上工作中很多人都是这样灵活使用的。

    如果适合用英文的时候非要中文,或者适合中文的时候非要一长串英文,那都是很扯淡的。
    nguoidiqua
        49
    nguoidiqua  
       2020-09-21 11:38:07 +08:00
    @cmdOptionKana

    我不评判楼主,楼主只是做了个事情,没有表达什么观点,没有什么可以评判的。东西我也没用,也不打算去用,既然如此,我不可能去批判这个编程语言。

    空谈是很正常,别人嘲笑这是空谈难道不正常?

    至于我发帖的原因,因为你帖子先说别人“优越感”。而且,我开始没有批评别人吧,我只是反驳了“优越感”和“嘲笑中文编程”的这个观点,说明大家嘲笑的其实是“空谈”。

    然后我鼓励大家去实践,扎扎实实用出成果,用事实说话,这个也不算批评别人吧?

    后面有人“祖宗”“西方中心观”的帽子都盖出来了,我说下自欺欺人、虚伪不算很过分吧?
    mdesi
        50
    mdesi  
       2020-09-21 11:43:15 +08:00
    支持,大佬加油,不过代码看着确实可读性不是特别好
    icyalala
        51
    icyalala  
       2020-09-21 11:44:41 +08:00
    好!很有精神!
    demohn2016
        52
    demohn2016  
    OP
       2020-09-21 12:48:07 +08:00 via iPhone
    @nguoidiqua 认同第一句,其实我无意推广中文编程( i.e. 把中文当作是编程的目的而不是解决问题的手段)只是想在实际应用中解决问题。

    事实上对于前述的 i,j,k,m,n , Zn 完全可以用单个英文字母表示:比如 ‘以 K,V 遍历数组’ 这样。非得追求全中文变量名(诸如 甲乙丙丁)除了给自己添堵之外没有任何好处。

    Zn 更想解决业务相关的变量命名问题:比如 ‘function getPrizeReissueCensorList’ 和 ‘如何获取人工发奖审核列表?‘ 相比 显然后者对于母语是中文的人来说更加容易理解。
    winglight2016
        53
    winglight2016  
       2020-09-21 12:50:32 +08:00
    7 楼讲得挺明白了,但是很多人不愿意动脑筋思考一下,哪怕是做一下 SWOT 就能知道“中文编程语言有没有用”和“面向业务的编程语言有没有用”的答案。结果很明显,有用,但是和弊端比较,并没什么优势。

    另外,我很好奇 lz 怎么从“解决面向业务( CRUD )编程”走到了“发明中文编程语言”这一步的?只是命名困难、不规范这种问题,应该有更便捷的解决方案呀20 年前 SRS 模板里就有术语表 /Glossary 这一块内容了,后期维护一下也不是什么难事儿呀。毕竟,就算你用了中文编程,程序员还不是照样可以乱起变量名?
    demohn2016
        54
    demohn2016  
    OP
       2020-09-21 13:03:55 +08:00
    @winglight2016 Glossary 这玩意对于专门的 **名词** 很有用,比如将 `行情卡` 厘定为 `QutCard` ,因为这些都是有稽可循的;而对于动词效果就大打折扣了我曾经见过对于同一个 “审核” ,在不同的业务里称为 `audit`, `check`, `review` 甚至 `censor` 都有... 尤其是 `censor`, 简直是拿 google translator 随手一查查出来的。

    其实对于命名问题有两大方案:一是大家英文水平都提高(雅思 6.5 起步 LOL );二是干脆全用中文。lz 只是想尝试下第二条路可不可行 TAT
    fuxkcsdn
        55
    fuxkcsdn  
       2020-09-21 15:35:22 +08:00
    不知道没有编程基础的人看起来如何
    反正我看上面的示例感觉比看英文还吃力
    chenluo0429
        56
    chenluo0429  
       2020-09-21 17:26:50 +08:00
    和 wenyanlang 一样,蛮有意思的。
    没了解过语法和编译器相关的设计,请教一下,关键字和变量名之间没有分割,这样如果变量名中包含了关键字(比如“令”),会不会分词错误导致编译错误,或者结果和预期不一致?
    还有令,为,之这些关键字很多都是偏文言的习惯用词,现在很少这么说,会不会导致新手入门理解困难?可不可以换成更加通俗一点的词作为关键字?
    winglight2016
        57
    winglight2016  
       2020-09-21 18:48:46 +08:00
    @demohn2016 我觉得,如果考虑到 programming language 的本质其实是不同于中文或英文的一种“严格定义”的语言,那么这种编程语言本身(关键字等)是不需要中文化的。至于你说的变量、类名、方法名的统一问题,我同样理解为一种“遵守约定”的能力,并不需要英语 6 级,需要的是项目管理能力,btw,如果真的想英语流利使用,6 级远远不够。最后,VB 就支持中文的变量、类名、方法名,20 年前我就见过这种风格的 HIS,并不需要额外的发明一门新的“编程语言”。
    demohn2016
        58
    demohn2016  
    OP
       2020-09-21 19:04:54 +08:00 via iPhone
    @chenluo0429 会,所以解决办法就是在变量前后各加一个间隔号,就像这样: 将军令

    至于 为,之 等关键词这个确实可以商榷,这里选用偏文言的词汇主要是希望代码写出来更加书面一些,而且 “之” 要比“的” 适用范围更广一些(存粹是语感的角度)
    msaionyc
        59
    msaionyc  
       2020-09-22 11:42:48 +08:00
    语言名也别叫 Zn 了,直接叫锌,或者叫 xx 语言( xx 为汉字),去英文就去的彻底一点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5221 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 09:24 PVG 17:24 LAX 02:24 JFK 05:24
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86