要闻分享| 关注中国| 逆耳忠言| 不平则鸣| 情感天空| 健康生活| 流行时尚| 保险理财| 讽刺幽默| IT与游戏| 信息交流| 华发移民| 华发工作| 摄影美图

社会聚焦| 旅游天地| 娱乐八卦| 音乐视频| 校友互动| 网络社区| 房屋安家| 教育培训| 中医瑰宝| 专栏作者| 科技文化| 华发留学| 华发红娘| 关于本站

华发网China168.info海外中文门户网站

 找回密码
 立即注册

扫一扫,访问微社区

查看: 340|回复: 0

还能用中文写代码?东北话:我先来整一个

[复制链接]
发表于 2021-5-29 10:59:01 | 显示全部楼层 |阅读模式
" 会 Python 的人,工作都不会太差 "。同事都在学编程,而我依旧卡在了英语这一关……面对满屏连不成句子的英文字,我就想问一问发明编程的人:fine,thank you,and you? " 好优美的中国话 " 在编程届可以拥有姓名吗?



满屏英文丨《Linux 内核代码情景分析》
说真的, " 从入门到放弃 " 的队伍里应该有不少人是被这密密麻麻的字母劝退的。想比数的大小,都得写好几行代码,直接输入 "a 和 b 谁更大 " 不好吗?
等等……中文编程还真行,更贴心的东北话、上海话甚至是文言文编程都有了,那接下来是入门还是放弃,就得看你自己了!
东北话编程:我先来整一个
GitHub 上有一个名为 "dongbei" 的项目,由用户 zhanyong-wang 开发。



东北话编程教程丨 zhanyong-wan/dongbei/GitHub
东北话编程把编程里的英文全部替换成了东北话,唠唠 =print,没毛病 =true,整完了 =end ……
举个例子,如果你想用常规的编程语言在屏幕上输出一句话,以前得在编程软件里写成 print ( " 编程可真难!" ) ,这要是换成东北话编程,直接写成 唠唠:" 编程可真难!"
再举个例子。如果想设置一个 x,你在东北话编程里可以把 x 叫成老王," 老王走四步 " 就表示 x+4," 老王稍五步 " 则表示 x-5。



再比如想比两个数的大小,x 叫老王,y 叫老张。谁更大就输出 " 某某比较厉害 ",相等就输出 " 一样厉害 "。写成程序就是表格的左边:



看,我用上毕生所学的东北话知识,总算是学废了一点 dongbei。
既然是东北话编程,那不得整个东北特色小程序?想来想去我整了个计算猪肉炖粉条所需食材数目的小程序:
假设有一家菜单里只有猪肉炖粉条的饭店,店主需要根据顾客人数和食量准备食材。让我们来品味一下这种沙雕(亲切)的程序。



整点猪又炖粉条丨作者供图



程序的代码也是真 · 东北话代码丨作者供图
" 装 " 表示把后面的内容赋值给前面,相当于 "=";
" 整 " 则代表运行,比如 " 咋整 " 下面就定义了 " 吃多少 " 这个部分是如何运行的," 整完了 " 就代表运行完了;
判断两者是否相等变成了 " 寻思 xxx 跟 xxx 一样一样的?";
用 " 要行嘞就 / 要不行嘞就…… " 来判断不同的条件;
如果你会一点编程,看到这似曾相识的格式,是不是想拍案而起——这不就是 Python 嘛!没错,dongbei 正是基于 Python3 开发的,你甚至可以尝试把它反推成英文。
基于这个思路,各地的方言都有机会加入 " 中文编程 " 的版图中来。这不,紧接着还有人开发了基于上海方言词汇的编程语言



侬上海言话讲得来伐?丨 cabuliwallah/shanghai-from-dongbei/GitHub
上面的编程方式虽然用的是中文,但整个语法基于英文编程,看起来还是令人费解。19 年发布的文言文编程项目 " 文言 / wenyan lang" 更进一步,让编程看起来真的像古文了。
文言文编程:吾有一术





