草蟒(Python 中文版)3.10 公测版发布
草蟒(Python中文版)3.10公测版已于近日上线,源代码库也已在码云公开,欢迎大家试用并反馈,待收集到一定数量的反馈并做适当修改和补充后就会推出正式版。
关注草蟒的朋友们可能知道之前有一个草蟒3.8.0,此版本可以说是编程语言中文化的试水之作,已经停止更新。草蟒3.10吸取了前作的经验教训,解决了一些基本汉化问题,是两年来的探索努力和社区支持的成果,笔者打算提供长期维护和更新。
套路 问候(谁): 打印(谁, '你吃了吗?') 问候('小美') # 结果:小美 你吃了吗?
>>> 导入 日时 >>> 日时.〇日期.今日().转字符串() '周一 2022 年 3 月 21 日 00:00:00'
# 画一个五角星 从 海龟 导入 * 颜色('黄色', '红色') 开始填充() 取 i 于 范围(5): 前进(200) 右转(144) 结束填充() 完成()
关键字汉化简单说明
相比于之前的版本,Python 3.10 的关键字汉化要更简单。Python 官网提供了一个关于如何更改语法的检查清单。我们只需增加中文关键字,因此实际上只涉及一个关键步骤,如下所示(假设使用Windows 10平台,具体修改请参见源代码):
-
修改
Grammar/python.gram
和Tools/peg_generator/pegen/c_generator.py
,然后在cmd中运行build.bat --regen
,以重新生成Parser/parser.c
。
Lib/keyword.py 的重新生成可以在编译前或编译后进行,只需修改 Tools/peg_generator/pegen/keywordgen.py
,具体生成命令请参见 keyword.py 文件最开始的说明。
特殊汉字符号(〇、々、匚、爻)说明
英语编程语言中通常利用字母的大小写来区分不同类型的标识符,另外还通过加后缀(例如 s)来区分名词性概念的单复数(即区分个体与集合)。作为一门翻译过来的编程语言,草蟒借用了四个汉字来从形式和视觉上表现上述现象。
-
〇:类名以
〇
开头,对应英语中类名以大写字母开头;建议读作 ou。 -
爻:异常(包括警告)名以
爻
(视为两个 ×)开头,建议读作 cha。各种异常也是类,但如果同样以 〇 开头,那么在编辑器中输入全局类名的第一个字 〇 时,将跳出大量异常类(有 60 多个),非常影响编程体验,故对异常命名另作规定。 -
匚:全局常量名以
匚
开头,对应英语中的全大写常量名;建议读作 chang。 -
々:在需要区分个体与集合的情况下,在个体名词后加
々
表示集合对象(例如列表、字典等),对应英语中的后缀 s;建议读作 es。
使用这些汉字符号之后,标识符的汉化更加简便,不仅能顺利地继承原语言的优势,而且以极小的代价丰富了中文编程语言的语汇。为了支持这些汉字符号的输入,我们需要对输入法进行自定义设置。另外,以上规定皆为一般原则,某些情况下不排除变通处理。
以上规则不仅适用于python的汉化,也能很自然地应用于其他编程语言的汉化,示例参见笔者对go语言导出标识符的处理(如何汉化go语言)。
中文编程语言发展之路
何谓中文编程?笔者认为,主要使用中文(包括中文关键字或保留字)开发计算机程序就是中文编程。相应地,中文编程语言就是支持主要使用中文进行程序开发的计算机编程语言。
近年来,关于中文编程的讨论和实践很是热闹,B站和头条上不时能看到新推出的中文编程语言或环境。由此可见,民间对中文编程语言的呼声很高。然而,令人失望的是,大厂和学界对此需求直接无视。
要发展中文编程语言,主要有两条路:自研和汉化。自研语言的门槛非常高,需要非凡的能力、精力和/或财力,就算大厂也很难确保成功,普通人更不必考虑。汉化则不然,无论程序员还是编程爱好者,只要懂一点英语就能参与。
在等候自研中文编程语言佳音的同时,有志之士不妨投入汉化事业?

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MineAdmin v0.6.1 已经发布,权限管理后台框架
[新增] 角色验证注解,支持多角色验证和条件验证(OR,AND) [新增] 新增配置文件(config/autoload/mineadmin.php),添加是否开启数据权限配置项 [新增] 代码生成器新增Tab组件,列表可为tab页面切换数据。感谢 kikigoper 贡献的代码 [新增] 新增了下载文件接口 [变更] API接口授权的简易模式策略变更 [变更] 删除maResourceSelect资源选择器组件,改为使用scui系列组件 [变更] 代码生成器maResourceSelect变更为scui组件 [变更] 更换定时规则生成器为SCUI版 [变更] 载入common下公共函数库文件方式变更,不再使用composer.json的自动加载方式 [变更] 附件管理左侧目录管理变更为类型管理,类型可通过字典维护 [修复] 定时任务rule字段长度不够导致保存或更新失败问题 [修复] 部分页面在移动端显示异常问题 [修复] 安装系统命令数据库端口参数丢失问题,感谢Bruce-K 贡献的代码 [修复] 前端index.html提示浏览器版本过低乱码问题 [修复] 多参数注解在原生注解下...
- 下一篇
酷瓜云课堂(腾讯云)开源版 v1.5.1 发布,知识技能轻松变现
更新内容 推荐课程等列表补充属性 修正后台评价列表中的搜索链接 修正后台点播设置视频码率后500错误问题 修正多码率远程播放地址部分为空播放问题 修正更新套餐课程缓存传参数据类型问题 修正第三方登录解除绑定失败问题 使用ServiceTrait归纳获取服务代码 优化anonymous隐藏部分字符函数 调整积分兑换相关定义命名 去除js_vars中关于IM客服的配置 增加验证码开关 系统介绍 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源知识付费系统,开源在线教育系统。100%全功能开源,无加密无阉割,免费商用。 系统功能 实现了点播、直播、专栏、面授、会员、群组、积分、秒杀等,100% 真开源在线教育解决方案,可以免费商用。 托管仓库 gitee 仓库 github 仓库 意见反馈 在线反馈(推荐) 官方论坛(推荐)
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程