左边用文言文编程表述 5+3=8,右边是输出斐波那契数列的示例
(←向左滑动)丨 wenyan-lang/wenyan/GitHub
相比直接的关键词替换,文言文编程的书写更接近自然语言。同样的 1+2,既可以写 " 加二於一 ",也可以写 " 加一以二 ",这两种写法都会被识别,并通过通过 NLP(自然语言处理)的算法,翻译成 JavaScript 和 Python。



文言语言编程入门教程。这还得考文言文能力丨 wy-lang
目前,该项目在 GitHub 上获得 17k 星星——要知道在 4 亿个仓库里只有不到 800 个有此殊荣。文言文编程项目不仅有了更全面的配套工具(被命名为 " 文渊阁 " 开发环境和包管理器),还有了详细的官方教程——当然也是文言文版的。可以说这个文言文编程项目已经非常完善了。
如此看来,中文编程大有前途?
中文编程:请叫我古董
早期国内的英文教育并不是特别普及,而学习编程的过程涉及到很多资料与技术文档——这些大多都是英文的,有些人就想着:不如把整个编程都给汉化,这样学起来、用起来,都更方便。后来出现了以 " 易语言 " 为代表的中文编程工具。



00 年前的中文编程丨中国知网截图



中文编程甚至有过专门的图书教程丨《中文编程从入门到精通》
其实," 本土化编程语言 " 不止在中国被提出了。通过关键词替换等方法,人们可以将编程里的文字替换成中文、俄文甚至是 Emoji



Emoji 编程丨 EmojiCode.org
既然群众呼声这么高、实践这么早,为什么本土化的编程语言仍然不是主流呢?
程序语言的本质不是任何自然语言:不是中文也不是英语。它是根据特定语法规则拼起来一堆符号,更像人造的语言。编程用的是 Java、C 语言或者 Python,都是这种 " 人造语言 ",只不过它们所使用的 " 符号 " 恰好是英文单词。
机器也没法直接看懂这些这些 " 人造语言 ",这时就需要编译器了。它会像翻译员一样,将人类所写的最接近自然语言的高级编程语言,一层层 " 翻译 " 到低级的机器语言,直到二进制编码—— 0 和 1。



左边是我们写的代码,经过一步步 " 翻译 " 最终成右边机器可以识别的二进制码丨 codeforwin
现在通用的编程语言,只是恰好用英语单词作为符号。那用汉字来表示这些符号,也就是用中文编程,不是也挺好吗?
的确可以,但或许没有必要。
非英语编程的壁垒之一在于,底层的语言被英语世界占领——接近硬件层面的语言,用的符号还是英语单词。这就意味着,如果将中文作为接口搭载在主流编程语言上,会多一次 " 将汉字翻译成英文字 " 的过程,增加了机器处理的时间,牺牲了效率。
同时,如果直接使用中文作为编程符号,会降低世界范围内的通用性。毕竟,编程语言不只是关键字,更包括第三方库、学习材料等技术生态。如果你用中文版我用英文版,交流起来恐怕是鸡同鸭讲。
总而言之,虽然以英文字为基础的编程语言学起来要花时间,但综合权衡效率和难易度,程序员还是更倾向于使用主流语言。
这么说来,中文编程只能用来娱乐?倒也不是。中文编程可以让想了解编程的人了解基础的编程思路,还可以用于培养编程思维。针对孩子的编程语言 scratch,甚至没有一个单词。



Scratch 图形化编程,只需要拖拽各个模块就可以让右边的猫猫做出特定的动作,这种编程更像是学习流程图丨 Wikimedia Commons
如果把 " 实用 " 换成 " 有趣 " 来看这个问题的话,中文编程确实给大家提供了一些新鲜的角度,或许也吸引了一批人加入了编程的行列啊!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|联系我们|用户须知|小黑屋|法律申明|隐私通告|华发网海外版china168.info

GMT-6, 2024-11-25 08:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表